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

2017年华中科技大学水电与数字化工程学院849软件基础之C程序设计考研题库

  摘要

一、选择题

1. 以下关于C 语言的叙述中正确的是( )。

A.C 语言中的注释不可以夹在变量名或关键字的中间 B.C 语言中的变量可以在使用之前的任何位置进行定义

C. 在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D.C 语言的数值常量中夹带空格不影响常量值的正确表示 【答案】B

【解析】A 项错误,C 语言中,程序中的注释可以出现在程序中任何合适的地方,为了方便程序理解,一般不建议写在变量名或关键字的中间;C 项错误,在C 语言的算术运算符中,取余运算符

的两个运算分量必须是整数,但对于其他运算符,如

来说,两侧的运算符

类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换为

D 项错误,C 语言的 数值表示时各个数位必须紧靠在一起,值进行运算;

否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误。

2. 有以下程序

程序的输出结果是( )。 A.7 1 B.4 3 C.3 4 D.0 0

【答案】A

【解析】main 函数中变量c 和d 以传地址的方式传递参数,形参的改变会导致实参的改变。

3. 以下结构体类型说明和变量定义中正确的是( )。

【答案】A

A 项,B 项,【解析】用typedef 定义结构体类型名REC 后,可以用REC 定义变量。“structREC ;”后面不应加分号;C 项,没有这样的书写形式;D 项,REC 定义的是一个变量,不是结构体类型,因此不能用来定义结构体变量。

4. 有以下程序:

程序的运行结果是( )。 A.10 B.20 C.14 D.16

【答案】C 【解析】

5. 有以下程序:

系统默认为指针指向数组中第

执行的是将数组

个元素,因此,在for 循环中

累加后赋值给n , 最后输出,值为14。

程序运行后的输出结果是( )。 A.3344 B.2050 C.3040 D.0304 【答案】C

【解析】main 函数的主体是一个for 循环语句,for 循环中包含一个switch 语句,如果判断条件为0则进入第二个switch 语句,如果判断语句为1则执行

,最后将数组顺序输出。所

以程序功能是将数组的偶数项设为0, 奇数项如果为奇数则减1,为偶数就加1,最后得到结果。

6. 有以下程序:

程序的运行结果是( )。 A.x-4 B.x-6 C.x=8 D.x=12 【答案】c

【解析】第一次循环:i=0, 执行X++, x=l, 执行内层循环J=0, 由于时,重复上述循环。

共执行两次循环,故X 最终结果是4*2=8。

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

A. 语句B. 语句C. 语句D. 语句符

【答案】A

【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通

时才执行X++, 即只

有j 取1和3时执行x++, 此时x=l+l+l=3, 跳出内层循环,执行下一条x++, x=4。第二次循环:x=l

是合法的

是不合法的,遗漏了数组的大小

是合法的,定义了一个包含两个字符的数组

是合法的,因为数组有三个字符空间的容量,可以保存两个字