2016年南通大学计算机科学与技术学院C、C++程序设计之C程序设计复试笔试最后押题五套卷
● 摘要
一、选择题
1. 若各选项中所用变量已正确定义,函数fun 中通过return 语句返回一个函数值,以下选项中错误的程序是( )。
答:B
【解析】当在所有函数的外部、被调用之前说明函数时,在对函数进行说明的语句后面所有位置上都可以对该函数进行调用。函数说明也可以放在调用函数内的说明部分,如在main 函数内 部进行声明,则只能在main 函数内部才能识别该函数。B 项错误,main 函数不能识别fun 函数。
2. 有以下程序
若想通过键盘输入,使得al 的值为12, a2的值为34, cl 的值为字符a ,c2的值为字符b , 程序输出结果是:12, a , 34, b ,则正确的输入格式是(以下□代表空格,
A. B. C. D. 答:A
【解析】因为空格和回车也是字符变量,所以在输入a 和b 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非a 和b ; int 类型不会取到空格和回车,所以12和34前面可以有空格和回车。在scanf 函数并没有使用通配符逗号,所以输入时不能输入逗号。
3. 以下选项中叙述正确的是( )。
A. 函数体必须由{开始
B.C 程序必须由main 语句开始 C.C 程序中的注释可以嵌套 D.C 程序中的注释必须在一行完成 答:A
【解析】函数体是函数首部下面的花括号内的部分,所以函数体必须由{开始,A 选项正确。一个源程序文 件可以包括预处理命令、全局声明、函数定义,程序总是从main 函数开始执行的,不是main 语句,B 选项错误。C 程序中允许两种注释,以
开头的单行注释;以
开始,以
结束的块式注释,D 选项错误。函数可以嵌套,注释不能嵌套,C 选项错误。
4. 若变量已正确定义为int 型,要通过语句
给a 赋
值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
答:B
【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。
5. 以下叙述中正确的是( )。
A. 简单递归不需要明确的结束递归的条件 B. 任何情况下都不能用函数名作为实参
C. 函数的递归调用不需要额外开销,所以效率很高 D. 函数既可以直接调用自己,也可以间接调用自己 答:D
【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。
6. 以下能正确输出字符a 的语句是( )。
答:A
【解析】“格式控制串”用来指定每个输出项的输出格式,对应字符串,对应字符,对应整型。,单引号里面的内容为字符’a ’,A 选项正确。B 、C 、D 选项双引号里面的内容为字符串“a ”
语句本身就有问题。
7. 有如下程序:
程序运行后的输出结果是( )。 A.A45D78 B.ABC678 C.34CD78 D.34AB78 答:A
【解析】本题执行过程为:
if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,
条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。
8. 有以下程序:
程序的运行结果是( )。 A.y=0 B.y=l C.y=2 D.y=3 答:D
【解析】数组a 定义结果为,后,p 指向数组元素
9. 有以下程序:
指针P 指向执行一p ; 语句
y 的值为指针p 所指向的地址的存储值为3。