一、选择题
1. 以下关于C 语言的叙述中正确的是( )。
A.C 语言中的注释不可以夹在变量名或关键字的中间 B.C 语言中的变量可以在使用之前的任何位置进行定义
C. 在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D.C 语言的数值常量中夹带空格不影响常量值的正确表示 答:B
【解析】A 项错误,C 语言中,程序中的注释可以出现在程序中任何合适的地方,为了方便程序理解,一般不建议写在变量名或关键字的中间;C 项错误,在C 语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”来说,两侧的运算符类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换为ASCII 值进行运算;D 项错误,C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误。
2. 有以下程序:
程序的运行结果是( )。
D.ab 答:C
【解析】函数fun 中有两个while 循环,第一个while 循环语句查找第一个非字符;第二个while 循环语句将a 所指向的字符赋值给b ,这个循环的作用是将a 中第一个非的后的字符都复制到b 中。整个函数fun 的功能时将a 字符串中讲第一个非的字符开始的字符赋值给b 。
3. 有以下程序:
程序运行后输出的结果是( )。 A.12, -3, 0, 0 B.-3, -1, 1, 3 C.0, 1, 2, 3
D.-3,-3,-3,-3 答:B
【解析】在函数参数传递时,一维数组和二维数组都是以指针的形式。函数fun 的作用是通过二维数组a 来 给数组b 赋值,元素(从倒数0个开始)。所以,
4. 设有n 个数按从大到小的顺序存放在数组x 中,以下能使这n 个数在x 数组中的顺序变为从小到大的是( )。
表示a 上对角线元素,
表示a 中第i 行倒数第i 个
答:A
【解析】本题使用for 循环实现数组元素首尾倒置。A 项中控制变量上限为n/2, 用变量t 实现数组下标值i 与
的元素交换,使数组元素首尾倒置,从而实现从小到大排列,A 项正确。B
项控制变量上限为m 用变量t 实现数组下标值i 与n-i-1的元素交换,当i=n/2时,已经实现数组首尾倒置,而继续运行至i=n,将再次将新的数组首尾倒置,与原数组相比没有发生变化,依然是从大到小排列,B 项错误。C 项数组越界,i=0时x[n+ll不存在,C 项错误。D 项控制变量每次加2, 实现数组偶数下标值的元素首尾倒置,奇数下标值元素不变,不能实现整个数组从小到大排列,
D 项错误。
5. 有以下程序:
程序运行后的输出结果是( )。 A.1, 12,13,4,15, B.10,9, 8,7,6, C.1, 7, 13, 9, 15, D.10, 12, 8, 4,6, 答:A
【解析】fun ( )函数功能是:对数组中,下标对3求余为0的元素减去5, 下标对3求余不为0的元素累加5, 所以执行完fun ( )函数后,数组c 中元素值为1,12, 13, 4, 15, 答案为A 选项。
6 若有定义语句.
A. 1
B.
C.
D. 答:B
,
则错误引用x 数组元素的是( )。
【解析】对一维数组元素可以采用多种方式。直接引用,数组名[下标],数组的大小为n 时,B 项错误,下标的取值范围为0〜(n_l)。数组x 的下标为0〜4, 项,通过指针访问
7. 有以下函数:
A 项,溢出。通过指针访问C
D 项,通过数组名访问