一、选择题
1. 以下不能用于实型数据的运算符是( )。
A.%
B./
C.*
D.+
答:A
【解析】“%”符号两边必须是整数,因此答案为A 项。
2. 以下定义语句中正确的是( )。
\
答:C
【解析】C 项正确,int 转换成char 类型时,按照ASCII 码表进行转换,65表示
示等价于
转换成
应改成逗号。
3. 有以下程序:
程序的运行结果是( )。
D.ab
答:C
【解析】函数fun 中有两个while 循环,第一个while 循环语句查找第一个非字符;第二个
第 2 页,共 34 页 66表A 项错误,b , c 都是float*类型,B 项错误,b 未定义,可改成是类型,错误,
无法把D 项错误,分号表示语句的结束,
while 循环语句将a 所指向的字符赋值给b ,这个循环的作用是将a 中第一个非的后的字符都复制到b 中。整个函数fun 的功能时将a 字符串中讲第一个非的字符开始的字符赋值给b 。
4. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 ( )。
A.C 语言程序仅可以编译执行
B.C 语言程序仅可以解释执行
C.C 语言程序既可以编译执行,又可以解释执行
D. 以上说法都不对
答:A
【解析】编译型语言编写的程序在执行之前,需要一个专门的编译过程把程序编译成机器语言的文件,比 如.exe 文件,再次运行时便不需要重新翻译,直接使用编译的结果便可以了,因为翻译只做了一次,运行时不需 要翻译,所以编译型语言的程序执行效率高。解释则不同,解释型语言的程序不需要编译,在运行程序的时候才 翻译,解释型语言每执行一次便需要翻译一次,效率低。C 语言程序属于编译执行类型。
5. 有以下程序段:
当执行上述程序段,并从键盘输入:name=Lilinum=1001后,name 的值为( )。
A.Lili
B.name=Lili
C.Lilinum=
D.name=Lilinum=1001
答:A
【解析】在C 语言中输入多个字符串时,系统会把空格字符作为输入的字符串之间的分隔符。本题中,由于输入两个变量,所以中间应该以回车键为间隔,当从键盘输入name=Lilinum=1001只是输入第一个变量,并且只将Lili 赋值给了name 。
6. 对于if (表达式)语句,以下叙述正确的是( )。
A. “表达式”的值可以是任意合法的数值
B. 在“表达式”中不能出现变量
C. 在“表达式”中不能出现常量
D. “表达式”的值必须是逻辑值
答:A
【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实
,A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、型、字符型等)
C 、D 项错误。
第 3 页,共 34 页
7. 有以下程序
程序的运行结果是( )。
A.233423
B.432543
C.233445
D.453523
答:D
【解析】第一次循环i 值为3, j 值分别为1和2, 所以输出为4和5; 第二次循环i 值为2, j 值分别为1和2, 所以输出为3和4; 第三次循环i 值为1,j 值分别为1和2,所以输出为2和3。
8. 有如下定义:
以下对内嵌结构体成员的引用形式错误的是( )。
答:A
【解析】使用结构体指针对结构体成员进行访问时,形式为结构指针名->结构成员名,或者(*结构指针名). 结构成员名,题目中ps 为结构体指针,A 项错误。
9. 有以下程序:
程序运行后的输出结果是( )。
A.02
B.13
第 4 页,共 34 页