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

2018年山西大学计算机与信息技术院863高级语言程序设计基础[专硕]之C程序设计考研强化五套模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.1

B.0

C.2

D.4

【答案】A 【解析】右移运算符每次右移一位等价于除2, x=36, 执行后,逻辑与运算,先计算左表达式真假,若为假,不计算右表达式,整个逻辑表达式为假,若左表达式为真,再计算右表达式,之后做逻辑与运算;

为真,

整个逻辑表达式

2. 有以下函数:

,为真,A 的ASCII 码为65, a 的ASCII 码为97, 为真,得b=l。

程序运行时从第一行开始输入

A.

B.this is a C. D.

【答案】C 则输出结果是( )。 【解析】scanf 语句接收字符串时遇到空格就认为字符串的结束,所以a 数组中为this , b数组中为is ,但是 gets 函数遇到回车才认为结束,所以c 数组为

3. 对于

A.E 等于1

B.E 不等于0

C.E 不等于1

D.E 等于0

【答案】D 若要执行循环体s ,则E 的取值应为( )。

【解析】如果执行循环体,则!E 不等于0, E 等于0。

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

A. 只要是用户定义的标识符,都有一个有效的作用域

B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域

C. 只有在函数内部定义的变量才是局部变量

D. 局部变量不能被说明为static

【答案】A

【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以被C 编译和 连接程序所识别。在C 语言中,由用户命名的标识符都有一个有效的作用域。B 项错误,局部变量的作用域是所 在的函数体(或复合语句);C 项错误,在函数内部或复合语句内部定义的变量,称为局部变量;D 项错误,在 函数体(或复合语句)内部用static 来说明一个变量时,变量为静态局部变量。

5. 有以下程序:

»

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

A.9, 18

B.8, 11

C.7, 11

D.10, 14

【答案】D

【解析】for 循环语句中令变量a 自増1, 而在循环语句中又令a 自增了2, 所以可看作每次循环a 自增3。第一次循环,a=l,b=b+a=3, a=a+2=3; 第二次循环,a=4,b=b+a=7a=a+2=6; 第二次循环,a=7,b=b+a=14, a=a+2=9; 所以最后退出循环体时a=10,b=14。

6. 有以下函数

该函数的功能是( )。

A. 计算S 所指字符串占用内存字节的个数

B. 比较两个字符串的大小

C. 计算s 所指字符串的长度

D. 将S 所指字符串复制到字符串t 中

【答案】A

【解析】本题中,首先让t 指向形参s , 然后通过一个循环体为空的while 循环,将t 逐次后移,直到其所指内容为(字符串结束标志)。此时t 仍然会被曾1, 所以从循环出来,t 指向的是s

是8所指字符串占用内存字节的个数,A 所指字符串的结束标志的后一个字节。因此,返回的

项正确。而C 项所说的长度并不包括字 符串结束标志位,错误。

7. 要求通过while 循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,以下正确的程序段是( )。

A )

B )

C )

D )

【答案】D

【解析】D 项正确,ch 与

表达式从右向左计算,会把_. 赋值给表示先把函数的返回值赋值给ch ,然后判断函数的返回值是右值,A 项逻辑错误,B 项错误,是否相等。它表示读入字母’N ’时执行循环;函数的返回值,而_

(等于)的优先级高于=(赋值), 不可改变,出现编译错误;C 项逻辑错误,

它等价此时ch 的取值是0或1。

8. 若有定义doublea=22; inti=0,k=18; ,则不符合C 语言规定的赋值语句是( )。

A.a=a++,i++

B.i=(a+k)<=(i+k)

C.i=a%ll D.

【答案】C

【解析】C 项错误,在C 语言的算术运算符中,取余运算符“%”的左右两侧的两个运算分量必须是整数。A 项,赋值运算符的优先级高于“,”运算法,先进行赋值;B 项,将“=”右边