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

2017年河南科技大学管理学院878面向对象程序设计考研题库

  摘要

一、选择题

1. 以下选项中合法的C 语言赋值语句是( )。

A.++i;

B.a=b=34

C.a=3,b=9

D.k=int(a+b);

【答案】A

【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为k=(int )(a+b)。

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

【答案】A

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

3. 下面结构体的定义语句中,错误的是( )。

【答案】B

【解析】C 语言中结构体变量的定义有3种方法:①定义结构体类型的同时定义结构体变量,如C 项;②使 用无名结构体类型定义结构体变量,如D 项;③先定义结构体类型,后定义结构体变量,如A 项。

4. 以下叙述中正确的是( )。

A. 不能用字符串常量对字符数组名进行整体赋值操作

B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C.

D.

【答案】A

【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串

在语法上是合法的,运行也是安全的 效果是一样的

B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加它共有6个元素;

C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。

5. 设有定义: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 选项。

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

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。单引号表示字符常量,但不能包含字符串。表达字符串常量时需用双引号。

7. 有以下程序:

程序运行后的结果是( )。

A.11

B.21

C.6

D.120

【答案】B

【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元,其生存周期 一直延续至整个程序结束。fim 函数被调用了 5次,第1次

第2次,第3次,第4次,

第5次,

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

【答案】D

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

9. 有以下程序:

程序运行后的输出结果是( )。

A.1, 12,13,4,15,

B.10,9, 8,7,6,

C.1, 7, 13, 9, 15,

D.10, 12, 8, 4,6,

【答案】A