2016年北华大学计算机科学技术学院C语言程序设计考研复试题库
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.8, 17 B.8, 16 C.8, 8 D.8, 20 答:A
【解析】static 变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元, 即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值 程序执行过程为:是上一次函数调用结束时的值。调用函数,再次调用函数
,
2. 以下叙述中正确的是( )。
返回
返回p=8,
A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句 B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句
D. 只要适当地修改代码,就可以将do-while 与while 相互转换 答:D
【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当
的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。
3. 有以下程序:
程序运行后的输出结果是( )。 A.16, 6, 11, 16, B.1, 6, 11, 16, C.4, 7, 10, 13, D.17, 17, 17, 17,
答:A
【解析】程序最后输出改变,在fun 函数中,当i=0时,
4. 有以下程序:
I
程序运行后的输出结果是。
其中只有A 项正确。
的值在fun 函数中发生
答:A
I
【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员。函数体内对形参结构体变量中任何成员的操作,都不会影响对应实参中成员的值,从而保证了调用函数中数据的安全,但这也限制了将运算结果返回给调用函数。
5. 有以下程序:
程序运行后的输出结果是( )。 A.2, 1 B.6, 1 C.6,0 D.2, 0
答:A
【解析】程序前面表达式等同于a=2; 优先级低于
程序执行过程为:c=241, c/100=2, 2%9=2, 得
为真,
非0值为真,0值为假,即(-1)为真,逻辑与表达式
得b=l。
6. 下面的函数调用语句中func 函数的实参个数是( )。
A.3 B.4 C.5 D.8 答:A
【解析】函数调用中,实参有多个时,它们之间应该用逗号分隔。本题中的实参有3个,
为
其中
逗号表达式做参数,
7. 表达式:
A.0 B.3
是函数做参数,
是
是逗号与函数相结合做参数。 的值是( )。