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 项,将“=”右边
相关内容
相关标签