一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.32
B.12
C.21
D.22
答:C
【解析】C 语言中函数参数传递满足“单向传递”,实现传递值的功能,实参能传给形参,形参却不能传回 给实参。fun 函数体内输出p 的值为2,并不影响到fun 函数外a 的值,a 的值在main 函数内依然为1。
2. 若有定义语句A.
B.
C.
D.
答:C
列表间用逗号隔开。由题知_执行了
之后,输入语句正确的是( )。,格式控制和地址【解析】输入函数scanf 使用的标准形式是:scanf (格式控制,地址列表)即px 指向x 的地址,py 指向y 的地址。AD 两项错误,表达式中的x 和y 都需要取地址;B 项,格式控制和地址列表间用逗号隔开。
3. 以下叙述中正确的是( )。
A. 在C 语言中,预处理命令行都以“#”开头
B. 预处理命令行必须位于C 源程序的起始位置
C.#include必须放在C 程序的开头
D.C 语言的预处理不能实现宏定义和条件编译的功能
答:A
【解析】编译预处理”就是在C 编译程序对C 源程序进行编译前,由编译预处理程序对这些编译预处理命令行进行处理的过程。A 项正确,在C 语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。B 项错误,预处理命令行可以出现在程序的任何一行的开始部位,其作
C 项错误,#inClUde可以出现在程序的任意一行的开始部位;用一直持续到源文件的末尾;
D 项错误,预处理可以实现宏定义、条件编译和文件包含。
4. 有如下程序:
程序运行后的输出结果是( )。
A.4,4
B.0,1
C.1,4
D.0,4
答:A
【解析】程序执行过程为:定义整型变量a=0与指针ptr ,使指针指向变量a 。对指针指向的变量进行赋值a=3,将指针所指向变量加1,并赋值给a=4,此时指针依然指向变量a ,输出a 与指针指向的变量值:4,4,故A 项正确。
5. 若有以下程序:
以下叙述中正确的是( )。
A. 可用S 定义结构体变量
B. 可用T 定义结构体变量
C.S 是struct 类型的变量
D.T 是structS 类型的变量
答:B
【解析】S 为结构体类型名,而T 为结构体变量名表。
6. 已知字符A 的ASCII 代码值是65,字符变量cl 的值是A , c2的值是D 。则执行语句
printf
A.A , 68 的输出结果是( )。
B.65, 66
C.A , B
D.65, 68
答:B
【解析】在C 语言中,字符型数据在内存中的存储形式是ASCII 码值。当需要以整型格式输
c2-2对应的ASCII 出字符时,输出的也是ASCII 码值。字符zAHDz 的ASCII 码值分别为65和68,
码值为66。
7. 以下选项中有语法错误的是
A. B. C.
D.
答:D
到二维数组的某一行中。
8. 有以下程序
程序运行后的输出结果是( )。
A.36
B.24
C.32
D.28
答:D
【解析】函数f 可以重写成: 1 2
3
4 5
6。
【解析】考查指针数组的概念,选项D 中str 为二维字符数组,不能直接把一个字符串赋值