一、选择题
1. 设有如下函数定义:
若执行调用语句:
A.2
B.3
C.4
D.5
答:B
会返
回
即则函数fun ( )总共被调用的次数是( )。 【解析】函数fun 为递归函数,递归结束条件是k 为小于等于1的数。执行fun (3)语句时执
行时会返
回
即执
行
时会返回1,所以函数fun 总共被调用3次。
2. 以下选项中合法的C 语言赋值语句是( )。
答:A
【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为
3. 以下选项中叙述正确的是( )。
A. 是合法的变量定义语句
B. 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
C. 数组下标的下限可以是负值
D. 若有数组定义答:A
【解析】A 项正确定义了字符变量cl 、c2, 字符型指针c3, 字符型一维数组,A
项正确。是下标运算符,“下标”可以是任何非负整型数据,取值范围是0〜(数据元素的个数一1)。在引用数组元素时,下标运算符内可以是常量也可以是变量或者表达式,B 项错误。数组下标的下限不可以是负值,C 项错误。数组下标必须是整型数据,3.12为浮点数,D 项错误。
第 2 页,共 32 页 则语句是合法的
4. 若有定义
答:C 则执行表达式
后a 、b 、c 的值依次为( )。
【解析】根据优先级规则,II 两边都是括号,则从左至右执行括号中的表达式,将
赋值给a ,即a 为5, 不为0, 则右边的括号不需要再执行。
5. 有以下程序:
程序运行后的输出结果是( )。
A.
B.
C.
D.
答:A 的值
【解析】本题执行过程为:i=l, 1%2=1,if 条件成立,输出*与#; i=2, 2%2=0, if 条件不成立,
i=3,3%2=1,执行continue 结束本次循环,执行下一次循环;输出*与#; i=4, 4%2=0,执行continue ,
开始下一次循环;i=5,5%2=1,输出*与#; i=6退出循环。最后输出$,A 项正确。
6. 有以下程序:
程序运行后的输出结果是( )。
A.10 12
第 3 页,共 32 页
B.8 10
C.10 28
D.10 16
答:C
【解析】因为b 是全局变量,所以它的值在整个程序结束才会消失。for 循环中,
第一次循环
所以
环
,然后
fun
7. 若变量均己正确定义并赋值,以下合法的c 语言赋值语句是( )。
A.x=y==5;
B.x=n%2.5;
C.x+n=i;
D.x=5=4+l;
答:A
【解析】A 项正确,y==5返回0或者1,然后赋值给x 。B 项错误,浮点数不能参与模运算;C 项错误,x+n是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。
8. 有以下程序:
程序运行后的输出结果是( )。
A.10, 64
B.10, 10
C.64, 10
D.64, 64
答:A
【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修
改。所以所以有无括号的运算结果是不同的。
9. 设有定义:inta=0,b=l, c=l;以下选项中,表达式值与其他三个不同的是( )。
A.b=a==c
B.a=b=c
C.a=c==b
D.c=a!=c
第 4 页,共 32 页 这时的b 为5, 所以代
入这
时再看第二次循所
以