当前位置:问答库>考研试题

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.有以下程序: