一、选择题
1. 设有定义:inta=0,b=l, c=l;以下选项中,表达式值与其他三个不同的是( )。
A.b=a==c
B.a=b=c
C.a=c==b
D.c=a!=c
答:A
【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1, 不成立返回0。A 项,逻辑表达式a==c不成立,则b=0, 表达式值为0;B 项,将c 赋值给b , b=l, 再将b 赋给a , a=l,表达式值为1; C 项,逻辑表达式c==b成立,则a=l,表达式值为1; D 项,逻辑表达式a!=c成立,则c=l,表达式值为1。A 项与其他项不同。
2. 有以下程序:
程序运行后的输出结果是( )。
A.=
B.XXX
C.=XX
D.X=
答:A
【解析】主函数首先为结构体定义两个变量分别使用字符串拷贝函数strcpy ( )
因此输出为项正确。 为si 和s2的成员name 赋值,
再将
中的成员信息赋值给
3. 有以下程序:
第 2 页,共 33 页
程序的运行结果是( )。
A.abcdef
B.cbcdef
C.cdef
D.ab
答:A
【解析】strcat 把字符串a , b连接起来放在数组a 中,while 语句再将字符串a 赋给字符串b 。
4. 有以下程序
程序运行后的输出结果是( )。
A.2,3,1
B.2, 3, 2
C.2, 3, 3
D.2, 2, 1
答:A
【解析】对于表达式
改成,赋值运算符的优先级高于逗号运算符的优先级,可
然后从左向右先计算表达式因为先使用后自增,所以
的值为2。最后此时y 的值为1, z 的值为1,x 的值为2。再计算逗号表达式第二个表达式
y 的值为3。 计算第三个表达式
5. 以下选项中叙述正确的是( )。
A. 使用三种基本结构就可以实现任何复杂算法
B. 只要程序包含了三种基本结构中的任意一种,就是结构化程序
C. 程序语法错误要在运行时才能发现
D.C 语言程序不需要包含main ( )函数
答:A
【解析】结构化程序主要由循环结构、选择结构、顺序结构三种基本控制结构组成,它们组成的算法结构可 以解决任何复杂的问题,A 项正确。结构化程序设计是以模块化设计为中心,将
第 3 页,共 33 页
待开发的软件系统划分为若干个 相互独立的模块,而不是说包含了三种基本结构就是结构化程序,B 项错误。程序语法错误是在编译过程中发现的,一般来说编译器只能检查语法和最简单的语义错误,而不检查程序的逻辑错误,C 项错误。C 程序总是从 main 函数开始执行,其他函数由main 函数直接或间接调用执行,所以C 语言程序必须包含main 函数,D 项错误。
6. C 语言源程序名的后缀是( )
A.C
B.exe
C.obj
D.cp
答:A
【解析】C 语言源程序名的后缀为.C
7. 文件不存在或是被锁定!
答:
8. 有以下程序:
程序运行后的输出结果是( )。
A.10, 64
B.10, 10
C.64, 10
D.64, 64
答:A
【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修
改。所以
算结果是不同的。
9. 有以下程序:
第 4 页,共 33 页 所以有无括号的运