大学计算机模拟考试常见试题与解析
UPDATE INFO
2016-12-26 更新6题(11-16)
第一题
答案
A
解析
ASCII码
空格符 32
数字0 48
数字9 57
大写字母(从A~Z) 65-90
小写字母(从a~z) 97-122
小写与大写字母的差值是32
第二题
答案
5
解析
每一个char占1个字节,\n是换行符占1个字节。在存储字符串的时候,会自动在后面加一个空字符\0,它占一个字节,故最后占5个字节。
第三题
答案
-1-1
解析
直接看printf上边那一行即可。
x=(x = 3,y = -1);
这条语句由逗号表达式组成。逗号表达式的值,是最后一个表达式的值。本题中就是y = -1的值。先计算括号内的内容,首先把3赋值给x,然后把-1赋值给y,最后把整个表达式的值,也就是-1,赋值给x。
所以最后的输出的时候,x为-1,y也为-1。
第四题
答案
total=50
解析
首先定义一个宏,PRICE 10。声明了2个整型变量num和total。并且把num赋值为5。把num和PRICE的乘积(50)赋值给total,最后输出total=50。
第五题
答案
int a,b,sum
解析
下面用到了a,b,sum这3个变量,且均为整型,故声明这3个整型变量即可。
需要注意这个空后面有分号,这里不用填分号了。
第六题
答案
1
解析
算术运算符的优先级高于关系运算符,所以先算20-5.(且两种运算符结合性都是自左向右),然后判断15<=i,因为i=10,所以不等式不成立,结果为0,然后判断0<=9,不等式成立,结果为1。
1代表表达式的结果为真,0代表假。
第七题
答案
0
解析
程序声明了2个变量x,y,并将其分别初始化为1,2。
之后x++,代表x自增1,此时x为2.然后y=x+y,意思是把x+y的值赋给y,即把4赋值给y。 之后输出x>y的值,x为2,y为4,x>y不成立,为假,值为0
(有关关系运算符的内容参考第六题)
第八题
答案
b,98
解析
首先要知道b对应的ASCII码为98(详情请见第一题或者百度ASCII)。printf的格式输出字符串中%c代表输出其ASCII对应的字符,%d代表按照整数输出,所以对应的结果如答案所示。
第九题
答案
C
解析
Cache为高速缓存,RAM为内存。
第十题
答案
22
解析
首先声明了3个变量并初始化。之后为一个表达式x=y*=z+10,把它展开的结果是
x = y = y*(z+10),
首先计算 y*(z+10), 结果是22,把22赋值给y,之后把y的值赋值给x,即把22赋值给x,最后x的值为22。
第十一题
答案
B
解析
(int)代表强制类型转换为整数型(所有小数位都舍去,而不是四舍五入)。根据运算法则,先算带有小括号里面的,然后算乘除取余(即%),然后计算加减。
先算x+y并把其结果转换为int,可见是7,然后依次计算a%3**7%2/4
a%3=1,1**7 = 7, 7%2 = 1, 1/4 = 0(因为是整型,不保留小数位)。最后剩一个前面的x+0,最后结果就是x的值,2.5。
第十二题
答案
B
解析
c语言读取数据是按照输入的内容读取的,题目表示读取2个整数,那么输入两个整数即可,不要有多余的输入。为了区分2个数,在2个数中间要有一个空格。
第十三题
答案
C
解析
题目中只声明了变量a,b却没有声明大写的B,而在输出的时候用到了B,没有声明直接使用,这对于C语言来说是非法的,故编译错误。
第十四题
答案
X,y
解析
请见第一题解析,小写字母-大写字母 = 32
第十五题
答案
void main()
解析
C语言要有main函数作为入口函数,而main函数里面没有返回值,故类型为空类型。
第十六题
答案
0
解析
int类型是整数类型,只保留整数位,所有小数位都舍去。