#1298. GESP-C++一级(2024-12)

GESP-C++一级(2024-12)

CCF GESP C++ 一级 (2024 年 12 月)

一、单选题(每题 2 分,共 30 分)

1.2024 年 10 月 8 日,诺贝尔物理学奖 “意外地” 颁给了两位计算机科学家约翰・霍普菲尔德 (John J. Hopfield) 和杰弗里・辛顿 (Geoffrey E. Hinton)。这两位科学家的主要研究方向是 ( )。

{{ select(1) }}

  • 天体物理
  • 流体力学
  • 人工智能
  • 量子理论

2. 下列软件中是操作系统的是 ( ).

{{ select(2) }}

  • 高德地图
  • 腾讯会议
  • 纯血鸿蒙
  • 金山永中

3. 有关下列 C++ 代码的说法,正确的是 ( )。

printf("Hello,GESP!");

{{ select(3) }}

  • 配对双引号内,不可以有汉字
  • 配对双引号可以相应改变为英文单引号而输出效果不变
  • 配对双引号可以相应改变为三个连续英文单引号而输出效果不变
  • 配对双引号可以相应改变为三个连续英文双引号而输出效果不变

4. C++ 表达式 12 - 3 * 2 && 2 的值是 ( ) 。

{{ select(4) }}

  • 0
  • 1
  • 6
  • 9

5. 在 C++ 中,假设 N 为正整数 2,则 cout <<(N / 3 + N % 3) 将输出 ( ).

{{ select(5) }}

  • 0
  • 2
  • 3
  • 4

6. C++ 语句 cout <<7%3 << ' '<< "7%3"<< ' ' << "7%3={7%3}" 执行后的输出是 ( )。

{{ select(6) }}

  • 1 1 1=1
  • 1 7%3 1=1
  • 1 7%3 7%3=1
  • 1 7%3 7%3={7%3}

7. 下面 C++ 代码执行后,求出几天后星期几。如果星期日则输出 “星期天” 否则输出形如 “星期 1”。横线上应填入的代码是 ( )。

int N, nowDay, afterDays;
cout << "今天星期几?" <<endl;
cin >> nowDay;
cout << "求几天后星期几?"<< endl;
cin >>afterDays;
N = nowDay+afterDays;
if(______)
    printf("星期天");
else 
    printf("星期%d", N%7);

{{ select(7) }}

  • N % 7 != 0
  • N % 7 == 0
  • N == 0
  • N % 7

8. 下面C++代码执行后的输出是 ( )

int N=0,i;
for (i = 1; i < 10; i++)
    N += 1;
cout << (N + i);

{{ select(8) }}

  • 54
  • 20
  • 19
  • 18

9. 下面C++代码执行后的输出是( )。

int tnt = 0;
for (i = 0; i < 100; i++)
    tnt += i % 10;
cout << tnt;

{{ select(9) }}

  • 4950
  • 5050
  • 450
  • 100

10. 下面C++代码段执行后的输出是 ( ) .

int N=0,i;
int tnt = 0;
for (i = 5; i < 100; i+=5){ 
    if (i % 2 == 0)
        continue;
    tnt += 1;
    if (i >= 50)
        break;
}
cout << tnt;

{{ select(10) }}

  • 10
  • 9
  • 6
  • 5

11. 下面的程序用于判断输入的整数 N 是否为能被 3 整除的偶数,横线处应填写代码是 ( ).

int N;
cin >> N;
if(______)
    cout << "能被3整除的偶数" << endl;
else
    cout << "其他情形" << endl;
cout << endl;

{{ select(11) }}

  • (N%2)&&(N%3)
  • (N%2==0)&&(N%3)
  • (N%2)&&(N%3==0)
  • (N%2 == 0)&&(N%3==0)

12. 下面C++代码执行后的输出是 ( ) 。

int cnt;
cnt = 0;
for(int i = 1; i < 10; i++)
    cnt += i++;
cout << cnt;
cout << endl;

{{ select(12) }}

  • 54
  • 45
  • 25
  • 10

13.int 类型变量 a 的值是一个正方形的边长,如下图中的正方形的四条边长都为 4,则下列哪个语句执行后能够使得正方形的周长 (四条边长的和) 增加 4?( ) 。

+  +  +  +  +
+           +
+           +
+           +
+  +  +  +  +

{{ select(13) }}

  • a*4;
  • a+4;
  • a+1;
  • ++a;

14. C++ 表达式 (6> 2) * 2 的值是 ( )。

{{ select(14) }}

  • 1
  • 2
  • true
  • truetrue

15. 下面 C++ 代码用于判断输入的整数是否为位增数,即从首位到个位逐渐增大,是则输出 1。如 123 是一个位增数。下面横线处应填入的是 ( )。

int N;
int n1,n2;
cin >> N;
___________________;
while(N){
    n1 = N % 10;
    if(n1 >= n2){ 
        cout << 0;
        return 1;
    } 
    n2 = n1, N /=10;
}
cout << 1;
cout << endl;
return 0;

{{ select(15) }}

  • n2 = N%10
  • N /= 10
  • n2 = N/10, N %= 10
  • n2 = N%10, N /= 10

二、判断题(每题 2 分,共 20 分)

16. 在 Windows 的资源管理器中为已有文件 A 建立副本的操作是 Ctrl+C,然后 Ctrl+V。( )

{{ select(16) }}

17. 在 C++ 中,表达式 8/3 和 8%3 的值相同。( )

{{ select(17) }}

18. X 是 C++ 语言的基本类型变量,则语句 cin>>X, cout <<X 能接收键盘输入并原样输出。()

{{ select(18) }}

19. 下面 C++ 代码执行后将输出 10。( )

int N = 0;
for (int i = 0; i < 10; i++){
    continue;
    N += 1;
}
cout << N;

{{ select(19) }}

20. 下面 C++ 代码执行后将输出 100。( )

int i;
for (i = 0; i <= 100; i++)
    continue;
cout << i;

{{ select(20) }}

21.下面 C++ 代码被执行时,将执行三次输出 (即标记行 L2 将被执行一次)。( )

for (int i = 0; i < 10; i+=3)
    cout << i; //L2

{{ select(21) }}

22. C++ 语句 cout <<(3,2) 执行后,将输出 3 和 2,且 3 和 2 之间有逗号间隔。( )

{{ select(22) }}

23. 在 C++ 代码中,studentName、student_name 以及 sStudentName 都是合法的变量名称。( )

{{ select(23) }}

24. 在 C++ 中,对浮点变量 float f,则语句 cin >> f; cout <<(f<1); 在输入是 2e-1 时,输出是 0。( )

{{ select(24) }}

25. 在 C++ 的循环体内部,如果 break 和 continue 语句连续在一起,那么作用抵消,可以顺利执行下一次循环。( )

{{ select(25) }}