2018年福建师范大学教育院620计算机基础之C程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行的结果是( )。
A.3 3 1
B.4 1
C.2
D.1
【答案】D
【解析】else 子句总是与最前面最近的不带else 的if 相结合,与书写格式无关,所以本题中的else 语句与第 二个if 语句配对,且if 和else 都在第一个if 的控制范围内。首先判断立,直接退出第一个if 语句,执行
输出结果为1。
2. 若有定义语句intx=10; 则表达式x-=x+x的值为( )。
A.-20
B.-10
C.0
D.10
【答案】B
【解析】赋值表达式,首先计算右边表达式,然后在进行赋值。先做x+x,结果为20,再做x-20,结果为-10,赋值给X 。
3. 以下叙述中正确的是( )。
A.C 程序的基本组成单位是语句
B.C 程序中的每一行只能写一条语句
C. 简单C 语句必须以分号结束
第 2 页,共 59 页 不成的值是x 加之前的值,所以
D.C 语言必须在一行内写完
【答案】C
【解析】在C 语言中,每条语句必须以分号结束。A 项错误,C 程序的基本组成单位是函数;BD 两项错误,C 程序一行能写多条语句,也可以将一条语句分几行书写。
4. 有以下程序
程序的运行结果是( )。
A.a=2.b=l
B.a_2,b-2
C.a=l, b=l
D.a=l, b=0
【答案】A
【解析】当执行swicth 语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch 语句体内寻找与该值吻合的case 标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case 和default 中的语句,直到switch 语句体结束;每当执行到break 语句时,立即跳出switch 语句体。switch 语句通常总是和break 语句联合使用,使得switch 语句真正起到分支的作用。x=l,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=l,接下来遇到break ,跳出内层switch ; 由于外层分支中没有break 语句,会继续执行外层分支2,执行a++, b++,此时a=2, b=l; 然后遇到break 语句,跳出外层switch 。
5. 若有函数声明
:以下叙述正确的是( )。
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量
C. 调用函数时,实参数组的值将一一复制给array 数组
D. 调用函数时,array 是按值传送,ptr 是按地址传送
【答案】A
第 3 页,共 59 页
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
6. 以下叙述中正确的是( )。
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 语句。
7. 有以下程序:
程序运行后的输出结果是( )。
A.0
B.3
C.7
D.8
【答案】B
【解析】C 语言中,字符串没有专门的类型表示,是通过字符数组表示,在字符串末尾用表识字符串结 束。字符串s 的前三个字符满足if 语句,所以当遇到时,for 循环终止,所以最后输出n 值为3。
8. 若在程序中变量均已定义成int 类型,且已赋大于1的值,贝!J 下列选项中能正确表示代数
式的表达式是( )。
A.1.0/a/b/c
B.1/(a*b*c)
第 4 页,共 59 页