一. 单选题(共14题,86.8分)
1. 下列关于函数的描述中,错误的是(D )。
A.函数可以没有返回值
B.函数可以没有参数
C.函数可以是一个类的成员
D. 函数不能被定义为模板
2.下列关于C++函数的说明中,正确的是( C )。
A.内联函数就是定义在另一个函数体内部的函数
B.函数体的最后一条语句必须是return语句
C.标准C++要求在调用一个函数之前,必须先声明其原型
D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
3. 若有下面的函数调用:
fun(a+b,3,max(n-1,b)
则fun的实参个数是( A )。
A.3
B. 4
C. 5
D. 6
4.已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则( D )。
A.FA必须定义在 FB之前
B.FB必须定义在 FA之前
C.若FA定义在 FB之后,则FA的原型必须出现在FB的定义之前D.
若FB定义在 FA之后,则FB的原型必须出现在FA的定义之前
5.在对函数进行原型说明声明时,下列语法成分中,不需要的是( D )。
A.函数返回类型
B. 函数参数列表
C. 函数名
D. 函数体
6.下列关于函数参数的叙述中,正确的是( D )。
A.在函数原型中不必声明形参类型
B.函数的实参和形参共享内存空间
C.函数的形参的生存期与整个程序的运行期相同
D.函数的形参在函数被调用时获得初始值
7.必须用一对大括号括起来的程序段是( D )
A.switch语句中的case标号语句
B.if语句的分支
C.循环语句的循环体
D.函数的函数体
8.关于C++主函数的我,下列叙述正确的是( D )
A.主函数在同一个C++文件中可以有两个
B.主函数类型必须是void类型
C.主函数一定有返回值
D.每个C++程序都必须有一个main函数
9.在C++语言中,main函数默认返回一个( A )类型的值。
A.int
B.float
C.char
D.void
10.下列叙述错误的是( B )
A.一个函数中可以有多条return语句
B.调用函数必须在一条独立的语句中完成
C.函数中通过return语句传递函数值
D.主函数名main也可以带有形参
11.在函数的引用调用时,实参和形参应该是使用( D )
A.变量值和变量
B.地址值和指针
C.地址值和引用
D.变量值和引用
12.下列对定义重载函数的要求中( A )是错误的提法
A.要求参数的个数相同
B.要求参数的类型相同时,参数个数不同
C.函数的返回值可以不同
D.要求参数的个数相同时,参数类型不同
13. 以下关于函数模板叙述正确的是( C )
A.函数模板也是一个具体类型的函数
B.函数模板的类型参数与函数的参数是同一个概念
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
14.在一个C++源程序文件中定义的全局变量的有效范围是( C )
A.该C++程序的的所有源文件
B.本源程序文件的全部范围
C.从定义变量的位置开始到本源程序文件结束
D. 函数内部全部范围
二. 填空题
15.执行以下程序的输出结果为
#include <iostream>
using namespace std;
int f(int n)
{
if(n<=1)
return 1;
else
return n*f(n-2);
}
int main()
{
cout << f(5) << endl;
return 0;
}
正确答案:15
16. 执行以下程序的输出结果为
#include <iostream>
using namespace std;
int f(int a)
{
int b=0;
static int c=3;
b++;
c++;
return (a+b+c);
}
int main()
{
int i;
for(i=0;i<3;i++)
cout <<f(i);
cout << endl;
return 0;
}
正确答案:579