2017年杭州师范大学阿里巴巴商学院826计算机基础之C程序设计考研冲刺密押题
● 摘要
目录
2017年杭州师范大学阿里巴巴商学院826计算机基础之C 程序设计考研冲刺密押题(一) . .. 2
2017年杭州师范大学阿里巴巴商学院826计算机基础之C 程序设计考研冲刺密押题(二) . .. 8 2017年杭州师范大学阿里巴巴商学院826计算机基础之C 程序设计考研冲刺密押题(三) . 14 2017年杭州师范大学阿里巴巴商学院826计算机基础之C 程序设计考研冲刺密押题(四) . 20 2017年杭州师范大学阿里巴巴商学院826计算机基础之C 程序设计考研冲刺密押题(五) . 26
第 1 页,共 32 页
一、选择题
1. 有以下程序
该程序试图通过指针p 为变量n 读入数据并输出,但程序有多处错误,以下语句正确的是( )。
【答案】A
【解析】B 项的正确写法应为
项的正确写法应为
2. 有以下程序:
程序运行后的输出结果是( )。
A.12
B.11
C.10
D.9
【答案】C
【解析】x=011表示按照八进制赋值,则十进制数为9,所以输出++x的结果为10。
第 2 页,共 32 页 将变量n 的地址赋给指针p ; C
项的正确写法应为
3. 以下关于宏的叙述中正确的是( )。
A. 宏名必须用大写字母表示
B. 宏定义必须位于源程序中所有语句之间
C. 宏替换没有数据类型限制
D. 宏调用比函数调用耗费时间
【答案】C
【解析】A 项错误,用作宏名的标识符通常习惯用大写字母表示,宏名可以是任何合法的C 语言标识符;B 项错误,在语言中,宏定义可以根据需要写在任何位置:D 项错误,宏调用是在编译前由编译预处理程序完成的,不占运行的时间。
4. 有以下程序
程序运行后的输出结果是( )。
【答案】D
【解析】f 函数将数组中前9个元素的值加上对应的下标值。
5. 有以下定义语句,编译时会出现编译错误的是( )。 A. B. C. D.
【答案】D
【解析】a 是char 类型变量,"aa" 是字符串常量,不能将一个字符串赋值给一个字符变量。
第 3 页,共 32 页
6. 若有以下程序:
以下叙述中正确的是( )。
A. 可用S 定义结构体变量
B. 可用T 定义结构体变量
C.S 是struct 类型的变量
D.T 是structS 类型的变量
【答案】B
【解析】S 为结构体类型名,而T 为结构体变量名表。
7. 以下能正确定义字符串的语句是( )。 A. B. C. D.
【答案】A
【解析】字符串末尾一定要有结束标记,双引号括起来的字符串系统会默认添加结束标记。A 项正确,定义 了空字符串str 。B 项错误,str 是char 类型变量,不能用字符串为其赋值;C 项错误,字符串应该用双引号括起 来;D 项错误,如果一个字符数组用来作为字符串使用,一定要人为加入字符串中但是str 缺少结束符。
8. 以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是( )。 A. B. C. D.
【答案】A
【解析】将字符指针变量初始化为一个字符串有两种方式,一种通过赋值运算使一个字符指针指向一个字符串常量:
并且初始化为一个字符串的首地址:
变量,所以不能给一个数组名赋值,
如A 选项正确。另一种是定义一个字符指针变量,字符指针变量与字符数组都可以用来实错误,B 选项错误;(2. 字符型的指针变现字符串的存储和运算,但二者是有区别的:(1. 数组名是一个地址常量,而字符指针变量是一个量的值是可以改变的;(3. 字符指针变量和字符数组在内存中的 存储情形不同,数组指的是按照数组长度分配的若干存储空间,而指针只是一个存储字符串首地址的存储空间,所以相同类型指针可以相互赋值,而数组不能直接用“=”赋值,C 选项错误。数组不可以直接赋值字符 串
.
合法,故D 选项错误。
第 4 页,共 32 页 不合法,只有在数组初始化时可以直接赋值,
如合法,并且定义数组时必须指定数组长度,不