2017年甘肃省培养单位寒区旱区环境与工程研究所864程序设计之C程序设计考研仿真模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.TrueB •TrueFalse
C.False
D.TrueFalseTrue
【答案】B 【解析】
此答案为B 选项。
2. 有以下程序:
程序的运行结果是( )。
A.15, 2
B.15, 15
C.2, 15
D.8, 8
【答案】A
【解析】本题求数组的最大值和最小值,首先把数组x 首地址的值赋给指针p , 故*p初始值为8, 而p 是地址值,P+1相当于数组中下一元素的地址,在for 循环,是求数组x 对应的最大值和最小值,fl 为最大值,f2为最小值。因此输出为15, 2。
此处是赋值语句“=”,注意赋值操作符与相等操作符“==”的区别,因
3. 若有定义:
则与上述定义完全等价的说明语句是( )。
A.int*a[20][10];
B.int*a[20];
C.int*a[10];
D.int*a[10][20];
【答案】A
【解析】新定义的类型T 为大小为10的整型数组,定义T 型指针数组*a[20],等价于定义了一个指向整型长度为10的数组的指针数组,这个指针数组大小为20,即为整型指针二维数组,行20列10,A 项正确。
4. 设有以下定义:
则以下叙述正确的是( )。
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 项错误。
5. 有以下程序段
当执行上述程序段,从键盘上输入555667777123后,y 的值为( )。
A.566.0
B.55566.0
C.7777.0
D.566777.0
【答案】A
【解析】本题考查的是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。因此j 的值为55,y 的值为566.0,字符数组name 的值为7777123。
6. 以下选项中不能作为C 语言合法常量的是( )。
【答案】A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。单引号表示字符常量,但不能包含字符串。表达字符串常量时需用双引号。
7. 若有以下程序
则程序的输出结果是( )。
A.1
B.9
C.8
D.5
【答案】B
【解析】函数的递归调用,调用过程如下表所示。
相关内容
相关标签