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岁(含
中。结果在主函数中输出。