0 #J2005. CCF-GESP编程能力等级认证真题【C022403】
CCF-GESP编程能力等级认证真题【C022403】
一、选择题。(15题,每题2分,共30分)
- 下列流程图的输出结果是?
{{ select(1) }}
- 优秀
- 良好
- 不及格
- 没有输出
- 以下选项中不符合 C++变量命名规则的是? {{ select(2) }}
- student
- 2_from
- _to
- Text
- 以下选项中,不能用于表示分支结构的C++保留字是? {{ select(3) }}
- switch
- return
- else
- if
- 下列说法错误的是? {{ select(4) }}
- while 循环满足循环条件时不断地运行,直到指定的条件不满足为止
- if 语句通常用于执行条件判断
- 在C++中可以使用 foreach 循环
- break 和 continue 语句都可以用在 for 循环和 while 循环中
- 下列4个表达式中,答案不是整数8的是? {{ select(5) }}
- abs(-8)
- min(max(8, 9), 10)
- int(8.88)
- sqrt(64)
- 下面C++代码执行后的输出是?
1. int n,a,m,i;
2.
3. n=3, a = 5;
4. m = (a - 1) * 2;
5. for (i=0; i<n-1; i++)
6. m = (m - 1) * 2;
7.
8. cout << m;
{{ select(6) }}
- 8
- 14
- 26
- 50
- 下面C++代码执行后的输出是?
1. int n,i,result;
2.
3. n = 81;
4. i = 1, result = 1;
5. while (i * i <= n)
6. {
7. if (n % (i * i) == 0)
8. result = i * i;
9. i += 1;
10. }
11.
12. cout << result;
{{ select(7) }}
- 16
- 36
- 49
- 81
- 下面C++代码执行后的输出是?
1. int s,t,ans;
2. s = 2, t = 10;
3. ans = 0;
4. while (s != t)
5. {
6. if (t % 2 == 0 && t / 2 >= s)
7. t /= 2;
8. else
9. t -= 1;
10. ans += 1;
11. }
12. cout << ans;
{{ select(8) }}
- 2
- 3
- 4
- 5
- 下面C++代码执行后的输出是?
1. int n, masks, days,cur;
2. n = 17, masks = 10, days = 0;
3. cur = 2;
4. while (masks != n)
5. {
6. if (cur == 0 || cur == 1)
7. masks += 7;
8. masks -= 1;
9. days += 1;
10. cur = (cur + 1) % 7;
11. }
12.
13. cout << days;
{{ select(9) }}
- 5
- 6
- 7
- 8
- 以下C++代码判断一个正整数N的各个数位是否都是偶数。如果都是,则输出“是”,否则输出“否”。例如N=2024时输出“是”。则横线处应填入?
1. int N,Flag;
2. cin >> N;
3. Flag = true;
4. while (N != 0)
5. {
6. if (N %2 != 0)
7. {
8. Flag = false;
9. _____________
10. }
11. else
12. N /= 10;
13. }
14. if(Flag == true)
15. cout << "是";
16. else
17. cout << "否";
{{ select(10) }}
- break
- continue
- N = N / 10
- N = N % 10
- 有句俗话叫“三天打渔,两天晒网”。如果小杨前三天打渔,后两天晒网,一直重复这个过程,以下程序代码用于判断,第n天小杨是在打鱼还是晒网,横线处应填写?
1. int n,i;
2. cin >> n;
3. i = n % 5;
4. if (__________________) // 在此处填写代码
5. cout << "晒网";
6. else
7. cout << "打鱼";
{{ select(11) }}
- i == 0
- i == 4
- i == 0 && i == 4
- i == 0 || i == 4
- 一个数的所有数字倒序排列后这个数的大小保持不变,这个数就是回文数,比如 101 与 6886 都是回文数,而 100 不是回文数。以下程序代码用于判断一个数是否为回文数,横线处应填写?
1. int n,a,k;
2. cin >> n;
3. a = 0;
4. k = n;
5. while (n > 0)
6. {
7. a = __________; // 在此处填写代码
8. n /= 10;
9. }
10. if (a == k)
11. cout << "是回文数";
12. else
13. cout << "不是回文数";
{{ select(12) }}
- 10 * a + n % 10
- a + n % 10
- 10 * a + n / 10
- a + n / 10
- 给定两个整数 与 ,打印出一个栅栏图形,这个栅栏应该分成 段,段与段之间的间隔为 + , 段内的填充为 个 - 。形如 , 时,图形如下:
+-----+-----+-----+-----+-----+
以下程序代码用于绘制该图形,横线处应填写?
1. int n, k, i, j;
2. n = 5, k = 6;
3. for (i = 0; i < n; i++)
4. {
5. __________ // 在此处填写代码
6. for (j = 1; j < k; j++)
7. cout << '-' ;
8. }
9. cout << '+';
{{ select(13) }}
- cout << '+' << endl;
- cout << '+' << ' ' << endl;
- cout << '+';
- cout << '+' << ' ';
- 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?
{{ select(14) }}
- 小程序
- 计时器
- 操作系统
- 神话人物
- 中国计算机学会(CCF)在2024年1月27日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是?
{{ select(15) }}
- 制造自动驾驶汽车
- 创立培训学校
- 发明汉字激光照排系统
- 成立方正公司
二、判断题。(10题,每题2分,共20分)
- 如果有以下C++代码:
1. double s;
2. int t;
3. s = 18.5;
4. t = int(s) + 10;
那么 cout << t 的结果为 28.5。
{{ select(16) }}
- 对
- 错
- Xyz , xYz , xyZ 是三个不同的变量。 {{ select(17) }}
- 对
- 错
- cout << (8< 9< 10) 的输出结果为 true。 {{ select(18) }}
- 对
- 错
- for (i = 0; i < 100; i+=2) ; 语句中变量i的取值范围是0到99。 {{ select(19) }}
- 对
- 错
- C++中 cout << float(2022) 与 cout << float('2022') 运行后的输出结果均为2022。 {{ select(20) }}
- 对
- 错
- 已知 A 的ASCII码值为65,表达式 int('C')+abs(-5.8) 的值为72.8。 {{ select(21) }}
- 对
- 错
- bool() 函数用于将给定参数或表达式转换为布尔类型。语句 bool(-1) 返回的是 false 值。 {{ select(22) }}
- 对
- 错
- 如果变量 a 的值使得C++表达式 sqrt(a)==abs(a) ,则 a 的值为0。 {{ select(23) }}
- 对
- 错
- 小杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接入到WIFI盒子才能收看节目,那这个WIFI盒子具有路由器的功能。 {{ select(24) }}
- 对
- 错
- 任何一个 for 循环都可以转化为等价的 while 循环。 {{ select(25) }}
- 对
- 错
三、编程题。(2题,每题25分,共50分)
- 【乘法问题】
- 【小杨的日字矩阵】