一、选择题
1. 有如下程序:
程序运行时,输入A.1234 B.4321 C.4444 D.1111 【答案】B
则输出结果是( )。
【解析】在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的 执行过程为:在输入1234〈回车〉的情况下,调用人1,
在这次调用中的局部变量
调用调用
条件成立→调用
•
调用
函数,读入3, 局部变量
函数,
读
函数,读入2,
局部变量
函数,读入4,
局部变量
函数,读入回车,if 条件不成立,返回执行每次调用函数中if 语句后的输
出语句,即依次输出4321。故B 选项正确。
2. 若有定义语句:
则以下语句中正确的是( )。
A. B. C. D.
数组。A 项正确
,
是int 类型指
【答案】A
【解析】声明了 a 是一个二维数组,p 是长度为3
的针,可以指向二维数组中的元素。B 项错误,
第 2 页,共 34 页
是int 类型指针,不能指向二维数组;C 项错误,
p 是int 类型指针的数组,一旦定义,不能再次赋值;D 项错误,维数组的地址。
3. 以下选项中,合法的C 语言实数是( )。
A.3.1e0.4 B..2e0 C.E13 D.7.12E 【答案】B
是int 类型的指针,是二
【解析】实型常量指数形式由十进制数加阶码标志“e ”或“E ”以及阶码(只能为整数,可以带符号)组成。.2e0为指数形式实数,B 项正确。3.1e0.4, 阶数不是整数,A 项错误。E13阶码标志前缺少十进制数,C 项错误。7.12E 缺少阶码,D 项错误。
4.
若有定义语句以下选项中能够输出“OK ”的语句是( )
。
A B. C. D.
【答案】D
stamp 用于比较两字符串:
当【解析】
只有D 项输出的是大 写的“OK”。
5. 有以下程序:
程序的运行结果是( )。 A.a=l, b=0 B.a=2, b=2
第 3 页,共 34 页
时,返回值小于0; 当
时,返回值为0; 当
时,返回值大于0。题中si 与s2两个字符串不相等,AC 两项错误。B 项,输出的小写的“ok”,
C.a=l, b=l D.a=2, b=l 【答案】D
【解析】x=l,因此外层switch 语句是首先执行case1:后面的语句,进入内层的switch 语句;y=0,执行case0:后面的语句,得a=l,遇到break 语句后退出嵌入的switch 语句。由于外层switch 语句的easel :后面没有break 语句,因此继续执行case2:后面的语句,得a=2,b=l,遇到break 语句后退出第一个switch 语句。结果为a=2,b=l。
6. 有以下程序
{
程序执行后的输出结果是( )。 A.Prohsbn B.Prphsbn C.Progsbn D.Program 【答案】B
【解析】函数funl 功能是将字符串中元素加1,main 函数将数组第4个元素的指针传进funl 函数中,结果为Prohsbn 。
7. 有以下程序:
程序运行的结果是( )。
第 4 页,共 34 页