一、选择题
1. 有以下程序:
程序运行后输出的结果是( )。
答:A
【解析】C 语言中可以将多条语句放在同一行,用右结合。首
先执行C ,使得C
的值也为5。然后执行下句逗号表达式中的执行
使得B 的值为4, 最后打印输出。
把B 的值0赋给A ,此时A 的值为0, 然后
即
得A 的值为5, 然后执行
即将A 的值5赋给变量
隔开。赋值运算和逗号运算都是从左到
2. 若有定义inta ,b ,c ; 以下选项中的赋值语句正确的是( )。
A.a= (b=c) +1; B. (a=b) =c=l: C.a= (b==c) =1; D.a+b=c: 答:A
【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类 型相同才能实现赋值。A 项中,将c 赋值给b ,然后将b 加1赋值给a ,是正确的赋值语句,正确。B 项中,将1 赋值给c , 赋值运算赋值,错误。C 项中赋值运算值
为表达式,不是变量不能被赋值,D 项错误。
中左值为表达式,不是变量不能被
左值为逻辑表达式,不是变量不能被赋值,错误。D 项左
3. 下面的函数调用语句中fimc 函数的实参个数是( )。
A.3 B.4 C.5 D.8 答:A
【解析】函数调用中实参有多个时,实参之间用逗号分隔。本题中的实参有3个,
为
其中
是逗号表达式作为参数,
4. 以下选项中正确的语句组是( )。
A. B. C. D. 答:D
【解析】字符串常量在赋值过程中给出的是这个字符串在内存中所在的一串连续存储单元的首地址。在初始 化字符串时,若选择给指针赋值字符串的方式应
为
三项错误,在给数组赋值
的时候应该为:或是
5. 以下程序段中,与其他三个功能不同的程序段是( )。
答:A 执行一次,结束整个循环过程。
6. 有以下程序:
程序运行后的输出结果是。 A.2 B.4
是函数的返回值作为参数
,
是逗号与函数相结合作为参数。
【解析】B 、C 、D 项都表示对1到10进行累加后赋给s ,而A 项中含break 语句,循环体只
C. D.8 答:D
a 的初始值为2, 程序中将a 左移2位的结果赋值给b , 即相当于十进制乘以4, 结果为【解析】8。
7. 下列定义变量的语句中错误的是( )。
答:B 【解析】符号,不能出现在标识符中。
8. 有以下程序:
程序运行后的输出结果是( )。 A.30 B.40 C.10 D.20 答:A
【解析】for 循环将数组a 中的值重新给自己赋值,执行完成后数组a 中的值没有发生变化,故最终输出的a[2]还是原来的a[2], 为30。
9. 以下叙述中正确的是( )。
A. 在算法设计时,可以把复杂任务分解成一些简单的子任务 B. 在C 语言程序设计中,所有函数必须保存在一个源文件中 C. 只要包含了三种基本结构的算法就是结构化程序 D. 结构化程序必须包含所有的三种基本结构,缺一不可 答:A
【解析】A 项正确,模块化的程序设计方法;B 项错误,C 语言中,函数可以放在不同的源文件中;CD 两项错误,由三种基本结构所构成的程序称为结构化程序,三种基本结构可以任意组合。
10.有以下程序