一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
A.24
B.44
C.22
D.46
【答案】B
【解析】p 是int 类型的指针,指向数组a 的首元素;k 的int*类型的指针,指向int*
变量
先执行p++,p 指向a 中第二个元素,然后取值,输出
2. 设变量已正确定义并赋值,以下正确的表达式是( )。
【答案】C
【解析】赋值运算左边必须是单一变量名。A 项错误,
错误,求余运算中的操作对象只能是整型。C 项,为逗号表达式。
3. 以下叙述中错误的是( )
A. 书写风格良好的程序执行效率高
B. 书写风格良好的程序易读性好
C.C 程序可以在一行上写多条语句
D.C 程序允许将一条语句分写在多行上
【答案】A
【解析】书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,但书写风格会深刻地影响软件的质量和可维护性,良好的程序设计
C 语言程序书写规范中,风格可以使程序结构清晰合理。良好的书写习惯中一般一行写一条语句,
这样方便阅读,但是将一行写多条语句或者将 一条语句分写在多行上是符合C 程序编写规则的。
第 2 页,共 37 页 部分是非法赋值。BD 两项
4. 有以下函数:
程序运行后的输出结果是( )。
A.98,18
B.39,11
C.39,18
D.98,11
【答案】B
【解析】根据该宏的定义,
为39,11。
5. 要求定义一个具有6个元素的int 型一维数组,以下选项中错误的是( )。 A. B. C.
D.
【答案】A
【解析】数组名后面括号内,必须是整型常量,不可以是变量,A 项定义错误。
6. 有如下程序:
程序运行后的输出结果是( )。
A.56,57,
B.57,58,
C.57,57,
D.55,57,
第 3 页,共 37 页
所以答案
【答案】C
【解析】convert ( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data 的值。main ( )函数中,定义了变量data 并赋初值56,调用covert ( )函数,改变变量data 的值,此时data=57; 程序执行data=convert
,函数convert ( )返回的是执行前data 的值,所以data=57。C 项正确。 (&data)
7. 有以下程序:
程序运行后的输出结果是( )。
A.02
B.13
C.57
D.12
【答案】D
【解析】(表达式1)(表达式2)中,如果表达式1为假或0, 那么表到式2就不会被执
和为零,不满足循环条件,所以不行。本题中首先进入while 的判断语句,执行会被执行,while 循环结束后,k 经过运算自增为1, n没有进行运算,仍为2。
8. 以下叙述中错误的是( )。
A. 函数的返回值类型不能是结构体类型,只能是简单类型
B. 函数可以返回指向结构体变量的指针
C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员
D. 只要类型相同,结构体变量之间可以整体赋值
【答案】A
【解析】函数的返回值类型可以是结构体类型,也可以是指向结构体变量的指针类型,相同类型结构体变量 之间可以整体赋值,可以通过指针变量引用结构体成员。
9. 有以下程序:
第 4 页,共 37 页