一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.tuv
B. 字符t 的ASCII 码值 C.t
D. 出错 答:C 【解析】表示。
2. 以下能正确进行字符串赋值的语句组是( )。
A. B. C. D. 答:A
【解析】一个字符串包括字符部分和字符串结束标志。将字符指针变量初始化为一个字符串有两种方式,① 通过赋值运算使一个字符指针指向一个字符串常量:一个字符指针变量,并且初始化为一个字符串的首地址:
②定义
A 项正确。B 项定义一
的优先级高于
因此先对s 取内容,然后将s 中的内容加2。
是
个字符数组并为其赋初值,因为没有字符串结束标志,所以字符数组不是一个字符串,B 项错误。C 项定义字符数组,长度为3, 用字符串“abc”初始化,但是字符串的结束标志由于数组长度不够并未放入数组,所以数组不是一个完整的字符串,C 项错误。D 项正确 定义了数组,长度为4, 但是不能用这样的形式
3. 有以下程序
第 2 页,共 33 页
为数组赋值,需要按照元素赋值,D 项错误。
程序的运行结果是( )。 A.345678 B.876543 C.1098765 D.321678 答:D
【解析】函数fun 的作用是交换
对其修改,在函数外部也会发生作用。互换,执行完成后,数组k 变成
4. 有以下程序:
程序运行的结果是( )。 A.3456787 B.876543 C.1098765 D.321678 答:D
【解析】由于数组名本身是一个地址,所以在用数组名作为实参传递时,对应的形参相当于一个指针变量,在函数中可以通过指针变量来引用数组元素,从而改变元素的值。本题中函数fun 的作用是将数组A 的前n 个元素进 行逆转,变为
5. 设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是( )。 A.++k B.k+=l
第 3 页,共 33 页
与的值,数组是以指针的形式传递的,在函数内部的作用是把数组k 中的
,把
到
和,
互换,
和
输出,得到321678。
的结果是数组k 的前五个元素
逆转后,输出数组中第3个至第8个元素。
C.k++ D.k+1 答:C
【解析】k++表达式值为k 的值,其余为k+1的值。
6. 下面是有关C 语言字符数组的描述,其中错误的是( )。
A. 不可以用赋值语句给字符数组名赋字符串 B. 可以用输入语句把字符串整体输入给字符数组 C. 字符数组中的内容不一定是字符串 D. 字符数组只能存放字符串 答:D
【解析】字符数组是可以用来存放字符或者字符串的。
7. 有如下程序:
程序运行后的输出结果是( )。 A.8, 0 B.4, 0 C.4, 1 D.8, 1 答:A 【解析】
右移运算符,按位右移运算规则是将一个操作数先转换成二进制数,然后将二
进制数各位右移若干位,移出的低位舍弃,并在高位补位。若为无符号数,右移时左边高位移入0。a=8=01000, 执行后,a=000l0=2, b=2%2=0, 输出a ,b 为8,0,故A 项正确。
8. 若变量均己正确定义并赋值,以下合法的c 语言赋值语句是( )。
A.x=y==5; B.x=n%2.5; C.x+n=i; D.x=5=4+l;
答:A
【解析】A 项正确,y==5返回0或者1,然后赋值给x 。B 项错误,浮点数不能参与模运算;C 项错误,x+n是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。
第 4 页,共 33 页