2017年财政部财政科学研究所程序设计基础复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
A.-1
B.0
C.1
D.7
【答案】A
【解析】当a 为0时,a-表达式为0, 条件为假,循环结束,执行判断条件后a 为-1。
2. 有以下程序段:
若指定文件不存在,且无其他异常,则以下叙述错误的是( )。
A. 输出“不能打开文件!”
B. 输出“成功打开文件!”
C. 系统将按指定文件名新建文件
D. 系统将为写操作建立文本文件
【答案】A
【解析】A 项错误。fopen 函数以一定方式打开指定文件,返回一个指向文件的文件指针,如果不能实现打开指定文件的操作,则返回一个空指针NULL 。如果指定文件不存在,则创建一个文件名为指定文件名的新文件,然后打开它。在指定文件有错误或者指定文件不存在却不能创建新文件的情况下,打开文件操作错误,返回空指针。本题程序中,
文件
他异常,表示可以建立新文件,命名为
件不成立,输出“成功打开文件!”。
第 2 页,共 14 页 不存在,但无其条并以只写方式打开它,返回指向文件的指针
3. 若有以下程序
则程序的输出结果是( )。
A.2, 3
B.0, 2
C.1, 2
D.1, 3
【答案】D 【解析】
4. 有以下程序:
若文本文件filea.txt 中原有内容为:hello ,贝U 运行以上程序后,文件
( )。
A.Helloabc
B.abclo
C.abc
D.abchello
【答案】C 【解析】为写而打开文本文件。这时,如果指定的文件不存在,系统将用在fopen 调用
文件以写的形式打开再利用fprintf 函中指定的文件名建立一个新文件; 如果指定的文件已存在,则将从文件的起始位置开始写,文件中
原有的内容将全部消失数对文件进行操作,而
故中的内容是abc 。
5. 有以下程序:
第 3 页,共 14 页 1. 是先判定a 是否为0, 不管判定结果如何,都执行a++。
中的内容为是先将文件清空,再写入,所以本题是将abc 写入
程序运行后的输出结果是( )。
A.30
B.40
C.10
D.20
【答案】A
【解析】for 循环将数组a 中的值重新给自己赋值,执行完成后数组a 中的值没有发生变化,故最终输出的a[2]还是原来的a[2], 为30。
6. 设有定义:intx=ll,y=12,z=0; ,以下表达式值不等于12的是( )。
A. (z ,x ,y )
B. (z=x,y )
C.z=(x ,y )
D.z=(x==y)
【答案】D
【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D 选项逻辑表达式x==y不成立,则z=0,表达式值为0。B 选项逗号表达式X ,y 取y 值为表达式值,然后赋值给z=12,表达式值为12。C 选项逗号表达式(x ,y )取y 值为表达式值,然后赋值给z=12,表达式值为12。A 选项逗号表达式(z ,x ,y )取y 值为表达式值12。故选择D 选项。
7. 有以下程序
程序运行后的输出结果是( )。
第 4 页,共 14 页