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 页