一、选择题
1. 设变量均已正确定义,若要通过( )(口代表空格字符)。
A. B. C. D. 答:A
【解析】scanft 函数是C 语言提供的标准输入函数,作用是接收在终端设备(或系统隐含指;
定的输入设备)上输入的数据。scanf ( )函数的一般形式为:scanft (格式控制,输入项表)本题中的格式控制字符串是均插入空格,均不正确。
2. 有以下程序:
程序的运行结果是( )。 A.abcdl234mnop5678 B.abcd234op8 C.a2o8 D.alm5 答:B
【解析】程序执行过程为:定义指针数组,长度为4, 并为其初始化为4个字符串。定义指向指针的指针变 量,并为其初始化为指针数组首地址。f0r 循环依次输出4个字符串,第i 个字符串从第i 个下标值处开始输出到 字符串结束,即第一个字符串输出abed , 第二个字符串输出234, 第三个字符串输出op ,第四个字符串输出8。程序的运行结果是abcd2340p8, 故B 项正确。
第 2 页,共 35 页
语句为
变量al 和a2赋数值10和20, 为变量cl 和c2赋字符X 和Y 。以下所示的输入形式中正确的是
其中表示要输入的是整数;则表示输入的是字符,且
各控制符之间无任何分隔字符,故要求输入的数据之间也不能分开。而BCD 三项在10和X 之间
3. 若有以下程序
则程序的输出结果是( )。 A.1, 2 B.0, 2 C.1, 3 D.2, 3 答:A 【解析】
是先判定a 是否等于0, 如果a 等于0, 跳出循环;否则进入循环;但是不
管判定是否成功,判定结束后都要执行a++操作。
第一次循环,a 等于-2, 满足条件,执行a++,++b, a 变成-1,b 变成1; 第二次循环,a 等于-1,满足条件,执行a++,++b, a 变成0,b 变成2; 第三次循环,a 等于0, 不满足条件,执行a++,a 变成1,b 仍然是2。
4. 有以下程序:
程序运行后的输出结果是( )。
答:A
【解析】disp ( )函数中,存在while 循环,当指针指向地址单元存储的字符不等于空字符串
输出此字符,否则退出循环,输出
函数返回类型为
所以返回
在主函数中调用disp ( )函数时,字符
并且再将
返
的
码0, A项正确。
先全部输出,当指针指向字符串最后空字符时,退出循环,输出
回输出。由于
5. 有以下程序:
第 3 页,共 35 页
程序运行的结果是( )。
答:D
【解析】外层主循环从3减到1执行了 3次,嵌套的循环j 从1增到2, 每轮执行2次。每次输出
的值,就可以得到
每次换行发生在外循环完成一次循环之
后。
6. 下面选项中的程序段,没有编译错误的是( )。
答:A
A 项正确,BCD 三项错误,【解析】首先定义了字符串指针sp ,然后执行字符串常量“Hello”。数组只有在初始化是可以被赋值,不能通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量。
7. 以下叙述中正确的是( )。
A.break 语句只能用于switch 语句体中
B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环 C. 在循环体内使用break 语句和continue 语句的作用相同 D.break 语句只能用在循环体内和switch 语句体内 答:D
第 4 页,共 35 页