2017年新疆师范大学计算机科学与技术教育研究(同等学力加试)之C程序设计考研复试核心题库
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.8,16
B.16,32
C.8,32
D.16,16
【答案】C
【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA (FNB (a ))的替换过程为:FNA (2+2)替换为2+2X2+2,计算结果为8。FNB (FNA (b ))的替换过程为:FNB (4*4)替换为4X4+4X4=32。程序运行后的输出结果是8,32,故C 项正确。
2. 以下不能输出小写字母a 的选项是( )。 A. B. C. D.
【答案】A
【解析】printf 函数格式控制符仏以字符形式输出数据。putchar 函数将括号中参数以字符形式输出。A 项“a ”为字符串,不是单个字符,输出格式不正确,不能输出a 。B 项字符‘a ’的ASCII 码为97,字符‘A ’的ASCII 码为65。‘A ’+32即为‘a ’,能输出a 。C 、D 项putchar 函数参数均为字符‘a ’,均可正确输出a 。
3. 若有说明语句
:以下叙述正确的是( )。
A.ptr 是一个具有10个指针元素的一维数组,每个元素都只能指向整型变量
B.ptr 是指向整型变量的指针
C.ptr 是一个指向具有10个整型元素的一维数组的指针
D.ptr 是一个指向10个整型变量的函数指针
【答案】A
【解析】A 项正确,定义一个指针数组。ptr 是指针数组不是指针,B 项错误;定
C 项错误;函数指针是指向义指向具有10个整型元素的一维数组的指针格式为:
函数的指针,不会指向整型数组,D 项错误。
4. 以下叙述中正确的是( )。
A. 函数的返回值不能是结构体指针类型
B. 函数的返回值不能是结构体类型
C. 在调用函数时,可以将结构体变量作为实参传给函数
D. 结构体数组不能作为参数传给函数
【答案】C
【解析】C 项正确,结构体变量作为实参时,是传值形式调用;AB 两项错误,函数的返回值可以是结构体变量和结构体指针变量;D 项错误,向函数传递结构体数组名时,传递的是实参结构体数组的首地址,是传引用形式调用。
5. 有以下程序:
程序运行后的输出结果是( )。
A.02
B.13
C.57
D.12
【答案】D 【解析】具有短路效应,当前面的表达式结果为逻辑假时后面的表达式不在进行
的计算,k 的值为1, 所以结果为1和2。计算。k++首先去k 的值,为0, 为逻辑假不在进行
6. 设有定义:
则以下赋值语句中正确的是( )。
A.s[0]=m[l];
B.s=m;
C.s.l3=m.n;
D.s[2].x=m[2].x;
【答案】A
【解析】定义了结构体类型数组s ,长度为2,结构体类型数组m ,长度为2,并进行了初始化。同类型的结构体可以直接用变量名实现赋值,A 选项正确。数组名为数组首地址,地址常量之间不可以相互赋值,B 选项错误。C 选项引用结构体成员错误,数组名为地址常量不是结构体变量,不能引用成员。D 选项数组越界,不存在s[2]与m[2]。
7. 有以下程序:
程序的运行结果是( )。
A.1, 2
B.3, 6
C.4, 7
D. 变量的地址值
【答案】B
【解析】程序的执行过程为:定义整型数组
结构体数组X ,并为其初始化,则
x2的第一个元6。程序的运行结果是3,6, 故B 选项正确。
8. 有如下定义:
若文件已正确打开,且数组x 的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。
【答案】A
【解析】A 项中,因为n=l, 即每次写入1个结构体数据,x 是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去。
并进行初始化,两个数组长度均为2。定义输出x[0]的成员指针b 指向的内存单元值,即数组xl 的第一个元素3, 输出x[l]的成员指针b 指向的内存单元值,即数组
相关内容
相关标签