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

2017年成都信息工程大学面向对象程序设计(同等学力加试)考研复试核心题库

  摘要

一、选择题

1. 有以下程序:

若文本文件filea.txt 中原有内容为:hello ,贝U 运行以上程序后,文件( )。

A.Helloabc B.abclo C.abc

D.abchello 【答案】C

【解析】

为写而打开文本文件。这时,如果指定的文件不存在,系统将用在fopen 调用

文件以写的形式打开

再利用fprintf 函

中指定的文件名建立一个新文件; 如果指定的文件已存在,则将从文件的起始位置开始写,文件中

原有的内容将全部消失数对文件进行操作,而故

中的内容是abc 。

是先将文件清空,再写入,所以本题是将abc 写入

中的内容为

2. 以下选项中不能作为C 语言合法常量的是( )。

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形式的常量,是合法的;C 项,是字符串常量;D 项,\011是表示八进制数整型常量。A 项错误,单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。

3. 以下选项中,能用作数据常量的是( )。

【答案】A

【解析】A 项表示长整型;115。B 项,八进制数范围是0~7; C 项,浮点数表示中e 后面必须跟整数,D 项,八进制数应该是以零开始。

4. 设有两行定义语句:

int scanf; float case;

则以下叙述正确的是( )。 A. 两行定义语句都不合法 B. 两行定义语句都合法 C. 第1行语句不合法 D. 第2行语句不合法 【答案】D

【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函 数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途 的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。

5. 有以下程序:

程序运行后的输出结果是( )。 A.y=0 B.y=-l C.y=l

D.while 构成无限循环

【答案】B

【解析】当y=0时,不符合while 循环条件,经过y--值变为-1。

6. 以下不是合法C 语言转义字符的是( )。

A. B. C. D. 【答案】A

【解析】C 语言中,

表示响铃,

表示退格,

表示回车不换行,故答案为A 选项。

7. 设变量均己正确定义并且赋值,以下与其他三组输出结构不同的一组语句是( )。

【答案】D

【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。++X表示先将X 值加1后再用,X++表示先使用X 值,用后再加1,所以本题中ABC 选项都会输出x+1的值。

8. 设有定义:以下表达式值不等于12的是( )。

【答案】D

【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型 相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D 选项逻辑表 达式逗号表达式X ,y 取y 值为表达式值,然后赋值给取y 值为表达式值,然后赋值给式值12。故选择D 选项。

不成立,则

表达式值为0。B 选项

取y 值为表达

表达式值为12。C 选项逗号表达式

表达式值为12。A 选项逗号表达式

二、设计题

9. 请根据以下各小题的要求设计C 应用程序(包括界面和代码)。

,它的功能是:统计各年龄段的人数。N 个年龄通过调用随机函数获请编写函数fun ( )

得,并放在主函数的 age 数组中;要求函数把0至9岁年龄段的人数放在年龄段的人数放在

中,把20至29岁年龄段的人数放在

100岁)以上年龄的人数放在

注意:部分源程序给出如下。

请勿改动主函数main ( )和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。 试题程序如下:

P ,把10至19岁

中,其余依次类推,把100岁(含

中。结果在主函数中输出。