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