2016年四川师范大学计算机科学学院程序设计复试笔试最后押题五套卷
● 摘要
一、选择题
1. 若有定义inta ,b ,c ; 以下选项中的赋值语句正确的是( )。
A.a=Cb=c)+1;
B. (a=b)=c=l:
C.a=(b==c)=1;
D.a+b=c:
答:A
【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。A 项中,将c 赋值给b ,然后将b 加1赋值给a ,是正确的赋值语句,正确。B 项中,将1赋值给c ,赋值运算(a=b)=c中左值为表达式,不是变量不能被赋值,错误。C 项中赋值运算(b=c)=1左值为逻辑表达式,不是变量不能被赋值,错误。D 项左值(a+b)为表达式,不是变量不能被赋值,D 项错误。
2. 以下不能正确表示代数式
答:D 【解析】与/优先级相同,所以采用左结合的方式。D 项若改为:
3. 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A. 可以是任意合法的表达式
B. 只能是整数0或非0整数
C. 可以是结构体类型的数据
D. 只能是整数0或1
答:A
【解析】C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式。
4. 有以下程序
第 2 页,共 33 页 的C 语言表达是( )。
则为正确。
程序运行后的输出结果是( )。
A.1, 2
B.2, 4
C.1, 4
D.2, 3
答:A
【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员,函数中形参结构体变量的改变不会影响到实参结构体变量。所以,函数f 不会改变a 中的数据。
5. 有以下程序段:
当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name 的值为( )。
A.Lili
B.name=Lili
C.Lilinum=
D.name=Lilinum=1001
答:A
【解析】在C 语言中输入多个字符串时,系统会把空格字符作为输入的字符串之间的分隔符。本题中,由于输入两个变量,所以中间应该以回车键为间隔,当从键盘输入name=Lilinum=1001只是输入第一个变量,并且只将Lili 赋值给了name 。
6. 有以下程序:
第 3 页,共 33 页
程序的运行结果是( )。
A.5, 0
B.6, 0
C.5, -1
D.6,-1
答:C
【解析】程序执行过程为:执行do …while 的循环体:y=5,判断y 为真,x=l; y=4, x=2; y=3, x=3; y=2,x=4; y=l, x=5; y=0,判断y 为假,退出循环体。判断
y=0为假,y=—1,退出循环。输出x , y 为5,-1, 故C 项正确。
7. 有以下程序段,若变量已正确定义并赋值( )。
则与此程序段功能相同的选项是( )。
答:A
【解析】程序段执行过程为:如果a>b,输出x ,否则输出y ; 如果a<=b,i 加1,否则j 加1。A 项如果a>b,A 项正确。B 项如果a>b,输出x 且j 加1, 否则输出y 且i 加1, 与题目中功能相同,
输出x 且i 加1,否则输出y 且j 加1,与题目中功能不相同,B 项错误。C 项如果a<=b,输出x
C 项错误。D 项判断条件为a>=b,且i 加1,否则输出y 且j 加1,与题目中功能不相同,多了a=b,
D 项错误。
8. 有以下程序
第 4 页,共 33 页
条件