2018年南京师范大学教育科学院824计算机综合[专硕]之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. C 语言中,最基本的数据类型包括( )。‘
A. 整型、实型、逻辑型
B. 整型、字符型、数组
C. 整型、实型、字符型
D. 整型、实型、结构体
【答案】C
【解析】C 语言中,最基本的数据类型包括整型、实型、字符型,答案为C 选项。
2. 若有函数声明
:以下叙述正确的是( )。
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量
C. 调用函数时,实参数组的值将一一复制给array 数组
D. 调用函数时,array 是按值传送,ptr 是按地址传送
【答案】A
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
3. 以下程序的功能是:通过调用calc 函数,把所求得的两数之和值放入变量add 中,并在主函数中输出。
calc 函数中下划线处应填入的是( )。
【答案】A
【解析】程序的执行过程为:从键盘读入两个float 类型数据,分别赋给x ,y ,调用函数calc 将x 与y 的值与add 变量地址传入函数,地址赋给指针sum ,函数体中将两数之和放入指针指向的地址,指针正确的引用形式为(*SUm),这表示变量,可以被赋值。所以横线处填写*sum,故A 选项正确。
4. 有以下程序段
若要求使p 指向一个int 型的动态存储单元,在横线处应填入的是( )。
A.int
B. (int*)
C.int*
D. (*int)
【答案】B
C 语言标准规定malloc 函数返回值的类型为void*,malloc ,【解析】函数的调用形式为:(size )
size 的类型为unsignedint 。p 是指向int 型的指针,要把void*强制转换成int*。
5. 设变量p 是指针变量,语句是给指针变量赋NULL 值,它等价于( )。 A. B. C. D.
【答案】C
【解析】p=NULL,NULL 的代码值为0,等价于
6. 以下叙述中正确的是( )。
B. 每个后缀为.C 的C 语言源程序都可以单独进行编译
C. 在C 语言程序中,只有main 函数才可以单独进行编译
D. 每个后缀为.C 的C 语言源程序都应该包含一个main 函数
【答案】B
main 是主函数的起始行,【解析】每一个可执行的C 程序都必须有一个且只能有一个主函数。
后缀名为.C 的C 语言源程序都可以单独进行编译。
或p=0。 A. 在C 语言程序中,main 函数必须放在其他函数的最前面
7. 有以下程序:
编译时编译器提示错误信息,你认为出错的语句是( )。
【答案】A
【解析】A 项,
8. 有以下定义
【答案】A 是不正确的表达式; 则以下选项中正确的表达式是( )。
【解析】%运算是取两整数相除后余数的运算符,它只适用于整数的运算。A 项正确,
果为double 型, 但是通过强制类型转换将其转换为int 型;B 项错误,
个优先级的,
先运行
才是正确的;C 项错误,
为左值。
9. 以下选项中正确的定义语句是( )。
【答案】C
【解析】定义同一类型的变量时,不同变量之间需要用b 中的结中==和!=是同一不能作而因为double 是占8位的,不能自动转换,必须要强制类型转换
,为double 型;D 项错误,分隔。A 项错误,a 和b 之间缺少逗号而用分号,是不正确的,分号是语句结束标志;B 项错误,定义变量的同时为变量初始化赋值不能用连等;D 项错误,在double 和a 之间多了一个逗号,变量类型说明后面不应用逗号,应用空格分离。
10.有以下程序: