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

2016年上海大学机电工程与自动化学院微机硬件及软件(包含8086微机和C语言)之C程序设计考研复试题库

  摘要

一、选择题

1. 有如下程序:

程序运行后的输出结果是( )。 A.STRENG B.STRIEG C.STREN D.STREN0 答:C

【解析】printf 函数按照格式符说明输出对应的数据。给定地址开始依次输出字符,直到遇到时

为STREN , 故C 项正确。

2. 有以下程序段:

已知字符a 的ASCII 码十进制值为97,则执行上述程序段后输出的结果是( )。 A. 因变量类型与格式描述符的类型不匹配输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C.a ,97,12k=12 D.a ,97,k=12 答:D

【解析】字符变量中的值就是该字符的Ascn 代码值,

可以参与对整型变量所允许的任何运算。

c 表示以字符格式输出ch 的值,所以输出为a ; %d表示以十进制代码的形式输出。h

,然后以十进制的值,为97; k 没有对应的输出格式,不输出。在第二个语句中,首先输出“k=”代码输出k 的值,为12。

第 2 页,共 34 页

控制符用于输出字符串,输出时从

初始化

调用printf 输出字符串

结束。给字符变量赋值0,相当于赋值

改动数组第4个和第6个元素之后字符串变为'

3. 有以下程序

执行后的输出结果是( )。 A.5, 11 B.5, 5 C.11, 11 D.11, 5 答:A

【解析】fun 函数中m 和i 是静态变量,退出函数以后,下次再进入该函数时,m 和i 仍然保持上一次的数 值。第一次调用

返回11。

4. 以下函数按每行8个输出数组中的数据:

下画线处应填入的语句是( )。

A.

B.

C.

D. 答:C

【解析】每行输出8个数组数据的实现,即输出8个后就输出一个换行,所以,应该对8取余,当结果为0时输出换行符,即用语句

5. 以下选项中可用作C 程序合法实数的是( )。

第 3 页,共 34 页

时,返回5; 第二次调用时

可表达。

答:A

【解析】浮点型常量分十进制小数形式和指数形式。指数形式要求字母e (或者E )前后必须有数字,且e 后面的指数必须为整数。BCD 三项错误。

6. 若有定义语句intx=12,y=8,z ;,

其后执行语句

A.1.9 B.1 C.2 D.2.4 答:B 由于z 定义为整型,故最终结果为1。

7. 若函数中有定义语句则( )。

A. 系统将自动给k 赋初值0 B. 这时k 中的值无定义 C. 系统将自动给k 赋初值-1 D. 这时k 中无任何值 答:B 【解析】

这条语句是定义一个整型变量k ,这是动态定义,编译程序仅为k 开辟存储单

元,而没有在存储单元中存放任何初值,此时变量中的值时无意义的。若是静态定义,则会自动初始化,其默认值为0。

8. 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值( )。

在程序中下画线处应填入的是( )。

A.

B.

C.

D. 答:C

A 项错误,【解析】划线处需要完成两个功能:①给x[i]元素赋值;②i 变量加一。仅能对x[0],赋值,且会是程序陷入死循环;B 项错误, ,仅能对x[l]赋值,也会是程序陷入死循环;D 项错误,不能实现为x[0]赋值,而且还会导致出界。

则z 的值为。

【解析】根据优先级先计算x/y, 即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,

第 4 页,共 34 页