2016年中南财经政法大学信息与安全工程学院程序设计复试笔试最后押题五套卷
● 摘要
一、选择题
1. 有以下程序:
程序运行后输出的结果是。
A.0, 4, 5
B.4, 4, 5
C.4, 4, 4
D.0, 0, 0
答:A
【解析】C 语言中可以将多条语句放在同一行,用“;”隔开。赋值运算和逗号运算都是从左
,得A 的值为5, 然后执行C=(A-=A-5), 即将A 到右结合。首先执行A-=A-5,即A=A-(A-5)
的值5赋给变量C , 使得C 的值也为5。然后执行下句逗号表达式中的A=B, 把B 的值0赋给A ,此时A 的值为0, 然后执行B=B+4, 使得B 的值为4,最后打印输出。
2. 若有定义语句intx=10; 则表达式x-=x+x的值为( )。
A.-20
B.-10
C.0
D.10
答:B
【解析】赋值表达式,首先计算右边表达式,然后在进行赋值。先做x+x,结果为20,再做x-20,结果为-10,赋值给X 。
3. 若变量已正确定义并赋值,以下符合C 语言语法的表达式是( )。
答:B
【解析】B 项正确,
给y 。A 项错误,是前缀表达式,是复合语句,先进行X--, 然后把自减后的值赋是右值,不能被赋值;D 项错误,应是右值,不能被赋值;C 项错误,
第 2 页,共 34 页
改成
语言语法。
4. 有以下程序:
是表示声明了一个double 变量,它名字是显然不符合C
程序的运行结果是( )。
答:C
【解析】调用f 函数时,将结构体数组名作为实参传给了形参指针,使结构体指针a 指向了结构体C 的首地址。因此,在f 函数中,对指针所指结构体中的成员的赋值就是对数组c 中元素的赋值,故返回主函数之后,数组c
中成员的值已被更新,
最终输出结果为
5. 以下结构体类型说明和变量定义中正确的是( )。
答:A
A 项,B 项,【解析】用typedef 定义结构体类型名REC 后,可以用REC 定义变量。“structREC ;”
后面不应加分号;C 项,没有这样的书写形式;D 项,REC 定义的是一个变量,不是结构体类型,因此不能用来定义结构体变量。
第 3 页,共 34 页
6. 设有宏定义
:
用:IsDIV
A. 判断m 是否能被5或7整除
B. 判断m 是否能被5和7整除
C. 判断m 被5或7整除后是否余1
D. 判断m 被5和7整除后是否都余1
答:D
【解析】
要求
一个选择表达式,当
否则返回且变量m 已正确定义并赋值,则宏调为真时所要表达的是( )。 都为真,即返回1,这是为真时返回1,否则返回0,即当k 除以n 的余数为1是返回1,
是逻辑表达式,只有当IsDIV (m ,5)和IsDIV (m ,7)同时为真时,整个表达式才为真。
7. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。
A.a=(b=c)+8;
B. (a=b)=c=9;
C.a=(b==c)=‘A ’;
D.a+b=c+l;
答:A
【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。
8. 设有定义: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 选项。
第 4 页,共 34 页
相关内容
相关标签