当前位置:问答库>考研试题

2018年杭州师范大学阿里巴巴商院826计算机基础之C程序设计考研核心题库

  摘要

一、选择题

1. 有如下程序:

程序运行后的输出结果是( )。

A.Ta=0,b=l

B.Fa=l,b=2

C.Ta=l,b=2

D.Fa=0,b=2

【答案】C

【解析】程序执行过程为:判断++a==b++是否成立,++a前置运算先加1,则a=l,b++后置运算先取值,则b=l,也即是判断1==1,成立,输出T ,之后b=2,输出a=l,b=2。故C 选项正确。

2. 以下选项中不能作为C 语言合法常量的是( )。

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项

式的常量,是合法的;C 项,是字符串常量;D 项,

单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。

3. 设有定义:intx=7, y=12;,则以下表达式值为3的是( )。

A. (y%=x)-(x%=5)

B.y%=(x%=5)

第 2 页,共 33 页 是指数形是表示八进制数整型常量。A 项错误,

C.y%=x-x%5

D.y%=(x-x%5)

【答案】A

【解析】A 项正确,a%=b表示a=a%(b ),A 项可改写成y=y%x,x=x%5,再计算y-x 计算的结果为3,满足题意;B 项为0, C 项为2, D 项等同于C 项。

4. 有以下程序:

程序运行后的输出结果是( )。

A.0

B.0

C.2

D.2

【答案】D

【解析】赋值表达式的结果值为被赋值后的变量的值。main 函数先为a 、b 赋值,然后做a+b运算,结果赋值给b ,此时b 为1,并将b 打印出来输出1

。接着做运算结果为2, 赋值给a ,打印a 输出2。

5. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。

A. (n-n/10×10)×10+n/10

B.n-n/l0×l0+n/10

C.n/10+(n-n/10)

D. (n-n/10)×10+(n/10)

【答案】A

A 项n/10得到十位数字,n-n/10得到个位数字,【解析】将个位数乘以10加上十位数字,(n-n/10

×10)×l0+n/10实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项n-n/10×10得到个位数字,n/10为十位数字,n-n/10×l0+n/10实现两位整数个位数与十位数之和,B 项错误。C 项n/10+(n-n/10)=n, 不能实现题目中要求,C 项错误。D 项n/10是十位数字,n-n/10为原两位整数减去十位数字,不是个位数字,D 项错误。

6. 有以下程序:

第 3 页,共 33 页

程序运行的结果是( )。

A.10, 1

B.20, 1

C.10,2

D.20, 2

【答案】C

【解析】题目首先定义结构体st 的同时定义结构体数组data ,可

结构体指针p 指向数组的首地址,

指向

的第二个元素data[l],

然后输出

7. 有以下程序:

程序运行时,输入的值在范围才会有输出结果( )。

A. 不等于10的整数

B. 大于3且不等于10的整数

C. 大于3或等于10的整数

D. 小于3的整数

【答案】B

【解析】else 总是和其上面最近的if 相匹配,对于第一个if ,只有一个else 语句,所以,若if 为真,表示不做任何处理,只有为假时才进入else 语句中,在else 语句中,若只有一个if 语句,只有其为真才输出。

8. 以下叙述中正确的是( )。

A.C 程序的基本组成单位是语句

B.C 程序中的每一行只能写一条语句

C. 简单C 语句必须以分号结束

D.C 语言必须在一行内写完

【答案】C

【解析】在C 语言中,每条语句必须以分号结束。A 项错误,C 程序的基本组成单位是函数;

第 4 页,共 33 页

则指向数组 所以分别为10和2。即输出