2017年北京市培养单位空间应用工程与技术中心864程序设计考研冲刺密押题
● 摘要
一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
A.123456
B.14
C.1234
D.12
【答案】A
【解析】将有6个元素的整型数组分两行输出到一个文件中,因为输出的都是数字并且每行都没有分隔符,所以当再对其进行读取操作时,每一行都会被认为是一个完整的数,而换行符则作为它们的分隔符。
2. 有以下定义和语句:
在VC6平台上编译运行,程序运行后的输出结果是( )。
A.3,4
B.4,4
C.4,8
D.10,6
【答案】C
【解析】整型数据占4个字节,而双精度型数据占8个字节。
3. 下列定义变量的语句中错误的是( )。
A.doubleint_;
C.charFor ;
D.int_int;
【答案】B 【解析】符号,不能出现在标识符中。
4. 有如下程序:
程序运行后的输出结果是( )。
A.A45D78
B.ABC678
C.34CD78
D.34AB78
【答案】A
【解析】本题执行过程为:if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,
条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。
5. 设有定义:inta=0,b=l, c=l;以下选项中,表达式值与其他三个不同的是( )。
A.b=a==c
B.a=b=c
C.a=c==b
D.c=a!=c
【答案】A
【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1, 不成立返回0。A 项,逻辑表达式a==c不成立,则b=0, 表达式值为0;B 项,将c 赋
值给b , b=l, 再将b 赋给a , a=l,表达式值为1; C 项,逻辑表达式c==b成立,则a=l,表达式值为1; D 项,逻辑表达式a!=c成立,则c=l,表达式值为1。A 项与其他项不同。
6. 以下叙述中正确的是( )。
A.C 语言中的文件是流式文件,因此只能顺序存取数据
B. 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C. 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D. 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
【答案】D
【解析】D 项正确,C 语言中读写文件是通过文件缓冲区完成的,在完成了对文件的操作之后,应当关闭文件,否则文件缓冲区中的剩余数据可能丢失。A 项错误,C 程序中的输入、输出文件都以数据流的形式存储在介质上,用顺序存取和直接存取两种方式;B 项错误,可以以追加的方式写文件;C 项错误
7. 有以下程序
若想通过键盘输入,使得al 的值为12, a2的值为34, cl 的值为字符a ,c2的值为字符b , 程序输出结果是:12, a , 34, b ,则正确的输入格式是(以下□代表空格,
【答案】A
【解析】因为空格和回车也是字符变量,所以在输入a 和b 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非a 和b ; int 类型不会取到空格和回车,所以12和34前面可以有空格和回车。在scanf 函数并没有使用通配符逗号,所以输入时不能输入逗号。
8. 有如下程序:
为读和写而打开文本文件,在读和写操作之间不必关闭文件。