2016年中山大学卡内基梅隆大学联合工程学院,S4705005电子与通信基础综合)之C语言程序设计考研复试题库
● 摘要
一、选择题
1. 设有以下定义:
则以下叙述正确的是( )。
A. 数组s1的长度小于s2的长度
B. 数组s1和s2的长度相同
C. 数组s1的长度大于s2的长度
D. 数组s1和s2完全等价
答:C
【解析】为字符数组赋值字符串“0123”时,字符串中字符依次放人数组中后,在最后一个
数组s1长度为5。数组s2只需要4个单元即可放下所有初始字符后要添 加一个结束字符
化值,故数组长度为4。所以数组s1的长度大于S2的长度,C 项正确。两个数组等价是指两个数组长度和类型以及对应每个元素值均相 同,所以s1和82不是完全等价,D 项错误。
2. 有如下程序:
程序运行后的输出结果是( )。
A.5 4 3 2 1
B.0 1 2 34
C.4 5 6 7 8
D.1 2 3 4 5
答:D
【解析】本题程序执行过程为:在依次输出1、2、3、4、5,D 项正确。
时依次输出即调用sum 函数后
3. 有以下程序:
程序的运行结果是( )。
A.1, 2
B.3, 6
C.4, 7
D. 变量的地址值
答:B
【解析】程序的执行过程为:定义整型数组
结构体数组X ,并为其初始化,则并进行初始化,两个数组长度均为2。定义输出x[0]的成员指针b 指向的内存单元值,即数组xl 的第一个元素3, 输出x[l]的成员指针b 指向的内存单元值,即数组x2的第一个元6。程序的运行结果是3,6, 故B 选项正确。
4. 以下不能输出字符A 的语句是。(注:字符A 的ASCII 码值为65,字符a 的ASCII 码值为97。)
答:B
【解析】A 项,字符a 的ASCII 码值减去32为A 的ASCII 码值,执行字符输出,即为A ; B 项,执行整型输出,结果为65; C 项,字符型输出A ; D 项,字符型输出答案A 。
5. 以下不构成无限循环的语句或者语句组是。
A.
B.n=0:
C.n=10:
D.
答:A
【解析】A 项,为do-while 循环语句,首先执行do 后面的语句得n=l,while 条件表达式为假,退出循环;B 项,while 条件表达式的值始终为1,条件为真,构成无限循环;C 项,while (n ); 语句循环体为空,n 的值在循环中一直保持不变,构成无限循环;D 项,i=l,for 语句中条
件判断语句为空,永远为真,构成无限循环。
6. 有以下程序:
程序运行后的输出结果是( )。
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 项正确。
7. 有以下程序
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意,回车也是一个,
字符)
则输出结果是( )。
A.12
3
B.12
C.1234
D.12
34
答:A