[GESP202403四级]试卷

阅读量: 43 编辑
2024年3月

GESP CCF 编程能力等级认证  C++编程 四级试卷 

选择题和判断题

1、若函数声明为 int f(int &x){ x+=3; return x; } ,则对声明的变量 int a=3 ,下面哪个调用能够改变 a 的 值( )。

2、下面C++代码执行后,输出的是( )。

int main() {
    int x[] = {2, 0, 2, 4};
    char geSP[] = "Grade Examination of SP";
    cout << geSP[sizeof(x)] << endl;
    cout << endl;
    return 0;
}

3、下面C++代码执行后输出是( )。

int foo(float *f) { 
    return int(*f * 2); 
}
int main() {
    float fnum[10] = {1.1};
    fnum[1] = foo(fnum);
    cout << fnum[0] + fnum[1] << endl;
    cout << endl;
    return 0;
}

4、对二维数组 int arr[3][16]; ,则 arr[1] 占用内存的大字为( )字节。

5、对二维数组 int arr[3][16]; ,若 arr 的地址是 0x28cbc0 ,则 arr[1] 的值是( )。

6、下面C++代码执行后输出是( )。

int main() {
    char *p = "I love GESP!";
    cout << p + 5 << endl;
    cout << endl;
    return 0;
}

7、下面C++代码执行以后输出的是( )。

int rc = 5;
int main() {
    int rc;
    cout << ++rc << endl;
    cout << endl;
    return 0;
}

8、下面C++函数中采用的算法是( )。

int fib(int n) {
    int i, f[n] = {0, 1};
    for (int i = 2; i <= n; i++)
        f[i] = f[i - 1] + f[i - 2];
    return f[n];
}

9、插入排序在最好情况下的时间复杂度是( )。

10、在如下的C++代码执行后,设第11和12行的输出地址值分别为 X 和 Y ,则下面正确的是( )。

struct pass {
    int no;
    char name[20];
    int level;
};
int main() {
    struct pass XiaoYang;
    
    cout << "&XiaoYang=" << &XiaoYang << endl;           //第11行
    cout << "&(XiaoYang.no)=" << &(XiaoYang.no) << endl; //第12行
    cout << endl;
    return 0;
    return 0;
}

11、如果文件 1.txt 中的内容如下,则执行下面C++代码时,注释了 #### 那行代码所输出的 x 的值为( )。

50 2024 3.16 I
love
GESP!
int main() {
    ifstream fin;
    string line;
    int x;
    fin.open("1.txt", ios::in);
    for (int i = 0; i < 2; i++) {
        fin >> line;
        cout << line << endl;
    }
    fin >> x;
    cout << x << endl; //####
    cout << endl;
    return 0;
}

12、执行下列C++代码时输出中的第2行是( )。

int main() {
    char *s[] = {(char *)"2024", (char *)"3.16", (char *)"GESP"};
    for (int i = 0; i < 2; i++) {
        cout << *s + i << endl;
    }
    cout << endl;
    return 0;
}

13、C++语言中下面哪个关键字能够限定对象的作用域( )。

14、对 int a[]={2,0,2,4,3,1,6} ,执行第⼀趟选择排序处理后 a 中数据变为 {0,2,2,4,3,1,6} 。( )

15、如果待排序数据不能都装进内存,需要使用外排序算法。( )

16、定义变量 int a=5 , 则 cout << &++a 会输出 6 。( )

17、两个函数之间可以使用全局变量来传递数据。 ( )

18、定义数组 int a[2024][3][16]={2,0,2,4,3,1,6} ,则 cout << a[2023][2][15] 的结果不确定。( )

19、在C++语言中,函数的参数为指针时,可以在函数内部修改该参数的值。( )

20、在C++语言中 try ⼦句里抛出的结构体等类型的异常⽆法被 catch 捕获。( )

21、C++语言中 cout << 9^2 << endl; 会输出81。( )

爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司