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

2018年北京印刷院信息工程院827电子与通信工程综合基础[专硕]之C程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。

【答案】A

【解析】程序执行过程为:将a 赋给b , 调用f 函数,将b 中name 地址与gender 和score 的值传进函数,执行函数体,strcpy 函数改变b 中name 值,但由于后两个成员为值传递不能改变b 中gender 和score 值。调用函数结束后,结构体

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

A. 简单递归不需要明确的结束递归的条件

B. 任何情况下都不能用函数名作为实参

C. 函数的递归调用不需要额外开销,所以效率很高

D. 函数既可以直接调用自己,也可以间接调用自己

【答案】D

【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。

第 2 页,共 58 页

前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。

3. 有以下程序:

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

A.ABCDEF

B.AbCdEf

C.aBcDeF

D.abcdef

【答案】B

【解析】本题中,当i 为偶数时,即0、2、4, 执行会依次输出ACE ; 当i 为奇数时,即1、3、5,执行putchar (i+b)会依次输出bdf ,所以最终输出AbCdEf 。

4. 以下不属于C 语言位运算符的是( )。

A.! B. C.

D. 〜

【答案】A

【解析】c 语言常用的位运算符有:”按位求反,“<<”左移,“>>”右移,

按位异或,“”按位或。A 项“!”为逻辑运算符“非”。

5. 文件不存在或是被锁定!

【答案】

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

A.C 程序中的注释只能出现在程序的开始位置和语句的后面

B.C 程序书写格式严格,要求一行内只能写一个语句

C.C 程序书写格式自由,一个语句可以写在多行上

D. 用C 语言编写的程序只能放在一个程序文件中

第 3 页,共 58 页 按位与

【答案】C

【解析】C 程序的注释可以出现在C 程序的任何位置,注释符号:“//”或“/*•••*/”。C 程序中,一行内可写多个语句,每条语句用分号“;”结束。用C 语言编写的程序可以放在多个程序文件中,用#indude命令行实现文件包含功能。

7. 以下不是合法C 语言转义字符的是( )。 A. B. C. D.

【答案】A

【解析】C 语言中,表示响铃,表示退格,表示回车不换行,故答案为A 选项。

8. 若变量己正确定义并赋值,则错误的赋值语句是( )。

A.a=a+l;

B.a=sizeof(double );

C.a=dllc;

D.a+l=a;

【答案】D

【解析】赋值号的左边必须是一个代表某个存储单元的变量名,赋值号的右边必须是C 语言

中合法的表达式。赋值运算的功能是先求出右边表达式的值,然后把此值赋给赋值号左边的变量。

9. 以下程序段中的变量已正确定义:

程序段的输出结果是( )。 A. B. C. D.

【答案】D

【解析】for 语句在没有说明时,仅仅是跟随其后的第一条语句。这时注意第二个for 循环有一个“;”结束,所以视为空语句,表示什么也不做,然后是下一个顺序语句,即输出语句,这时没有for 循环,只输出一个“*”。

10.设有如下程序段:

语句后,以下叙述正确的是( )。

表示

第 4 页,共 58 页 则执行A. 可以用