一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A. B. C. D. 【答案】D
while 函数判断p 指针指向地址的内容是否和a 指针指向地址的内容相等,【解析】如果不是,则移动指针p+1, 当p 指向*b字符串中的
时,和首地址元素相等,退出while 语句后,p 再向
及剩余的字符串,D 项正确。
右移动a 字符串长度+1个单位地址,此时p 指向输出
2. 下面选项中的程序段,没有编译错误的是( )。
【答案】A
A 项正确,BCD 三项错误,【解析】首先定义了字符串指针sp ,然后执行字符串常量“Hello”。数组只有在初始化是可以被赋值,不能通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量。
3. 设有以下程序段:
则变量y 的取值范围是( )。
【答案】B
【解析】本题考点为
求余符号。rand ( )产生随机整数,任何整数对30求余得到
或者说
故B 选项正确。
的整数范围为0〜29, 则y 的取值范围为
4. 有如下程序:
程序运行后的输出结果是( )。
【答案】D
【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执行过程为:调用函数
型1,然后返回1并输出,故D 选项正确。
5. 有如下程序:
程序运行后的输出结果是( )。 A.A45D78 B.ABC678 C.34CD78 D.34AB78
,(double 类型)(int )强制转换将转换成int 类
【答案】A
【解析】本题执行过程为:
if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,
条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。
6. 有以下程序
程序运行后的输出结果是( )。 A.99 B.68 C.60 D.108 【答案】C
【解析】定义了二维数组a ,p 是指针,它指向长度为4的int 数组,初始化时,p
执行
相
当于函数的作用是计算数组a 中前两列的和,结果是60。
7. 有以下程序:
以下程序:
程序运行后的输出结果是( )。 A.7, 4 B.4, 10 C.8, 8 D.10, 10 【答案】B
【解析】C 语言中,
用来统计字符串的字符个数,
是求为数组分配的存储
空间大小。该题中字符串p 的字符个数为4, 字符数组a 的大小为10。