2023 年 12 月 CCF编程能力 C++ 一级试卷
1 单选题 (每题 2 分,共 30 分)
1) 以下C++不可以作为变量的名称的是( )。 




查看答案
2) C++表达式 10 - 3 * (2 + 1) % 10 的值是( )。 




查看答案
3) 假设现在是上午十点,求出N小时(正整数)后是第几天几时,如输入20小时则为第2天6点,如N输入4则为今天14点。为实现相应功能,应在横线处填写代码是( )。
int N, dayX, hourX;

cin >> N;

dayX = ________, hourX = ________;
if (dayX == 0)
    cout << "今天" << hourX << "点";
else
    cout << "第" << (dayX + 1) << "天" << hourX << "点";




查看答案
4) 下面的程序用于判断N是否为偶数,横线处应填写代码是( )。

cin >> N;
if (________)
    cout << "偶数";
else
    cout << "奇数";





查看答案
5) 下面对C++代码执行后输出的描述,正确的是( )。
cin >> N;
cnt = 0;
for (int i = 1; i < N; i++)
    cnt += 1;
cout << cnt;




查看答案
6) 下面C++代码执行后的输出是( )。
int cnt = 0;
for (int i = 1; i < 10; i++) {
    cnt += 1;
    i += 2;
}
cout << cnt;




查看答案
7) 下面C++代码执行后的输出是( )。
int cnt = 0;
for(int i = 1; i < 20; i++) {
    if (i%2)
        continue;
    else if (i%3==0 && i%5==0)
        break;
    cnt += i;
}
cout << cnt;




查看答案
8) 下面C++代码执行后的输出是( )。

N = 10;
cnt = 0;
while (1) {
    if (N == 0) break;
    cnt += 1;
    N -=2;
}
cout << cnt;





查看答案
9) 下面C++代码用于判断一个数是否为质数(素数),在横线处应填入代码是( )。
cin >> N;
cnt = 0;
for (int i = 1; i < N + 1; i++)
    if (N % i == 0)
        ________;
if (cnt == 2)
    cout << N << "是质数。";
else
    cout << N << "不是质数。";




查看答案
10) 对下面的代码,描述正确的是( )。
#include <stdlib.h>

using namespace std;

int main() {
    int arr[] = {2, 6, 3, 5, 4, 8, 1, 0, 9, 10};
    for (int i = 0; i < 10; i++)
        cout << arr[i] << " ";
    cout << i << endl;

    cout << endl;
    return 0;
}




查看答案
11) 执行下面C++代码后输出是( )。
cnt = 0;
for (i = 10; i > 3; i -= 3)
    cnt = cnt + i;
cout << cnt;




查看答案
12) 定义变量 char c ,下面对 c 赋值的语句,不符合语法的是( )。 




查看答案
13) 下图所示C++代码对大写字母 'A' 到 'Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组号是?( )。
char c;
while (1) {
    cin >> c;
    if (c=='q') break;
    switch (c) {
        case 'A': cout << "1 "; break;
        case 'B': cout << "3 ";
        case 'C': cout << "3 ";
        case 'D': cout << "5 "; break;
        case 'E': cout << "5 "; break;
        default: cout << "9 ";
    }
    cout << endl;
} 




查看答案
14) 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )




查看答案
15) 现代计算机是指电子计算机,它所基于的是( )体系结构。




查看答案
判断题 (每题 2 分,共 20 分)
16)
C++表达式 int(3.14) 的值为3。( ) 

查看答案
17) C++语句 cout << (2 * 3, 3 % 10, 2+3) 的输出为 6,3,5 。 ( ) 

查看答案
18) for(int i = 1; i < 10; i += 3;) ; 表示i从1开始到10结束间隔为3,相当于1、4、7、10。( ) 

查看答案
19) C++表达式010+100+001的值为111。( ) 

查看答案
20) if 语句中的条件表达式的结果可以为 int 类型。

查看答案
21) 在下面的C++代码 while(1) continue; 中,由于循环中的 continue 是无条件被执行,因此将导致死循环。( ) 

查看答案
22) C++表达式 ('1'+'1'=='2'? flag=1:flag=2) 的结果值和表达式 (flag==2) 的相同。( ) 

查看答案
23) 在C++的程序中,不能用 scanf 作为变量名。( )

查看答案
24) 小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。( )

查看答案
25) 任何一个 while 循环都可以转化为等价的 for 循环( )。

查看答案
编程题 (每题 25 分,共 50 分)
26) 试题名称:小杨的考试 
时间限制:1.0 s 
内存限制:128.0 MB
【问题描述】 
今天是星期X,小杨还有N天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用7表示星期日) 
【输入描述】 
输入 2 行,第一行一个整数 X(1 ≤ X ≤ 7);第二行一个整数 N(1 ≤ N ≤ 364)。
【输出描述】 
输出一个整数,表示小杨考试那天是星期几。 
【特别提醒】 
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。 
【样例输入1】
1

【样例输出1】 

【样例解释1】 
今天是星期 1,那么 6 天后就是星期日,星期日在本题中用7表示。 
【样例输入2】
5
3
【样例输出2】 
1
【样例解释2】 
今天是星期 5,那么 3 天后就是星期 1。 
查看答案
27) 试题名称:小杨报数 
时间限制:1.0 s 
内存限制:128.0 MB 
【问题描述】 
小杨需要从1到N报数。在报数过程中,小杨希望跳过M的倍数。例如,如果N=5,M=2,那么小杨就需要依次报出1、3、5。 现在,请你依次输出小杨报的数。 
【输入描述】 
输入 2 行,第一行一个整数N(1 ≤ N ≤ 1000);第二行一个整数M(2 ≤ M ≤ 100)。 
【输出描述】 
输出若干行,依次表示小杨报的数。 
【特别提醒】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。 
【样例输入1】
5
2
【样例输出1】
1
3
5
【样例输入2】
10
3
【样例输出2】
1
2
4
5
7
8
10
查看答案
增值服务权益

1. 试题参考答案和解析查看;
2. 试卷模拟测试;
3. 随机组题测试;
4. 试卷PDF文件下载;
5. 赠送等值学豆;

  订阅  
学员服务
教研服务

小鹏STEM教研服务系统是面向教师的一站式教研、教学和知识管理系统。
订阅服务后,所有题目均可无限制查看和服务。

  详情