2017年北京信息科技大学计算机学院817数据结构和C语言[专业硕士]之C程序设计考研强化模拟题
● 摘要
一、选择题
1. 若变量已正确定义为int 型,要通过语句给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
【答案】B
【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。
2. 有以下程序
程序运行后的输出结果是( )。
A.20
B.16
C.12
D.25
【答案】B 【解析】展开后是
3. 以下关于C 语言数据类型使用的叙述中错误的是( )。
A. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
B. 若要保存带有多位小数的数据,可使用双精度类型
C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D. 整数类型表示的自然数是准确无误差的
【答案】A
【解析】A 项错误,C 语言中没有逻辑类型,在C++中才引入的;B 项正确,float 类型称为
单精度类型,double 类型称为双精度类型,一般系统中,为float 类型的变量分配4个字节的存储单元,为double 类型的变量分配8个字节的存储单元。C 项正确,struct 结构体,可以用来描述包含多种基本类型的复杂对象。
4. 以下不能输出字符A 的语句是。(注:字符A 的ASCII 码值为65,字符a 的ASCII 码值为97。)
【答案】B
【解析】A 项,字符a 的ASCII 码值减去32为A 的ASCII 码值,执行字符输出,即为A ; B 项,执行整型输出,结果为65; C 项,字符型输出A ; D 项,字符型输出答案A 。
5. 以下叙述中正确的是( )。
A.C 语言中的文件是流式文件,因此只能顺序存取数据
B. 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C. 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D. 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
【答案】D
【解析】D 项正确,C 语言中读写文件是通过文件缓冲区完成的,在完成了对文件的操作之后,应当关闭文件,否则文件缓冲区中的剩余数据可能丢失。A 项错误,C 程序中的输入、输出文件都以数据流的形式存储在介质上,用顺序存取和直接存取两种方式;B 项错误,可以以追加的方式写文件;C 项错误
6. 有以下程序:
程序运行后的输出结果是( )。
A.fwo
B.fix
C.two
D.owo
为读和写而打开文本文件,在读和写操作之间不必关闭文件。
【答案】A
【解析】for 循环实现的功能是将二维数组的第一列字母从小到大排序。第一列排完之后为f ,f ,O , t ,t ,输出即输出数组的第二行,即为fwo 。
7. 有以下程序:【程序中含有错误】
程序运行的结果是( )。
A.0
B.10
C.20
D. 出错
【答案】C
【解析】函数fun 的功能是:动态分配int 型大小的内存空间,指针P 指向该存储区的首地址,并将它初始化为参数n 的值,然后返回这个值,函数将传递给形参的变量保存在该存储区。a=fim(10)=10,则a+fun(10)=20。
8. 有以下程序:
程序的运行结果是( )。
A.abcdef
B.cbcdef
C.cdef
D.ab
【答案】A
【解析】strcat 把字符串a , b连接起来放在数组a 中,while 语句再将字符串a 赋给字符串b 。