2023年03月CCF编程能力等级认证C++二级真题
一、单选题 (每题 2 分,共 30 分)
1) 以下存储器中的数据不会受到附近强磁场干扰的是( ) 




查看答案
2) 下列流程图,属于计算机的哪种程序结构?( )。
小鹏STEM题库




查看答案
3) 下列关于C++语言的叙述,不正确的是( )。




查看答案
4) 下列关于C++语言的叙述,不正确的是( )。 




查看答案
5) 以下哪个不是C++语言的关键字?




查看答案
6) 以下哪个不是C++语言的运算符?




查看答案
7) 如果a和b都是char类型的变量,下列哪个语句不符合C++语法? 




查看答案
8) 如果a、b、c和d都是int类型的变量,则下列哪个表达式能够正确计算它们 的平均值?




查看答案
9) 如果a为char类型的变量,且a的值为'2',则下列哪条语句执行后,a的值不会变为'3'?




查看答案
10) 如果 a 为 int 类型的变量,且 a 的值为 9,则执行 a -= 3;之后,a 的值会是( )。




查看答案
11) 如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断 “a 等于 0 或 b 等于 0” 的是( )




查看答案
12) 如果 a 为 char 类型的变量,下列哪个表达式可以正确判断“a 是小写字母”? 




查看答案
13) 在下列代码的横线处填写(),使得输出是`50 10`。
#include <iostream>
using namespace std;
int main() {
    int a = 10, b = 50;
    ________; // 此处填入代码
    b -= a;
    a += b;
    cout << a << " " << b << endl;
    return 0;
}




查看答案
14) 在下列代码的横线处填写(),可以使得输出是`5`。

#include <iostream>
using namespace std;
int main() {
    int cnt = 0;
    for (char ch = '1'; ch <= '9'; ch++)
        if (________) // 在此处填入代码
            cnt++;
    cout << cet << endl;
    return 0;
}





查看答案
15) 执行以下 C++语言程序后,输出结果是( )。
#include <iostream>
using namespace std;
int main() {
    int n = 17;
    bool isprime = true;
    for (int i = 2; i <= n; i++)
        if (n % i == 0)
            isprime = false;
    cout << isprime << endl;
    return 0;
}




查看答案
二、判断题 (每题 2 分,共 20 分)
16) 明明和笑笑在“小庙会”上分别抽到一个4GB和4096MB的U盘,容量大的盘是笑笑的( )。

查看答案
17) IPv4 的地址通常用“点分十进制”的表示形式,形如(a.b.c.d),其中 a、b、c、 d都是1~255之间的十进制整数( )。

查看答案
18) 在C++语言中,一个程序不能有多个main函数。

查看答案
19) 在C++语言中,标识符中可以有下划线_,但不能以下划线_开头。

查看答案
20) 如果a是int类型的变量,而且值为1,则表达式'a'的值为'1'。

查看答案
21) 在if...else语句中,else子句可以嵌套if...else语句,但if子句不可以,因为会造成二义性。

查看答案
22) while 语句的循环体至少会执行一次。

查看答案
23) C++语言中>=是运算符,但=>不是。

查看答案
24) 如果a为char类型的变量,且取值为小写字母,则执行语句a=a-'a'+'A'; 后,a 的值会变为与原值对应的大写字母。

查看答案
25) 表达式(10.0 / 2)的计算结果为 5.0,且结果类型为 double。

查看答案
三、编程题 (每题 25 分,共 50 分)
26) 画三角形 
【问题描述】
输入一个正整数 n,请使用大写字母拼成一个这样的三角形图案(参考样例 输入输出):三角形图案的第 1 行有 1 个字母,第 2 行有 2 个字母,以此类推; 在三角形图案中,由上至下、由左至右依次由大写字母 A-Z 填充,每次使用大写字母 Z 填充后,将从头使用大写字母 A 填充。
【输入描述】
输入一行,包含一个正整数 n。约定 2≤n≤40。
【输出描述】 
输出符合要求的三角形图案。注意每行三角形图案的右侧不要有多余的空格。
【样例输入 1】 
3
【样例输出 1】
A
BC
DEF
【样例输入 2】 
7
【样例输出 2】
A
BC
DEF
GHIJ
KLMNO
PQRSTU
VWXYZAB
查看答案
27) 百鸡问题 
【问题描述】
“百鸡问题”是出自我国古代《张丘建算经》的著名数学问题。大意为:“每只公鸡 5 元,每只母鸡 3 元,每 3 只小鸡 1 元;现在有 100 元,买了 100 只鸡, 共有多少种方案?”
小明很喜欢这个故事,他决定对这个问题进行扩展,并使用编程解决:如果每只公鸡x元,每只母鸡y元,每z只小鸡1元;现在有n元,买了m只鸡, 共有多少种方案?
【输入描述】
输入一行,包含五个整数,分别为问题描述中的 x、y、z、n、m。约定 1≤x, y, z ≤10,1≤ n, m ≤1000。 
【输出描述】
输出一行,包含一个整数 C,表示有 C 种方案。 
【样例输入 1】
5 3 3 100 100
【样例输出 1】 
4
【样例解释 1】
这就是问题描述中的“百鸡问题”。4 种方案分别为:公鸡 0 只、母鸡 25 只、 小鸡75只;公鸡4只、母鸡18只、小鸡78只;公鸡8只、母鸡11只、小鸡 81 只;公鸡 12 只、母鸡 4 只、小鸡 84 只。。
【样例输入 2】 
1 1 1 100 100
【样例输出 2】 
5151
查看答案