一、选择题
1. 若有以下程序
则程序的输出结果是( )。
A.13
B.10
C.11
D.15
答:C
【解析】default 也是关键字,起标号的作用,代表所有case 标号之外的那些标号。default 标号可以出现在语句体中任何标号位置上。在switch 语句体中也可以没有default 标号。
先判定case 语句,如果没有与判定值相等的标号,并且存在default 标号,则从default 标号后的语句开始执行。如果default 语句没有break ,则其下面的case 语句不加判定的继续执行(default
,直到遇到break 或switch 结尾。 位置在case 前面时)
①n=0,执行default ,s=4,没有遇到break ,不与case 标号比较,直接执行case 后的语句,s=5,遇到break ,跳出循环;
②n=l,s+=l,s=6;
③n=2»s+=2, s=8;
④n=Ls+=3,s=11。
2. 有以下程序:
程序运行后的输出结果是( )。
A.0
B.0
C.2
D.2
答:D
【解析】赋值表达式的结果值为被赋值后的变量的值。main 函数先为a 、b 赋值,然后做a+b运算,结果赋值给b ,此时b 为1,并将b 打印出来输出1。接着做运算
打印a 输出2。
3. 若要求从键盘读入含有空格字符的字符串,应使用函数( )。
A.gets ( )
B.getc ( )
C.getchar ( )
D.scanf ( )
答:A
,直到读入一个换行符为【解析】A 项,gets 函数用来从终端键盘读入字符串(包括空格符)
止。B 项错误,C 语言标准库中没有getc 函数;C 项,getchar 函数是从键盘读入单个字符,空格、回车符都将作为字符读入;D 项,scanf 函数用
入数据的分隔符而不能被读入。
4. 有以下程序:
程序运行后的输出结果是( )。
A.
B.
C.
D.
答:A
【解析】本题执行过程为:i=l, 1%2=1,if 条件成立,输出*与#; i=2, 2%2=0, if 条件不成立,
结果为2, 赋值给a ,格式符输入字符串时,空格和回车符都作为输
i=3,3%2=1,执行continue 结束本次循环,执行下一次循环;输出*与#; i=4, 4%2=0,执行continue ,
开始下一次循环;i=5,5%2=1,输出*与#; i=6退出循环。最后输出$,A 项正确。
5. 有如下程序:
程序运行后的输出结果是( )。
A.ABC
B.012
C.abc
D.123
答:B
【解析】while 循环语句执行时,首先判断表达式,成立(非0)则执行循环体,不成立(0)则退出循环。字符之间做加减法,是用其ASCII 码进行加减,所以程序执行过程为:定义字符变量ch=‘A ’,判断‘A ’
6. 设变量x 为long int型并已正确赋值,以下表达式中能将x 的百位上的数字提取出来的是( )。
答:D
【解析】x / 100结果的个位数上的数字是原来x 的百位数上的数字,则要得到这个数字只需要再
7. 设有定义:
答:A
即可。 则以下表达式值为3的是( )。