一、选择题
1. 有以下程序
程序的运行结果是( )。 A.20, 15 B.30, 17 C.15, 30 D.20, 30 【答案】A
【解析】循环输出前两个数据,结果为20,15。
2. 若有说明和语句
:则此时
A.
B.
C. 的地址
D. 不确定的值 【答案】A
【解析】定义字符数组并为其初始化,str 数组前5个元素为Hello ,
第六个元素自动赋值为
定义指针使等于字符串首地址
,
3. 有以下程序:
第 2 页,共 52 页
中的值为( )。
指向字符串第六个元素。
程序运行后的结果是( )。
【答案】D
【解析】函数f 的功能是将重新定义的结构体b 整体赋给圯], 即数组a 的第二个元素,而数组a 的第一个元素不变。因此main 函数中调用函数f 时,即数组c 的第二个元素变成结构体b , 第一个元素不变。
4. 有如下程序:
程序运行后的输出结果是( )。
A. B.VWXYZ C.ZYXWV D. ‘ABCDE' 【答案】C
【解析】putchar 表示输出单个字符,丨再转化成字符型
数输出,在for 循环中,i=0,1,2,3,4时,执行循环体,putchar 输出ZYXWV 。
5. 有以下程序:
程序运行后的输出结果是( )。
第 3 页,共 52 页
表示输出’z' 转换成ASCII 码后减去i 后
【答案】C
【解析】本题将两个字符串常量赋值给一个二维字符数组,用字符常量为字符数组赋值需要
在最后加上一个休止符
表示字符串结束,所以数组长度为字符的个数加1, 而且数组的下标是
从0开始计数,所以P 指向第二个字符串。
6. 设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是( )。 A.++k B.k+=l C.k++ D.k+1
【答案】C
【解析】k++表达式值为k 的值,其余为k+1的值。
7. 以下叙述中错误的是( )。
A. 可以用typedef 说明的新类型名来定义变量
B.typedef 说明的新类型名必须使用大写字母,否则会出编译错误 C. 用typedef 可以为基本数据类型说明一个新名称
D. 用typedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名 【答案】B
【解析】typedef 说明的新类型名习惯上用大写字母,但不是必须用大写。
8. 有以下程序
程序输出( )。 A.0, 0, 0, 3 B. 编译有错 C.1, 1, 2, 0 D.0, 1, 2, 0 【答案】B
【解析】c=2不属于if 子句,它是在if 和else 之间的语句,如果该if 子句含有多个语句(两个以上),则必须使用复合语句,即用花括号把一组语句括起来。在程序中else 必须与if 配对,共同组成一条if-else 语句,中间不能出现其他语句。
第 4 页,共 52 页