#G12312. 2023年12月 C++ 1级真题

2023年12月 C++ 1级真题

第一部分:单选题(每题2分,共30分)

  1. 以下C++不可以作为变量的名称的是( )。

{{ select(1) }}

  • CCF GESP
  • ccfGESP
  • CCFgesp
  • CCF_GESP
  1. C++表达式 10 - 3 * (2 + 1) % 10 的值是( )。

{{ select(2) }}

  • 0
  • 1
  • 2
  • 3
  1. 假设现在是上午十点,求出N小时(正整数)后是第几天几时,如输入20小时则为第2天6点,如N输入4则为今天14点。为实现相应功能,应在横线处填写代码是( )。
int hour = 10;
int N;
cin >> N;
cout << "第" << _____ + 1 << "天" << _____ << "点" << endl;

{{ select(3) }}

  • (10 + N) % 24 , (10 + N) / 24
  • (10 + N) / 24 , (10 + N) % 24
  • N % 24 , N / 24
  • 10 / 24 , 10 % 24
  1. 下面的程序用于判断N是否为偶数,横线处应填写代码是( )。
int N;
cin >> N;
if (_____) {
    cout << "偶数" << endl;
} else {
    cout << "奇数" << endl;
}

{{ select(4) }}

  • N % 2 == 0
  • N % 2 = 0
  • N % 2
  • N % 2 != 0
  1. 下面对C++代码执行后输出的描述,正确的是( )。
int N;
cin >> N;
for (int i = 2; i <= N; i++) {
    cout << i - 1 << endl;
}

{{ select(5) }}

  • 如果输入的N是小于等于2整数,第5行将输出0
  • 如果输入的N是大于等于2整数,第5行将输出N-1
  • 如果输入的N是大于等于2整数,第5行将输出N
  • 以上说法均不正确
  1. 下面C++代码执行后的输出是( )。
int x = 10;
while (x > 0) {
    x = x - 3;
}
cout << x << endl;

{{ select(6) }}

  • 10
  • 9
  • 3
  • 1
  1. 下面C++代码执行后的输出是( )。
int sum = 0;
for (int i = 1; i < 10; i++) {
    sum += i;
}
cout << sum << endl;

{{ select(7) }}

  • 90
  • 44
  • 20
  • 10
  1. 下面C++代码执行后的输出是( )。
int count = 0;
for (int i = 1; i <= 10; i++) {
    if (i % 2 == 1) {
        count++;
    }
}
cout << count << endl;

{{ select(8) }}

  • 11
  • 10
  • 5
  • 4
  1. 下面C++代码用于判断一个数是否为质数(素数),在横线处应填入代码是( )。
int n;
cin >> n;
int cnt = 0;
for (int i = 1; i <= n; i++) {
    if (n % i == 0) {
        _______;
    }
}
if (cnt == 2) {
    cout << "是质数" << endl;
} else {
    cout << "不是质数" << endl;
}

{{ select(9) }}

  • cnt = 1
  • cnt = 2
  • cnt =+ 1
  • cnt += 1
  1. 对下面的代码,描述正确的是( )。
int a[10] = {2, 6, 3, 5, 4, 8, 1, 0, 9};
for (int i = 0; i < 10; i++) {
    cout << a[i] << " ";
}
cout << i << endl;

{{ select(10) }}

  • 输出2 6 3 5 4 8 1 0 9 10 10
  • 输出2 6 3 5 4 8 1 0 9 9
  • 输出2 6 3 5 4 8 1 0 9 10
  • 提示有编译错误
  1. 执行下面C++代码后输出是( )。
int x = 3;
int y = x * x;
int z = y + x * 2;
cout << z << endl;

{{ select(11) }}

  • 3
  • 21
  • 27
  • 49
  1. 定义变量 char c,下面对c赋值的语句,不符合语法的是( )。

{{ select(12) }}

  • c = (char)66;
  • c = (char)(66);
  • c = char(66);
  • c = char 66;
  1. 下图所示C++代码对大写字母'A'到'Z'分组,对每个字母输出所属的组号,那么输入'C'时将输出的组号是?( )。
char ch;
cin >> ch;
int group = (ch - 'A') / 3 + 1;
cout << group << endl;

{{ select(13) }}

  • 3
  • 3 5
  • 3 5 9
  • 以上都不对
  1. 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )

{{ select(14) }}

  • 麦克风
  • 扬声器
  • 油量表
  • 传感器
  1. 现代计算机是指电子计算机,它所基于的是( )体系结构。

{{ select(15) }}

  • 艾伦·图灵
  • 冯·诺依曼
  • 阿塔纳索夫
  • 埃克特-莫克利

第二部分:判断题(每题2分,共20分)

  1. C++表达式 int(3.14) 的值为3。

{{ select(16) }}

  • 正确
  • 错误
  1. C++语句 cout << (2 * 3, 3 % 10, 2+3) 的输出为 6,3,5。

{{ select(17) }}

  • 正确
  • 错误
  1. for(int i = 1; i < 10; i += 3;); 表示i从1开始到10结束间隔为3,相当于1、4、7、10。

{{ select(18) }}

  • 正确
  • 错误
  1. C++表达式 010+100+001 的值为111。

{{ select(19) }}

  • 正确
  • 错误
  1. if语句中的条件表达式的结果可以为int类型。

{{ select(20) }}

  • 正确
  • 错误
  1. 在下面的C++代码 while(1) continue; 中,由于循环中的continue是无条件被执行,因此将导致死循环。

{{ select(21) }}

  • 正确
  • 错误
  1. C++表达式 ('1'+'1'=='2'? flag=1:flag=2) 的结果值和表达式 (flag==2) 的相同。

{{ select(22) }}

  • 正确
  • 错误
  1. 在C++的程序中,不能用scanf作为变量名。

{{ select(23) }}

  • 正确
  • 错误
  1. 小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。

{{ select(24) }}

  • 正确
  • 错误
  1. 任何一个while循环都可以转化为等价的for循环。

{{ select(25) }}

  • 正确
  • 错误