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

2017年贵州大学机械工程学院846C考研强化模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.1, 3

B.0, 2

C.0, 3

D.1, 2

【答案】D

【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。第一次循环之后a=_l, b=l,第二次循环之后,a=0, b=2, 第三次循环时,由于a=0, 此时产生短路现象,即系统跳过b++不再对它进行求值,这时,a 自增1,由0变为1, 而b 的值不变,仍为2,故结果为1,2。

2. 以下选项中,合法的一组C 语言数值常量是( )。

A.12. 0Xa23 4.5e0

B.028 .5e_3 -0xf

C..177 4el.5 Oabc

D.0x8A 10.000 3.e5

【答案】A

【解析】A 项,C 语言中小数必须要有小数点,但是小数部分可以省略,12. 是合法的常量;C 语言中十六进制数以0X 或Ox 开头,0Xa23是指十六进制数a23; 在C 语言中,“e ”或“E ”后跟一个整数来表示以10为底的幂数,

只能在(K7之间;D 项,10,000中不能有逗号。

3. 有以下程序

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

A.1, 2, 4

B.1, 3, 6

C.3, 10, 14

第 2 页,共 42 页 B 项,028表示的是八进制,以0开头,0后面的数字只能在0~7之间。C 项,4el.5,e 后面只能跟整数,Oabc 表示八进制,0后面的数字

D.3, 6, 10

【答案】C

【解析】case 分支后面如果没有break , 那么就会顺序执行下面的case , 直到遇到break 跳出或者到switch 语句块结尾。所以第一次循环后s 的值为3, 打印输出。第二次S 的值为即

为10, 打印输出。第三次没有匹配成功直接执行default 语句,s=s+4, 所以s 的值为14, 打印输出。

4. 以下不是C 语言字符型或字符串常量的是( ) A. B. C. D.

【答案】C

【解析】字符常量是用单引号把一个字符括起来,转义字符常量以一个反斜线开头后跟一个特定的字符或者对应的ASCII 值表示。字符串常量是由双引号括起来的一串字符。C 项既不是字符型常量,也不是字符串常量。AB 两项,均是字符串常量;D 项,是字符型常量。

5. 若有定义:inta ,b :

通过语句

能把整数3赋给变量a , 5赋给变量b 的输入数据是( )。

A.3, 5

B.3;5

C.35

D.35

【答案】B

scanf 函数中如果使用通配符, 【解析】则在输入数据时也必须使用相同的通配符与它相匹配。

6. 设函数中有整型变量n ,为保证其在未赋值的情况下初值为0, 应选择的存储类别是 ( )。

A.auto

B.register

C.static

D.auto 或 register

【答案】C

【解析】静态存储类型定义变量在未对其初始化时会对其初始化为默认值,其中int 型的默认初始化是0,其他选项的存储类型不能保证。

7. 有以下程序

第 3 页,共 42 页

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

A.3

B.1

C.2

D.4

【答案】B

【解析】函数' 有两个形参,第一个形参是传值,第二个形参是传引用,在函数fun 内部改变s 的值,则在函数fun 外部也会发生相应改变。f 是函数内部的局部变量,递归调用时,把局部变量f 以指 针的形式传入,在下一层函数中会对f 进行修改,当下一层函数返回后,再把当前局部变量f 赋值给形参s 。函 数调用过程如下表所示。

8. 以下选项中关于C 语言常量的叙述错误的是( )。

A. 所谓常量,是指在程序运行过程中,其值不能被改变的量

B. 常量分为整型常量、实型常量、字符常量和字符串常量

C. 常量可分为数值型和非数值型常量

D. 经常被使用的变量可以定义为常量

【答案】D

【解析】常量是指在程序运行过程中其值不能被改变的量。在C 语言中,有整型常量、实型常量、字符常量和字符串常量等类型。整型常量和实型常量又称数值型常量,它们有正值和负值的区分。所谓变量是指在程序运行过程中其值可以改变的量。C 语言规定,程序中所有变量都必须先定义后使用。变量和常量有明显的区分。

第 4 页,共 42 页