一、选择题
1. 以下不能将s 所指字符串正确复制到t 所指存储空间的是( )。
A. B. C. D.
答:C
【解析】C 项,能够实现将s 中除了字符串结束标志的字符以外的所有字符复制到t 中,字符串t 是不完整的。
2. 有以下程序:
运行时,若输入123450,则输出结果是( )。
A.6566456
B.66656
C.66666
D.6666656
答:A
【解析】输入1:执行easel ,输出6,没有遇到break ,继续执行case2,输出5,遇到break ,跳出;
输入2:执行case2,输出6,遇到break ,跳出;
输入3:执行case3,输出6,没有遇到break ,执行default ,输出4;
输入4:执行default ,输出5;
输入5:执行default ,输出6。
最后输出结果是6566456。
3. 如有表达式
A.w==l
B.w==0
c.
D.
答:D 则其中与w 等价的表达式是( )。
【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。此条件表达式的形式为?:, 当表达式1的值为真,即为非零时,求出表达式2的值作为结果;当表达式1的值为假,求出表达式3的值作为结果。可见表达式W
,不为1时返回(++y)等价于W!=0。A 项,w==l表示当w 的结果为1是返回(-X )。
4. 有以下程序:
程序的运行结果是( )。
A.0
B.9
C.6
D.8
答:C
【解析】函数f 是递归函数,递归的终止条件是X 为1或2。返回值为3,即
5. 有以下程序:
程序运行后的输出结果是( )。
A.A
B.a
C.H
D.h
当时所以
答:D
【解析】首先将H 赋给变量a ,问号前一个表达式成立,问号后面减去一个大写字母A 再加上小写字母a 实际是将原来的大写字母转换成小写字母,即H 转换成h ,再将结果赋给a 。
6. 以下叙述中正确的是( )。
A.C 程序的基本组成单位是语句
B.C 程序中的每一行只能写一条语句
C. 简单C 语句必须以分号结束
D.C 语言必须在一行内写完
答:C
【解析】C 程序的基本组成单位是函数,A 项错误;C 程序以分号作为每个语句结尾,一行能写多条语句, 也可以将一条语句分几行书写,BD 两项错误;而简单C 语言语句必须以分号结束,所以C 项正确。
7. 有如下程序:
程序运行后的输出结果是( )。
A.12
B.14
C.20
D.13
答:C
【解析】整型常量中,十进制整常量没有前缀,输出格式控制符为
为前缀,输出格式控制符为十六进制整常量以或八进制整常量以0作十六作为前缀,输出格式控制符为进制数表示成十进制数为19,以十进制格式输出故C 项正确。
8. 以下程序中函数f 的功能是:当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。