2017年北京市培养单位高能物理研究所864程序设计[专业硕士]考研强化模拟题
● 摘要
一、选择题
1. 下列叙述中正确的是( )。
A. 在switch 语句中,不一定使用break 语句
B. 在switch 语句中,必须使用default
C.break 语句必须与switch 语句中的case 配对使用
D.break 语句只能用于switch 语句
【答案】A
【解析】break 语句放入功能是跳出正在执行的条件语句或循环语句,switch 语句中可以根据需要选择是否使用break 语句,A 项正确;default 语句在switch 语句中可以省略,因此B 项错误;switch 语句中并非每个case 后都需要使用break 语句,因此C 项错误;break 语句还可以用于for 等循环结构中,因此D 项错误。
2. 若有以下程序段
不能正确引用字符串的选项是( )。 A. B. C. D.
【答案】D
【解析】strp 是char *类型、长度为4的数组,4个指针分别指向字符串数组str 中的4个字符串。D 项错误,step 是char*的数组,不能引用字符串。A 项正确,引用strp 数组中第一个指针指向的内容,gpaa”; B 项正确,str 是字符串数组,引用数组中的”aa”; C 项正确,
于访问strp 中第四个指针指向的内容,即 ”d”。
3. 以下叙述中正确的是( )。
A.C 程序中的注释只能出现在程序的开始位置和语句的后面
B.C 程序书写格式严格,要求一行内只能写一个语句
C.C 程序书写格式自由,一个语句可以写在多行上
D. 用C 语言编写的程序只能放在一个程序文件中
【答案】C
【解析】C 程序的注释可以出现在C 程序的任何位置,注释符号:“//”或“/*•••*/”。C 程序
第 2 页,共 45 页 等价
中,一行内可写多个语句,每条语句用分号“;”结束。用C 语言编写的程序可以放在多个程序文件中,用#indude命令行实现文件包含功能。
4. 有如下程序:
程序运行后的输出结果是( )。
A.2,
B.2, 3,
C.3,
D.1,
【答案】A
【解析】在输出函数中,调用了函数。函数作用是定义一个静态变量对变量init 进行叠加形参data 的值,并将结果作为函数的返回值。在main ( )函数中,实参i=l传递给sum ( )函数的形参data ,因此输出为2。
5. 对于if (表达式)语句,以下叙述正确的是( )。
A. “表达式”的值可以是任意合法的数值
B. 在“表达式”中不能出现变量
C. 在“表达式”中不能出现常量
D. “表达式”的值必须是逻辑值
【答案】A
【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实
,A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、型、字符型等)
C 、D 项错误。
6. 有以下程序:
第 3 页,共 45 页
程序的执行结果是( )。
A. 输出321
B. 输出23
C. 不输出任何内容
D. 陷入无限循环
【答案】B 【解析】
7. 若有以下程序
则程序的输出结果是( )。
A.5, 1, 2, -1
B.2, 1, 2, -1
C.2, 2, 2, 4
D.1, 2, 3, 4
【答案】A 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;苻号两侧都为假时,结果为假,否则返回真。
题目没有答案,原题可能是
输出a ,b ,c ,d
第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。
8. 有如下程序:
第 4 页,共 45 页
表示输出的整型变量占2列。程序执行过程为:输出x 为23, 之后x
自减得,while 条件不成立,退出循环。 为假(0)