2017年东北理工大学C语言程序设计(同等学力加试)复试实战预测五套卷
● 摘要
一、选择题
1. 若有定义:
则与上述定义完全等价的说明语句是( )。
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 项正确。
2. 以下程序:
程序运行后的结果是( )。
A.0
B.-12
C.-20
D.10
【答案】C
【解析】将函数的宏替换
代入程序中即可
。
3. 若有定义:inta=0,b=0, c=0, d=0; ,有C 语言表达式
行顺序的叙述正确是( )。
A. 先执行a++, 表达式a++的值为0,短路,得a++,执行它 以下关于其执
B. 先执行a++,表达式a++的值为0; 再执行b++,表达式b++的值为0,由此可确定
值为0,因此执行d++
C. 先执行a++,表达式a++的值为1; 再执行b++,表达式b++的值为1, 由此可确定
值为1, 因此执行C++
D. 先执行b++,表达式b++的值为1; 再执行a++,表达式a++的值为1,由此可确定
值为1,因此执行C++
【答案】A
【解析】表达式1? 表达式2:表达式3, 若表达式1为真,则执行表达式2, 否则执行表达式3。逻辑与运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式>中,左操作数a++的值为0, 已经可以确定整个逻辑表达式的结果为0, 因此右操作数b++不再求解,直接执行表达式3, 即d++, A 项正确。
4. 若有定义语句
接着执行以下选项中的语句,则能正确执行的语句是( )。 A. B. C. D.
【答案】B
【解析】scanf 中参数列表,需为地址,只有B 项符合题意。
5. 以下叙述中错误的是( )。
A.C 语言编写的函数源程序,其文件名后缀可以是.C
B.C 语言编写的函数都可以作为一个独立的源程序文件
C.C 语言编写的每个函数都可以进行独立的编译并执行
D. —个C 语言程序只能有一个主函数
【答案】C
【解析】C 源程序经过C 编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文,然后由称为“连接程序”(Link )的软件,把此.OBJ 文件与C 语言提供的各种库函数连接件)
起来生成一个后缀为.EXE 的可执行文件。只有含有main 函数的经过编译链接才能执行。
6. C 源程序中不能表示的数制是( )。
A. 二进制
B. 八进制
C. 十进制
D. 十六进制
【答案】A
【解析】C 语言中整型常量可以用十进制、八进制数、十六进制数来表示。虽然计算机只能识别二进制数,但二进制不能用来表示整型常量。
7. C 语言编译程序的功能是( )。
A. 执行一个C 语言编写的源程序
B. 把C 源程序翻译成码
C. 把C 源程序翻译成机器代码
D. 把C 源程序与系统提供的库函数组合成一个二进制执行文件
【答案】C
【解析】变异程序可以把用户按C 寓言规定的语法写出的语句翻译成二进制的机器指令,每条C 语句经过编译最终都将转换成二进制的机器指令。
8. 有以下函数:
函数的功能是( )。
A. 求字符串的长度
B. 比较两个字符串的大小
C. 将字符串s 复制到字符串t 中
D. 连接字符串s 和字符串t
【答案】B
【解析】函数体执行过程为:将两个字符串首地址传入函数,分别赋给指针S 与t ,在函数体内8与1所指向 的字符串的字符不为
返回值大于0表示字符串
串大小的功能。
时,判断两个指针指向的字符是否相同,若相同则两码值之差。返回值为0, 表示函数实现了比较两个字符个指针分别加一指向下一个字符,若不同则退出while 循环,返回不相同的字符的返回值小于0表示
二、设计题
9. 请编写一个函数fun , 它的功能是:将SS 所指字符串中所有下标为奇数位置的字母转换为大写(若该位 置上不是字母,则不转换)。
例如,若输入“abc4Efg ”,则应输出“aBc4EFg ”。
注意:部分源程序在文件PROG1.C 中。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。
试题程序:
相关内容
相关标签