一、选择题
1. 有以下程序:
以下叙述中正确的是( )。
A. 此while 语句将无限循环
B.getchar ( )不可以出现在while 语句的条件表达式中
C. 当执行此while 语句时,只有按回车键程序才能继续执行
D. 当执行此while 语句时,按任意键程序就能继续执行
答:C
【解析】本题中while 循环条件
为
行下一条语句。
2. 有以下程序
程序运行后的输出结果是( )。
A.2,3,1
B.2, 3, 2
C.2, 3, 3
D.2, 2, 1
答:A
【解析】对于表达式
改成,赋值运算符的优先级高于逗号运算符的优先级,可
然后从左向右先计算表达式因为先使用后自增,所以
的值为2。最后此时y 的值为1, 表示只要不输入回车键
,语句一直为真,则while 循环会出现空循环,当按下回车键后跳出while 循环执z 的值为1,x 的值为2。再计算逗号表达式第二个表达式
y 的值为3。 计算第三个表达式
3. 以下程序段中,与其他三个功能不同的程序段是( )。
答:A
【解析】B 、C 、D 项都表示对1到10进行累加后赋给s ,而A 项中含break 语句,循环体只执行一次,结束整个循环过程。
4. 在C 语言中,以下选项中不能正确表示10X1000之值的是( )。
答:A
【解析】实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志成,而A 项中阶码
并且值为10000,故选择A 项。
5. 以下关于宏的叙述中正确的是( )。
A. 宏名必须用大写字母表示
B. 宏定义必须位于源程序中所有语句之间
C. 宏替换没有数据类型限制
D. 宏调用比函数调用耗费时间
答:C
【解析】A 项错误,用作宏名的标识符通常习惯用大写字母表示,宏名可以是任何合法的C 语言标识符;B 项错误,在语言中,宏定义可以根据需要写在任何位置:D 项错误,宏调用是在编译前由编译预处理程序完成的,不占运行的时间。
6. 有以下程序:
或以及阶码(只能为整数,可以带符号)组是浮点数,所以A 项不能正确表示10X1000之值,B 、C 、D 项都表示正确
程序运行的结果是( )。
A.*7
B.*3*5
C.*5
D.*2*6
答:A
【解析】程序的功能时输出从5开始的第一个除以3的余数为1,除以5的余数为2的数。在do-while 循环中,总是先执行后判断,即至少会执行一次。在循环中,如果满足(i%3==l)&&(i%5==2), 那么输入i 的值,退出循环。
7. 以下关于指针的叙述,错误的是( )。
A. 两个基类型相同的指针变量不能指向同一个对象
B. 可以通过对指针变量自增、自减来移动指针
C. 只有两个类型相同的指针才能进行减运算
D. —个指针变量可以通过不同的方式获得一个确定的地址值
答:A
【解析】只要两个指针变量基类型相同,可以指向同一个对象,A 项正确。
8. 有以下程序:
程序运行后的输出结果是( )。
答:D
【解析
】
制:
因此答案为D 选项。
是十六进制数
, 需要输出十进制数,换算成十进