• CCF编程能力等级认证GESP—C++1级—样题1


    单选题(每题 2 分,共 30 分)

    1、人们在使用计算机时所提到的 Windows 通常指的是( )。

    A. 操作系统
    B. 多人游戏
    C. 上市公司
    D. 家居用具
    
    • 1
    • 2
    • 3
    • 4

    2、计算机领域的图灵奖为了纪念( )科学家图灵。

    A. 英国
    B. 德国
    C. 瑞典
    D. 法国
    
    • 1
    • 2
    • 3
    • 4

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

    A. 变量使用前必须先定义
    B. if 语句中的判断条件必须写在 ()中
    C. for 语句的循环体必须写在{}中
    D. 程序必须先编译才能运行
    
    • 1
    • 2
    • 3
    • 4

    4、不可以作为 C++标识符的是( )。

    A. a_plus_b
    B. a_b
    C. a+b
    D. ab
    
    • 1
    • 2
    • 3
    • 4

    5、常量’3’的数据类型是( )。

    A. int
    B. char
    C. bool
    D. double
    
    • 1
    • 2
    • 3
    • 4

    6、. 按照 C++语言的语法,以下不是正确的变量定义语句是( )。

    A. int a;
    B. int a = 10;
    C. int a(10);
    D. a = 10;
    
    • 1
    • 2
    • 3
    • 4

    7、下列符号不是 C++语言的运算符的是( )。

    A. $
    B. %
    C. =
    D. *
    
    • 1
    • 2
    • 3
    • 4

    8、如果用两个 int 类型的变量 a 和 b 分别表达直角三角形两条直角边的长度,则下列哪个表达式可以用来计算三角形的面积?( )

    A. a * b / 2
    B. a / 2 * b
    C. 1 / 2 * a * b
    D. a * b * 0.5
    
    • 1
    • 2
    • 3
    • 4

    9、表达式(3 + 12 / 3 * 2)的计算结果为( )。

    A. 10
    B. 5
    C. 11
    D. 2
    
    • 1
    • 2
    • 3
    • 4

    10、如果 a 为 int 类型的变量,且 a 的值为 6,则执行a = a + 3;之后,a 的值会是( )。

    A. 0
    B. 3
    C. 6
    D. 9
    
    • 1
    • 2
    • 3
    • 4

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

    A. !a == 0 && !b == 0
    B. !(a == 0 && b == 0)
    C. (a != 0) && (b != 0)
    D. a && b
    
    • 1
    • 2
    • 3
    • 4

    12、如果 a 为 int 类型的变量,下列表达式不能正确表达“a 是奇数时结果为0,否则结果非 0”的是( )。

    A. a %= 2
    B. a / 2 * 2 == a
    C. a % 2 == 0
    D. (a + 1) % 2
    
    • 1
    • 2
    • 3
    • 4

    13、在下列代码的横线处填写( ),可以使得输出是“2010”。

    #include 
    
    using namespace std;
    
    int main(){
    	int a = 10, b = 20;
    	________ // 在此处填入代码
    	cout << a << " " << b << endl; 
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    A. a = b; b = a;
    B. a = max(a, b); b = min(a, b);
    C. a = a + b; a = a - b; b = a - b;
    D. int tmp = 
    
    • 1
    • 2
    • 3
    • 4

    14、

    #include 
    
    using namespace std;
    
    int main(){
    	for (int i = 1; i <= 16; ________) // 在此处填入代码
    		cout << 1; 
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    A. i++
    B. i += 3
    C. i *= 2
    D. i = i * 3 - 1
    
    • 1
    • 2
    • 3
    • 4

    15、

    #include 
    
    using namespace std;
    
    int main(){
    	int sum = 1;
    	for (int i = 1; i <= 10; i++)
    		if (3 <= i <= 5)
    			sum += i;
    	cout << sum << endl;
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    A. 56
    B. 13
    C. 12
    D. 60
    
    • 1
    • 2
    • 3
    • 4

    判断题(每题 2 分,共 20 分)

    1、操作系统是让用户可以操纵计算机完成各种功能的软件。( )

    2、要执行 Windows 的桌面上的某个程序,通常需至少连续点击程序图标3 次。( )

    3、注释是对于 C++程序员非常有用,但会被 C++编译器忽略。()

    4、C++语言中的标识符只能由大写字母和小写字母组成。( )

    5、3.0 是一个 int 类型常量。( )

    6、能用 while 语句编写的循环,就可以使用 for 语句编写出具有同样功能的循环。( )

    7、在每个 if 语句中,都必须有 else 子句与 if 配对使用。( )

    8、C++语言中也遵循与“先乘除、后加减”类似的运算符优先级规则。( )

    9、如果 a 为 int 类型的变量,且表达式(a % 4 == 0)的计算结果为真,说明a的值是 4 的倍数。( )

    10、表达式(6.0 / 3.0)的计算结果为 2,且结果类型为int 类型。( )

    编程题 (每题 25 分,共 50 分)

    第一题

    【问题描述】
    小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这一天的第几秒,你能编写一个程序帮帮他吗?
    【输入描述】
    输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、秒;字符有两种取值,大写字母’A’表示上午,大写字母’P’表示下午。
    【输出描述】
    输出一行,包含一个整数,表示输入时刻是当天的第几秒。
    【样例输入 1】
    0 0 0 A
    【样例输出 1】
    0
    【样例输入 2】
    11 59 59 P
    【样例输出 2】
    86399

    第二题

    【问题描述】
    小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(包含起始年份和终止年份)有几个闰年。你能帮帮他吗?
    【输入描述】
    输入一行,包含两个整数,分别表示起始年份和终止年份。约定年份在1到 2022 之间
    【输出描述】
    输出一行,包含一个整数,表示闰年的数量。
    【样例输入 1】
    2018 2022
    【样例输出 1】
    1
    【样例输入 2】
    2000 2004
    【样例输出 2】
    2

    参考答案

    单选题

    题号123456789101112131415
    答案AACCBDADCDBADBA

    判断题

    题号12345678910
    答案××××××

    编程题1

    #include 
    
    using namespace std;
    
    int main(){
    	int s, f, m, res;
    	char time;
    	cin >> s >> f >> m >> time;
    	if (time == 'P')
    		s += 12;
    	cout << s * 3600 + f * 60 + m;
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    编程题2

    #include 
    
    using namespace std;
    
    int main(){
    	int a, b, res = 0;
    	cin >> a >> b;
    	for (int i = a; i <= b; i++){
    		if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0))
    			res++;
    	}
    	cout << res;
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    vue&react质检工具(eslint)安装使用总结
    洛谷 P1148 拱猪计分
    使用Docker搭建Npm私服Verdaccio
    Spring Boot之AJAX异步发送帖子
    tekton+argocd 部署golang项目
    flask 返回 json注意事项
    遍历树形结构记录
    LeetCode //C - 149. Max Points on a Line
    使用MFC创建一个SaleSystem
    JS 字符串
  • 原文地址:https://blog.csdn.net/QD_Jason/article/details/134407099