一、选择题
1. 以下合法的转义字符是( )。
A. B. C. D. 答:D
【解析】表示1到2位十六进制所代表的字符,D 项正确。
2. 若要求从键盘读入含有空格字符的字符串,应使用函数( )。
A.gets ( ) B.getc ( ) C.getchar ( ) D.scanf ( ) 答:A
,直到读入一个换行符为【解析】A 项,gets 函数用来从终端键盘读入字符串(包括空格符)
止。B 项错误,C 语言标准库中没有getc 函数;C 项,getchar 函数是从键盘读入单个字符,空格、回车符都将作为字符读入;D 项,scanf 函数用入数据的分隔符而不能被读入。
3. 有以下程序:
程序运行后输出的结果是( )。 A.12, -3, 0, 0 B.-3, -1, 1, 3 C.0, 1, 2, 3
D.-3,-3,-3,-3 答:B
第 2 页,共 35 页
格式符输入字符串时,空格和回车符都作为输
【解析】在函数参数传递时,一维数组和二维数组都是以指针的形式。函数fun 的作用是通过二维数组a 来 给数组b 赋值,元素(从倒数0个开始)。所以,
4. 若有以下程序
则程序的输出结果是( )。 A.H9
B. 表达式不合法输出无定值
C.
D. 答:A
【解析】当字符参与数学运算时,替换成其在ACSII 码表中对应的数值,
则
在printf 函数中,cl 以字符的形式输出,得到结
果H ,c2以整数的形式输出,得到ASCII 码值9。
5. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。
A. 与其在同一行上的if 子句 B. 在其之后最近的不带else 的if 子句 C. 与其缩排位置相同的if 子句
D. 在其之前最近的不带else 的同层if 子句 答:D
【解析】if 总是与它上面最近的、未配对的else 配对。
6. 有以下函数
以下关于aaa 函数功能叙述正确的是( )。
A. 求字符串S 的长度 B. 比较两个串的大小 C. 将串s 复制到串t
第 3 页,共 35 页
表示a 上对角线元素,表示a 中第i 行倒数第i 个
D. 求字符串8所占字节数 答:A
【解析】aaa ( )函数中,首先定义了一个字符指针t 指向形参s ,然后通过一个while 循环让指针t 不断递 增,直到t 指向字符串结束标志处。当t 指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,此 时t 指向字符串结束符语句让它回到结束标志处。最后返回束符,故返回值为字符串的长度值。
7. 有以下程序
程序运行后的输出结果是( )。
答:A
【解析】将结构体变量的地址作为实参传递,函数调用可以修改实参结构体中成员的值。函数f 的作用是,把p 指向的struct 中的数组a 的元素按照从小到大的方式排序。
8. 若变量已正确定义,有以下程序段:
其输出结果是。
A. 程序段有语法 B.3, 5,3 C.3, 5, 5 D.3, 5, 7 答:B
第 4 页,共 35 页
后面一个单元,所以接下来的
因为s 还是指向字符串第1个字符处,而t 指向字符串结