一、选择题
1. 执行以下程序段后,S 的值为( )。
A.13
B.16
C.17
D.45
答:B
【解析】
2. 表达式:
A.4
B.0
C.3
D.5
答:C 【解析】
3. 有以下函数
以下关于aaa 函数功能叙述正确的是( )。
A. 求字符串S 的长度
B. 比较两个串的大小
C. 将串s 复制到串t
D. 求字符串8所占字节数
答:A
【解析】aaa ( )函数中,首先定义了一个字符指针t 指向形参s ,然后通过一个while 循环让指针t 不断递 增,直到t 指向字符串结束标志处。当t 指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,此 时t 指向字符串结束符
语句让它回到结束标志处。最后返回
束符,故返回值为字符串的长度值。
第 2 页,共 35 页 的作用是访问数组a 中下标为k
的元素。 的值是( )。 k=0时
,值为4, 值为1,相减值为3。 后面一个单元,所以接下来的因为s 还是指向字符串第1个字符处,而t 指向字符串结
4. 以下选项中,合法的一组C 语言数值常量是( )。
答:A
【解析】A 项,C 语言中小数必须要有小数点,但是小数部分可以省略,12. 是合法的常量;C 语言中十六进制数以或开头,表示是指十六进制数在C 语言中,或后跟一个整数来表示以10为底的幂数,面的数字只能在0~7之间。C 项,B 项,028表示的是八进制,以0开头,0后e 后面只能跟整数,Oabc 表示八进制,0后面的数字只能在0~7之间;D 项,10, 000中不能有逗号。
5. 设有定义:以下表达式值不等于12的是( )。
答:D
【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型 相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D 选项逻辑表 达式
逗号表达式X ,y 取y 值为表达式值,然后赋值给
取y 值为表达式值,然后赋值给
式值12。故选择D 选项。
6. 有以下程序:
程序运行后的输出结果是( )。
A.3
B.2
C.1
D.0
第 3 页,共 35 页 不成立,则表达式值为0。B 选项取y 值为表达表达式值为12。C 选项逗号表达式表达式值为12。A 选项逗号表达式
答:D
【解析】C 语言的语法规定:else 子句总是与前面最近的不带else 的if 相结合,与书写格式无关。可以写成下面的形式:
)即判定为false ,y 值不发生变化,然后else 判定x==0,仍然为false ,不执行else 语句,y 值不发生变化。
7. 有如下程序:
程序运行后的输出结果是( )。
A.A45D78
B.ABC678
C.34CD78
D.34AB78
答:A
【解析】本题执行过程为:if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,
条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。
8. 设有定义:
则以下赋值语句中正确的是( )。
A.s[0]=m[l];
第 4 页,共 35 页