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
相关内容
相关标签