#GESP20240601. GESP C++ 一级(2024 年 06 月)

GESP C++ 一级(2024 年 06 月)

image

C++ 一级 (2024 年 06 月,满分 50 分)

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

  1. 在C++中,下列不可做变量的是( )。 {{ select(1) }}
  • five-Star
  • five_star
  • fiveStar
  • _fiveStar

  1. C++表达式 3- 3* 3/ 5的值是( )。 {{ select(2) }}
  • -1.2
  • 1
  • 0
  • 2

  1. 在C++中,假设N为正整数,则表达式 cout<<(N% 3+ N% 7)可能输出的最大值是( )。 {{ select(3) }}
  • 6
  • 8
  • 9
  • 10

  1. C++语句 printf("5%%2={%d}\n",5% 2)执行后的输出是( )。 {{ select(4) }}
  • 1={1}
  • 5%2={5%2}
  • 5%2={1}
  • 5={1}

  1. 对整型变量i,执行C++语句 cin>> i, cout<< i时如果输入 5+2,下述说法正确的是( )。 {{ select(5) }}
  • 将输出整数7
  • 将输出 5
  • 语句执行将报错,输入表达式不能作为输出的参数
  • 语句能执行,但输出内容不确定

  1. 下面C++代码执行后的输出是( )。
float a;
a = 101.101;
a = 101;
printf("a+1={%.0f}",a+1);

{{ select(6) }}

  • 102={102}
  • a+1={a+1}
  • a+1={102}
  • a先被赋值为浮点数,后被赋值为整数,执行将报错

  1. 表达式 9/4- 6%(6- 2)* 10的值是( )。 {{ select(7) }}
  • -17.75
  • -18
  • -14
  • -12.75

  1. 下面C++代码执行时输入10后,正确的输出是( )。
int N;
cout << "请输入正整数:";
cin >> N;
if (N % 3)
     printf("第5行代码%2d", N % 3);
else
     printf("第6行代码%2d", N % 3);

{{ select(8) }}

  • 第5行代码1
  • 第6行代码1
  • 第5行代码 1
  • 第6行代码 1

  1. 下面C++代码执行后输出是( )。
int Sum = 0, i = 0;
for ( ; i < 10; )
     Sum += i++;
cout << i << " " << Sum;

{{ select(9) }}

  • 9 45
  • 10 55
  • 10 45
  • 11 55

  1. 下面C++代码用于判断N是否为质数(只能被1和它本身整除的正整数)。程序执行后,下面有关描述正确 的是( )。
int N;
cout << "请输入整数:";
cin >> N;

bool Flag = false;

if (N >= 2){
     Flag = true;
     for (int i=2; i < N; i++)
          if (N % i == 0){
               Flag = false;
               break;
          }
}

if(Flag)
     cout << "是质数";
else
     cout << "不是质数";

{{ select(10) }}

  • 如果输入负整数,可能输出“是质数”
  • 如果输入2,将输出“不是质数”,因为此时循环不起作用
  • 如果输入2,将输出“是质数”,即便此时循环体没有被执行
  • 如果将 if(N>= 2)改为 if(N> 2)将能正确判断N是否质数

  1. 下面的C++代码用于求1~N之间所有奇数之和,其中N为正整数,如果N为奇数,则求和时包括N。有关描述 错误的是( )。
int N;
cout << "请输入正整数:";
cin >> N;

int i = 1, Sum = 0;

while (i <= N){
     if (i % 2 == 1)
          Sum += i;
     i += 1;
}

cout << i << " " << Sum;

{{ select(11) }}

  • 执行代码时如果输入10,则最后一行输出将是 11 25
  • 执行代码时如果输入5,则最后一行输出将是 6 9
  • 将 i+= 1移到 if(i% 2== 1)前一行,同样能实现题目要求
  • 删除 if(i% 2== 1),并将 i+= 1改为 i+= 2,同样可以实现题目要求

  1. 如果一个整数N能够表示为 X*X的形式,那么它就是一个完全平方数,下面C++代码用于完成判断N是否为 一个完全平方数,在横线处应填入的代码是( )。
int N;

cin >> N;
for(int i = 0; i <= N; i++)
     if(___________________)
          cout << N << "是一个完全平方数\\n";

{{ select(12) }}

  • i == N * N
  • i * 10 == N
  • i + i == N
  • i * i == N

  1. 执行下面C++代码后输出的cnt的值是( )。
int cnt=0;

for(int i = 0; i\*i < 64; i+=2)
     cnt++;
cout << cnt;

{{ select(13) }}

  • 8
  • 7
  • 4
  • 1

  1. 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第一级,那他可以选择的认证语言有几 种?( ) {{ select(14) }}
  • 1
  • 2
  • 3
  • 4

  1. ENIAC于1946年投入运行,是世界上第一台真正意义上的计算机,它的主要部件都是( )组成的。 {{ select(15) }}
  • 感应线圈
  • 电子管
  • 晶体管
  • 集成电路

二、判断题(每题 2 分,共 20 分)【正确(A)错误(B)】

  1. 在C++代码中变量 X被赋值为16.44,则 cout<< X/ 10执行后输出的一定是 1。( ) {{ select(16) }}
  • 正确
  • 错误

  1. C++的整型变量 N被赋值为10,则语句 cout<< N/ 4<<"->"<< N% 4<<"->"<< N/ 4.0执行后输出是 2->2->2.0。( ) {{ select(17) }}
  • 正确
  • 错误

  1. 定义C++的 float型变量 N,则语句 cin>> N; cout<< int(float(N))可以输入正负整数和浮点数,并将其转换为整数后输出。( ) {{ select(18) }}
  • 正确
  • 错误

  1. C++的整型 N被赋值为5,语句 printf("%d*2",N)执行后将输出 10。( ) {{ select(19) }}
  • 正确
  • 错误

  1. 在C++中, break语句用于终止当前层次的循环,循环可以是 for循环,也可以是 while循环。( ) {{ select(20) }}
  • 正确
  • 错误

  1. 在C++, continue语句通常与 if语句配合使用。( ) {{ select(21) }}
  • 正确
  • 错误

  1. 在C++代码中,不可以将变量命名为 printf,因为 printf是C++语言的关键字。( ) {{ select(22) }}
  • 正确
  • 错误

  1. 在C++中有整型变量N,则表达式 N+= 8/4//2相当于 N+= 8/(4/2)。( ) {{ select(23) }}
  • 正确
  • 错误

  1. C++中定义变量 int N,则表达式(!!N)的值也是 N的值。( ) {{ select(24) }}
  • 正确
  • 错误

  1. GESP测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( ) {{ select(25) }}
  • 正确
  • 错误