C++试卷

第221题

以下程序的正确运行结果是()。

#include<iostream.h>
int fun(int);
void main()
{
    int a=2,i;
    for(i=0;i<3;i++)
        cout<<fun(a)<<endl;
    cout<<endl;
}
int fun(int a)
{
    int b=0;
    static int c=3;
    b++;c++;
    return(a+b+c);
}
第222题

下列关于C++函数的说明中,正确的是()。

第223题

函数 swap(a,n) 可完成对a数组从第1个元素到第n个元素两两交换。其中 b[0]=1;b[1]=2;swap(b,2) 。在运行调用函数中的语句后,b[0]和b[1]的值分别为()。

第224题

在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用()。

第225题

有如下程序,执行后的输出结果是()。

#include<iostream>
void fun(int& x,int y){int t=x;x=y;y=t;}
int main()
{
    int a[2]={23,42};
    fun(a[1],a[0]);
    std::cout<<a[0]<<","<<a[1]<<std::endl;
    return 0;
}
第226题

不能作为函数重载的判断依据的是()。

第227题

下列程序的输出结果是()。

#include<iostream.h>
void ff(int x);
void ff(double x);
void main()
{
    float a=88.18;
    ff(a);
    char b='a';
    ff(b);
}
void ff(int x)
{ cout<<"ff(int):"<<x<<endl; }
void ff(double x)
{ cout<<"ff(double):"<<x<<endl; }
第228题

以下程序输出结果是()。

#include<iostream>
using namespace std;
void add(int x,int y,int *z)
{
    *z=y+x;
}
int main()
{
    int a,b,c;
    add(8,4,&a);
    add(6,a,&b);
    add(a,b,&c);
    cout<<a<<","<<b<<","<<c<<endl;
    return 0;
}
第229题

有如下程序,该程序的输出结果应该是()。

#include<iostream>
using namespace std;
long fun(int n)
{
    if(n<2)
        return(fun(n-1)+fun(n-2));
    else
        return 2;
}
int main()
{
    cout<<fun(3)<<endl;
    return 0;
}
第230题

为了取代C中带参数的宏,在C++中使用()。

第231题

下列关于函数的描述中,错误的是()。

第232题

下列关于C++函数的说明中,正确的是()。

第233题

若有下面的函数调用: fun(a+b,max(n-1,b)) ,则fun的实参个数是()。

第234题

假设函数fun已经定义,其原型为 void fun(int a,int b=7,char*p="***"); ,下列函数调用中错误的是()。

第235题

已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则()。

第236题

下列函数原型声明中,错误的是()。

第237题

在对函数进行原型声明时,下列语法成分中,不需要的是()。

第238题

关于函数中的<返回类型>,下列表述中错误的是()。

第239题

若一个函数的原型为 int* fun1 (int x,int& y,char z); ,则该函数的返回值类型为()。

第240题

有如下程序,运行时输出的结果是()。

#include<iostream>
using namespace std;
class A{
public:
    static int a;
    void init(){a=1;}
    A(int a=2) {
        init();
        a++;
    }
};
int A::a=0;
A ob;
int main(){
    cout<<ob.a;
    return 0;
}