#J1006. CCF-GESP编程能力等级认证真题【C012406】
CCF-GESP编程能力等级认证真题【C012406】
一、选择题。(15题,每题2分,共30分)
- 在c++中,下列不可做变量的是? {{ select(1) }}
- five-Star
- five_star
- fiveStar
- _fiveStar
- C++表达式 3 - 3 * 3 / 5 的值是? {{ select(2) }}
- -1.2
- 1
- 0
- 2
- 在C++中,假设N为正整数,则表达式 cout << (N % 3 + N % 7) 可能输出的最⼤值是? {{ select(3) }}
- 6
- 8
- 9
- 10
- C++语句 printf("5%%2={%d}\n",5 % 2) 执⾏后的输出是? {{ select(4) }}
- 1={1}
- 5%2={5%2}
- 5%2={1}
- 5 ={1}
- 对整型变量i,执⾏C++语句 cin >> i, cout << i 时如果输⼊ 5+2 ,下述说法正确的是? {{ select(5) }}
- 将输出整数7
- 将输出 5
- 语句执⾏将报错,输⼊表达式不能作为输出的参数
- 语句能执⾏,但输出内容不确定
- 下⾯C++代码执⾏后的输出是?
1. float a;
2. a = 101.101;
3. a = 101;
4. printf("a+1={%.0f}",a+1);
{{ select(6) }}
- 102={102}
- a+1={a+1}
- a+1={102}
- a先被赋值为浮点数,后被赋值为整数,执⾏将报错
- 表达式 9/4 - 6 % (6 - 2) * 10 的值是?
{{ select(7) }}
- -17.75
- -18
- -14
- -12.75
- 下⾯C++代码执⾏时输⼊10后,正确的输出是?
1. int N;
2. cout << "请输入正整数:";
3. cin >> N;
4. if (N % 3)
5. printf("第5行代码%2d", N % 3);
6. else
7. printf("第6行代码%2d", N % 3);
{{ select(8) }}
- 第5行代码1
- 第6行代码1
- 第5行代码 1
- 第6行代码 1
- 下面C++代码执行后的输出是?
1. int Sum = 0, i = 0;
2. for ( ; i < 10; )
3. Sum += i++;
4. cout << i << " " << Sum;
{{ select(9) }}
- 9 45
- 10 55
- 10 45
- 11 55
- 下⾯C++代码⽤于判断N是否为质数(只能被1和它本⾝整除的正整数)。程序执⾏后,下⾯有关描述正确的是?
1. int N;
2. cout << "请输入整数:";
3. cin >> N;
4.
5. bool Flag = false;
6.
7. if (N >= 2){
8. Flag = true;
9. for (int i=2; i < N; i++)
10. if (N % i == 0){
11. Flag = false;
12. break;
13. }
14. }
15.
16. if(Flag)
17. cout << "是质数";
18. else
19. cout << "不是质数";
{{ select(10) }}
- 如果输⼊负整数,可能输出“是质数
- 如果输⼊2,将输出“不是质数”,因为此时循环不起作⽤
- 如果输⼊2,将输出“是质数”,即便此时循环体没有被执⾏
- 如果将 if (N >= 2) 改为 if (N > 2) 将能正确判断N是否质数
- 下⾯的C++代码⽤于求1~N之间所有奇数之和,其中N为正整数,如果N为奇数,则求和时包括N。有关描述错误的是?
1. int N;
2. cout << "请输入整数:";
3. cin >> N;
4.
5. int i = 1, Sum = 0;
6.
7. while (i <= N){
8. if (i % 2 == 1)
9. Sum += i;
10. i += 1;
11. }
12.
13. 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 ,同样可以实现题⽬要求
- 如果⼀个整数N能够表⽰为 X*X 的形式,那么它就是⼀个完全平⽅数,下⾯C++代码⽤于完成判断N是否为⼀个完全平⽅数,在横线处应填⼊的代码是?
1. int N;
2.
3. cin >> N;
4. for(int i = 0; i <= N; i++)
5. if(__________)
6. cout << N << "是一个完全平方数\\n";
{{ select(12) }}
- i == N*N
- i*10 == N
- i+i == N
- i*i == N
- 执⾏下⾯C++代码后输出的cnt的值是?
1. int cnt=0;
2.
3. for(int i = 0; i*i < 64; i+=2)
4. cnt++;
5. cout << cnt;
{{ select(13) }}
- 8
- 7
- 4
- 1
- ⼩杨⽗母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语⾔有⼏种?? {{ select(14) }}
- 1
- 2
- 3
- 4
- ENIAC于1946年投⼊运⾏,是世界上第⼀台真正意义上的计算机,它的主要部件都是( )组成的? {{ select(15) }}
- 感应线圈
- 电⼦管
- 晶体管
- 集成电路
二、判断题。(10题,每题2分,共20分)
- 在C++代码中变量 X 被赋值为16.44,则 cout << X / 10执⾏后输出的⼀定是1。 {{ select(16) }}
- 对
- 错
- C++的整型变量 N 被赋值为10,则语句 cout << N / 4 << "->" << N % 4 << "->" << N / 4.0执⾏后输出是2->2->2.0。 {{ select(17) }}
- 对
- 错
- 定义C++的 float 型变量 N ,则语句 cin >> N; cout << int(float(N)) 可以输⼊正负整数和浮点数, 并将其转换为整数后输出。 {{ select(18) }}
- 对
- 错
- C++的整型 N 被赋值为5,语句 printf("%d*2",N)执⾏后将输出 10。 {{ select(19) }}
- 对
- 错
- 在C++中, break 语句⽤于终⽌当前层次的循环,循环可以是 for 循环,也可以是 while 循环。 {{ select(20) }}
- 对
- 错
- 在C++中, continue 语句通常与 if 语句配合使⽤。 {{ select(21) }}
- 对
- 错
- 在C++代码中,不可以将变量命名为 printf ,因为 printf 是C++语⾔的关键字。 {{ select(22) }}
- 对
- 错
- 在C++中有整型变量N,则表达式 N += 8/4//2 相当于 N += 8/(4/2)。 {{ select(23) }}
- 对
- 错
- C++中定义变量 int N ,则表达式 (!!N) 的值也是 N 的值。 {{ select(24) }}
- 对
- 错
- GESP测试是对认证者的编程能⼒进⾏等级认证,同⼀级别的能⼒基本上与编程语⾔⽆关。 {{ select(25) }}
- 对
- 错
三、编程题。(2题,每题25分,共50分)
- 【休息时间】
- 【立方数】