#X000108. GESP C++一级试卷(2024年12月)

GESP C++一级试卷(2024年12月)

CCF 编程能力等级认证

Grade Examination of Software Programming

C++ 一级 2024年12月

(满分:100分 考试时间:90分钟)

学校:______ 姓名:______

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


第1题

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

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

第2题

下列软件中是操作系统的是( )。 {{ select(2) }}

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

第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 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类型变量的值是一个正方形的边长,如下图中的正方形的四条边长都为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) }}

  • 正确
  • 错误