一、选择题
1. 有如下程序:
程序运行后的输出结果是( )。 A.56,57, B.57,58, C.57,57, D.55,57, 【答案】C
【解析】convert ( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data 的值。main ( )函数中,定义了变量data 并赋初值56,调用covert ( )函数,改变变量data 的值,此时data=57; 程序执行data=convert,函数convert ( )返回的是执行前data 的值,所以data=57。C 项正确。 (&data)
2. 有以下程序:
若想通过键盘输入,使得的值为12, a2的值为34, cl 的值为a , c2的值为b , 程序运行后的输出结果是:12,a , 34, b , 则正确的输入格式是(以下代表空格,
A. B. C. D.
第 2 页,共 53 页
代表回车)( )。
【答案】A
【解析】在输入字符型时,要求输入数据时按照一一对应的位置原样输入这些字符,即不能加逗号、回车和空格,因为这些也算是字符。
3. 有以下程序:
程序运行后的输出结果是( )。 A.02 B.13 C.57 D.12
【答案】D 【解析】
具有短路效应,当
前面的表达式结果为逻辑假时后面的表达式不在进行
的计算,k 的值为1, 所以结果为1和2。
计算。k++首先去k 的值,为0, 为逻辑假不在进行
4. 以下叙述中正确的是( )。
A. 在复合语句中不能定义变量
B. 对于变量而言,“定义”和“说明”这两个词实际上是同一个意思 C. 全局变量的存储类别可以是静态类 D. 函数的形式参数不属于局部变量 【答案】C
【解析】C 项正确,对于全局变量可使用extern 和static 两种说明符。A 项错误,在复合语句中定义的变量 是局部变量;B 项错误,“定义”(definition )是指给变量分配确定的存储单元,“说明”(dedaratkm )只是说 明变量的性质,而并不分配存储空间;D 项错误,函数的形式参数只能在函数内部被识别,属于局部变量。
5. 若有定义语句:
则以下语句中正确的是( )。 A. B. C. D. 【答案】A
【解析】声明了 a 是一个二维数组,p 是长度为3的
第 3 页,共 53 页
数组。A 项正确,是int 类型指
针,可以指向二维数组中的元素。B 项错误,维数组的地址。
6. 有以下程序:
是int 类型指针,不能指向二维数组;C 项错误,
是int 类型的指针,
是二
p 是int 类型指针的数组,一旦定义,不能再次赋值;D 项错误,
若要使程序的运行结果为248, 应在下画线处填入的是( )。 A. B.1248 C. D. 【答案】D
【解析】要输入248,是124的两倍,124为01111100,248为11111000,因此只要左移一位即可。
7. 有以下程序:
程序运行后的输出结果是( )。 A. -2 B. C.-3 D.2.0
【答案】A
【解析】B 、D 项错误,sub ( )函数输出(int
)
C 项错误,A 项正确。
8. 有以下程序:
第 4 页,共 53 页
将结果强制转化为整型
;