一、选择题
1. 有以下程序:
程序的运行结果是( )。 A.0 B.5 C.14 D.15 答:B
dowhile 循环结构先执行后判断。【解析】先执行do 中的表达式执行while 中的表达式,结果为0, 退出循环,故最终结果是5。
2. 有如下程序:
第 2 页,共 33 页
即再
程序运行后的输出结果是( )。 A.min=l, max=9 B.min=0, max=9 C.min=l, max=4 D.min=0, max=4 答:B
【解析】在对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么c 语言将自动对余下的元素赋初值0,
则
程序的执行过程为:调用函数
将数组array 首地
址传人函数,定义结构体变量res ,并为其成员赋值。for 循环查找数组array 数组的最小值0,将其赋值给res 的成员first , 查找数组最大值9, 赋值给res 的成员second 。最后返回结构体变量res ,
则
输出
故
B 选项正确。
3. 有以下函数:
程序运行后的输出结果是( )。 A.98,18 B.39,11 C.39,18 D.98,11 答:B
【解析】根据该宏的定义,为39,11。
4. 若有以下程序段:
输出结果是。 A.16 B.8 C.4 D.2 答:C
第 3 页,共 33 页
所以答案
【解析】C 语言中,右移运算符是将变量转换成二进制,然后右移相应位数,将移出的
位信息舍去,并在高位补0, 将所得的结果再赋值给变量。本题十进制数8转换为二进制数为00001000, 右移一位得到00000100, 再转换成十进制数就是4。
5. 以下叙述中正确的是( )。
A. 在scanf 函数的格式串中,必须有与输入项一一对应的格式转换说明符
B. 只能在printf 函数中指定输入数据的宽度,而不能在scanf 函数中指定输入数据占的宽度 C.scanf 函数中的字符串是提示程序员的,输入数据时不必管它 D. 复合语句也被称为语句块,它至少要包含两条语句 答:C
【解析】C 项正确,scanf 函数中的字符串是为了増加程序的可读性,并不影响数据的输入。A 项错误,可以在%和格式字符之间加入
号,作用是跳过对应的输入数据;B 项错误,可以
在格式字符前加入一个正整数指定输入数据所占的宽度;D 项错误,用一对花括号把若干语句括 起来构成一条复合语句。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。
6. 以下叙述中正确的是( )
A. 程序设计的任务就是编写程序代码并上机调试 B. 程序设计的任务就是确定所用数据结构 C. 程序设计的任务就是确定所用算法 D. 以上三种说法都不完整 答:D
【解析】程序设计是指设计、编程、调试程序的方法和过程。因为程序是软件的主体,软件的质量主要通过 程序的质量来体现,在软件研宄中,程序设计的工作非常重要,内容涉及相关的基本概念、工具、方法及方法学。
7. 有以下程序:
程序的运行结果是( )。 A.grameamee B.g a e C.programe
第 4 页,共 33 页