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

2018年北京航空航天大学交通科学与工程院991数据结构与C语言程序设计之C程序设计考研强化五套模拟题

  摘要

一、选择题

1. 以下叙述正确的是( )。

A. 文件指针是指针类型的变量

B. 在使用文件指针时,不需要在内存中为其分配空间

C. 文件指针变量的值是文件的当前读取位置

D. 调用fscanf 函数能向所有类型的文件中写入任意字符

【答案】A

【解析】A 项正确,文件指针是指向文件类型的指针变量;B 、C 项错误,文件指针指向的是文件缓冲区,而不是文件本身位置;D 项错误,fscanf ( )函数作用是从指定的文件中格式化读数据,读取数据类型由格式控制符决定。

2. 有以下程序:

程序运行的结果是( )。

A.1,2,3,4,5,6, 7,8, 9,0,

B.2, 1, 4, 3, 6, 5, 8, 1, 0, 9,

C.0,9, 8,7,6,5,4, 3,2,1,

D.0,1,2,3,4,5,6,7,8,9

【答案】A

【解析】在C 语言中,函数参数的传递默认是“传值”的,即形参和实参是两个没有关系的变量,函数fun 虽然看似交换了参数值,但是只交换了形参的值,结果不会传递给实参。因此,数组C 没有变化,按原样输出。

3. 有如下程序:

程序运行后的输出结果是( )。

A.MN

B.LK

C.OP

D.MM

【答案】B

ch —后值为‘L ’,【解析】程序执行过程为:定义字符变量ch=‘M ’,判断ch!=‘K ’成立,

输出L ; 判断ch!=‘K ’成立,ch —后值为‘K ’,输出K ; 判断ch!=‘K ’不成立,退出循环。程序运行后的输出结果为LK 。

4. 以下关于C 语言数据类型使用的叙述中错误的是( )。

A. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型

B. 若要保存带有多位小数的数据,可使用双精度类型

C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型

D. 整数类型表示的自然数是准确无误差的

【答案】A

【解析】A 项错误,C 语言中没有逻辑类型,在C++中才引入的;B 项正确,float 类型称为单精度类型,double 类型称为双精度类型,一般系统中,为float 类型的变量分配4个字节的存储单元,为double 类型的变量分配8个字节的存储单元。C 项正确,struct 结构体,可以用来描述包含多种基本类型的复杂对象。

5. 有以下程序:

程序运行后的结果是( )。

【答案】D

【解析】main 函数首先将数组a 中的元素值写入文件,再将文件中的元素倒序存放在数组a 中,最后答应数组a 的值,最终输出为6, 5, 4,3, 2,1。

6. 以下不合法的数值常量是( )。

A.8.0E0.5

B.lei

C.011

D.Oxabcd

【答案】A

【解析】E 前E 后有数字,E 后数字为整数,A 项E 后面为小数,错误。

7. 以下叙述中正确的是( )。

A. 函数的形参类型不能是指针类型

B. 函数的类型不能是指针类型

C. 设有指针变量为

【答案】C

【解析】C 项正确,一般情况下,double 类型的变量长度为8个字节,对指针进行加、减运算时,数字“1”指1个存储单元长度。A 项错误,函数的形参可以是数值类型,也可以是指针类型;B 项错误,C 语言中有指向函数的指针,称为函数指针;D 项错误,int 类型的指针只能指向int ,不能指向double ,指针变量不能混用。

8. 有如下定义:

以下语句错误的是( )。

【答案】A

【解析】A 项中_是结构指针访问结构成员的方式,如果为结构体内变量进行赋值,

前面应该加入取地址符 应该对指针地址指向的单元进行赋值,因此在

9. 有以下程序

则p+1将指针p 移动8个字节 D. 基类型不同的指针变量可以相互混用