大学计算机模拟考试常见试题与解析

UPDATE INFO

2016-12-26 更新6题(11-16)

第一题

image

答案

A

解析

ASCII码
空格符 32
数字0 48
数字9 57
大写字母(从A~Z) 65-90
小写字母(从a~z) 97-122
小写与大写字母的差值是32

第二题

Markdown

答案

5

解析

每一个char占1个字节, 是换行符占1个字节。在存储字符串的时候,会自动在后面加一个空字符,它占一个字节,故最后占5个字节。

第三题

Markdown

答案

-1-1

解析

直接看printf上边那一行即可。
x=(x = 3,y = -1);
这条语句由逗号表达式组成。逗号表达式的值,是最后一个表达式的值。本题中就是y = -1的值。先计算括号内的内容,首先把3赋值给x,然后把-1赋值给y,最后把整个表达式的值,也就是-1,赋值给x。
所以最后的输出的时候,x为-1,y也为-1。

第四题

Markdown

答案

total=50

解析

首先定义一个宏,PRICE 10。声明了2个整型变量num和total。并且把num赋值为5。把num和PRICE的乘积(50)赋值给total,最后输出total=50。

第五题

Markdown

答案

int a,b,sum

解析

下面用到了a,b,sum这3个变量,且均为整型,故声明这3个整型变量即可。
需要注意这个空后面有分号,这里不用填分号了。

第六题

Markdown

答案

1

解析

算术运算符的优先级高于关系运算符,所以先算20-5.(且两种运算符结合性都是自左向右),然后判断15<=i,因为i=10,所以不等式不成立,结果为0,然后判断0<=9,不等式成立,结果为1。
1代表表达式的结果为真,0代表假。

第七题

Markdown

答案

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
(有关关系运算符的内容参考第六题

第八题

Markdown

答案

b,98

解析

首先要知道b对应的ASCII码为98(详情请见第一题或者百度ASCII)。printf的格式输出字符串中%c代表输出其ASCII对应的字符,%d代表按照整数输出,所以对应的结果如答案所示。

第九题

Markdown

答案

C

解析

Cache为高速缓存,RAM为内存。

第十题

Markdown

答案

22

解析

首先声明了3个变量并初始化。之后为一个表达式x=y*=z+10,把它展开的结果是
x = y = y*(z+10),
首先计算 y*(z+10), 结果是22,把22赋值给y,之后把y的值赋值给x,即把22赋值给x,最后x的值为22。

第十一题

Markdown

答案

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。

第十二题

Markdown

答案

B

解析

c语言读取数据是按照输入的内容读取的,题目表示读取2个整数,那么输入两个整数即可,不要有多余的输入。为了区分2个数,在2个数中间要有一个空格。

第十三题

Markdown

答案

C

解析

题目中只声明了变量a,b却没有声明大写的B,而在输出的时候用到了B,没有声明直接使用,这对于C语言来说是非法的,故编译错误。

第十四题

Markdown

答案

X,y

解析

请见第一题解析,小写字母-大写字母 = 32

第十五题

Markdown

答案

void main()

解析

C语言要有main函数作为入口函数,而main函数里面没有返回值,故类型为空类型。

第十六题

Markdown

答案

0

解析

int类型是整数类型,只保留整数位,所有小数位都舍去。

原文地址:https://www.cnblogs.com/pengwill/p/7367178.html