当前位置:   article > 正文

CCF编程能力等级认证GESP—C++1级—样题1_c++ccf一级真题

c++ccf一级真题

单选题(每题 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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/348580
推荐阅读
相关标签
  

闽ICP备14008679号