2018年北京市培养单位高能物理研究所864程序设计[专硕]之C程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 以下叙述正确的是( )。
A.C 程序总是以main ( )作为程序执行的起始行
B.main ( )函数若不带参数,其后面的一对圆括号可省略
C. 函数体内的定义语句和可执行语句允许任意穿插出现
D.C 语言中的语句之间必须用分号作为分隔符
【答案】A
【解析】main ( )函数后面的括号告诉编译器这是一个函数,不可以省略,排除B 选项;在复合语句中,不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除C 选项;C 语言中的某些语句可以不用分号,例如if 语句,宏定义,故D 选项错误;答案为A 选项。
2. 有以下程序:
程序运行的结果是( )。
A.331
B.41
C.2
D.1
【答案】D
【解析】C 语言规定:else 子句总是与前面最近的不带else 的if 相结合,与书写格式无关。本题中的else 语句与第二个if 语句配对。程序首先判断x>y不成立,直接退出if 语句,
执行
注意,x++是先输出,后做++运算,故首先输出x 的值1,然后将X 的值
加1。
3. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。
A. (n-n/10×10)×10+n/10
B.n-n/l0×l0+n/10
C.n/10+(n-n/10)
D. (n-n/10)×10+(n/10)
【答案】A
A 项n/10得到十位数字,n-n/10得到个位数字,【解析】将个位数乘以10加上十位数字,(n-n/10
×10)×l0+n/10实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项n-n/10×10得到个位数字,n/10为十位数字,n-n/10×l0+n/10实现两位整数个位数与十位数之和,B 项错误。C 项n/10+(n-n/10)=n, 不能实现题目中要求,C 项错误。D 项n/10是十位数字,n-n/10为原两位整数减去十位数字,不是个位数字,D 项错误。
4. C 语言整数不包括( )。
A. 带小数点的整数
B. 正整数
C. 负整数
D. 无符号整数
【答案】A
【解析】C 语言整数包括正整数,负整数,无符号整数,不含带小数点的整数。
5. 以下能正确定义字符串的语句是( )。 A. B. C. D.
【答案】A
【解析】字符串末尾一定要有结束标记,双引号括起来的字符串系统会默认添加结束标记。A 项正确,定义 了空字符串str 。B 项错误,str 是char 类型变量,不能用字符串为其赋值;C 项错误,字符串应该用双引号括起 来;D 项错误,如果一个字符数组用来作为字符串使用,一定要人为加入字符串中
6. 有以下程序
但是str 缺少结束符。
程序的运行结果是( )。
A.Afternoon
B.flemoon
C.Morning
D.oming
【答案】A
p 指向a[0], 在函数fun 中执行【解析】用字符串数组a 给形参p 赋初始值,则p 指向
程序运 行结果是Afternoon 。
7 设变量己正确定义 ,.以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( )。
A )
C )
【答案】D
【解析】要统计一行中输入字符个数(不包含回车符)的程序实现,首先定义一个用作统计的变量m 因为用作统计,所以需要赋初值为0; 因为字符结束要加换行符,故判断该行字符没有结束的程序实现应为
getohar
8. 有以下程序:
程序运行后的输出结果是( )。
A.1
B.2
C.4
D.8
【答案】D
【解析】f (l )输出2,然后调用f (2)输出4, 再调用f (4)输出8。
9. 有如下程序:
B )D ) 由此具体实现语句用for 循环应
为