温州大学C语言程序设计考研复试核心题库 (一)
说明:本资料为学员内部使用,整理汇编了 考研复试重点题及历年复试常考题 。
_、选择题
1 ,在以下给出的表达式中,与while ( E )中的(E )不等价的表达式是( )。
A. ( ¡ E=O)
B. (E>0 II E<0)
C. (E==O)
D. (E ! =0)
【答案】c
【解析】ABD三 都是E不等于零时执行while循环,C 是E等于零时执行while循环。
2 .若想给已定义为int 的变量a、b 、c 、 赋整数 1,以下选项中错误的语句是( )。
A. =c. c=b, b=a, a=l:
B. =c=b=a= 1 ;
C. = (b=c= (a=l )):
D. =l» c= , b=c, a=b:
【答案】A
[解析】赋值是将一个常量的值赋给一个变量,A 中,变量c初始值未定义,相当于一个
未知数给变量 赋值,不满足赋值为1的条件。
3 .设有定义:intx=ll, y= 12, z=0;,以下表达式值不等于12的是( )。
A. ( z, X, y )
B. ( z=x, y )
C. z= ( x, y )
D. z= ( x==y )
【答案】D
[解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边f表达式的
值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变
量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达
式成立则返回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 .关于C语言中数的表示,以下叙述中正确的是( )。
A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差
B. 只要在允许范围内整型和实型都能精确表示
C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差
D. 只有八进制表示的数才不会有误差
【答案】A
【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实
数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整
形数允许范围之内,二进制可以表示任意一个整数。
5 .设有以下说明和语句 :intx[3] [4], (*p) [4]; p=a ;.则与表达式*(*p+2)等价的选项是
( )。
A. a[0][2]
B. * (a+2) [0]
C. (*a+2) [0]
D. a⑵[0]
【答案】A
【解析】(*P)⑷是指向有4个元素的数组指针,a为二位数组首地址,赋值给数组指针p。
题目中表达式。(*p+2)是对数组a第1行第3列元素的引用。a 【0]⑵是数组第1行第3列元素,
与题目中等价,A 正确。,(a+2) 2 1是对数组第3行第1列元素的引用,B 错误。(*a+2) [0|>
对数组第1行第3列元素的引用 ,C 错误。a[2][0]是数组第3行第1列元素,D 错误。
6 .有以下程序:
# ¡nclu e < st io. h >
type ef struct stu |
char name] 10];