CCF-GESP 等级考试 2023年12月认证C++一级真题解析

2023年12月真题

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

在这里插入图片描述
正确答案:A
考察知识点:变量的定义与使用
解析:变量的命名规则:1、只能包含字母、数字、下划线;2、不能以数字开头;3、不能和关键字重名。A 选项中含有空格,因此选 A。

在这里插入图片描述
正确答案:B
考察知识点:基本运算
解析:表达式和运算符优先级。先算括号内:2+1 = 3,再算乘、除、取余:3*3%10 = 9,最后算加减10-1 = 1。答案为B。

在这里插入图片描述
正确答案:B
考察知识点:变量的定义与使用,输入输出语句、基本数据类型、基本运算
解析:10+N,一天24小时,除以24得天数,对24取余得点数。答案为B

在这里插入图片描述
在这里插入图片描述
正确答案:A
考察知识点:变量的定义与使用、输入输出语句、基本运算
解析:奇偶数判断,某个数对2取余结果为0,则该数为偶数。答案为 A。

在这里插入图片描述
正确答案:B
考察知识点:控制语句结构-循环
解析:cnt用来统计循环次数。循环从1开始,到N-1结束,循环步长为1,循环次数为N-1。答案为B。

在这里插入图片描述
正确答案:C
考察知识点:控制语句结构-循环
解析:cnt用来统计循环次数。循环从1开始,到9结束,循环步长为1,但循环内第4行,循环变量自增2,相等于每次循环,循环变量增加3,也即循环步长为3,循环次数为3。答案为C。

在这里插入图片描述
在这里插入图片描述
正确答案:A
考察知识点:控制语句结构-循环、分支,基本运算、基本数据类型
解析:第3行,if内的条件为 i%2,这里 i%2 不为 0 条件为真,也就是奇数跳过本次循环,第5行条件:i 是3的倍数且是5的倍数,结束循环。综上,当 i 的值为2、4、6、8、10、12、14、16、18执行第7行,累加起来,结果为90,答案为A。

在这里插入图片描述
正确答案:C
考察知识点:控制语句结构-循环、分支,基本运算
解析:cnt用来统计循环次数。第3行循环条件为1,死循环。每次循环 N 自减2,当 N 为0时,结束循环。N初值为10,循环次数为5,答案为C。

在这里插入图片描述
正确答案:D
考察知识点:控制语句结构-循环、分支,基本运算、质数判断
解析:质数:因子只有1和其本身。第3、4、5行用来统计N的因子个数。答案为D。

在这里插入图片描述
在这里插入图片描述
正确答案:D
考察知识点:计算机编程环境
解析:头文件错误,编译不会通过。答案选D。

在这里插入图片描述
正确答案:B
考察知识点:控制语句结构-循环
解析:循环从10开始,到4结束,循环步长为-3,i 的值:10、7、4,累加起来,结果为21。答案为B。

在这里插入图片描述
正确答案:D
考察知识点:变量的定义与使用、基本数据类型-字符型
解析:A、B、C都符合语法,将整数66强制转化成字符类型,也就是转化成ASCII编码为66的字符。D不符合语法。

在这里插入图片描述
正确答案:B
考察知识点:控制语句结构-循环、分支
解析:本题考察 while 循环结构以及 switch 分支结构。switch 分支结构从上往下依次匹配,匹配上开始执行,执行到break为止。输入’C’,在第8行匹配上了,在第9行遇到break,输出3、5。答案为B。

在这里插入图片描述
正确答案:C
考察知识点:计算机基础
解析:声控智能驾驶系统,需要声音的输入设备和输出设备,A、B必须,需要设备感知周围环境自动选择优化路线,D必须。只有油量表不是必须的,本题答案C。

在这里插入图片描述
正确答案:B
考察知识点:计算机历史
解析:现代计算机基于 冯.诺伊曼 体系结构:运算器、控制器、存储器、输入设备、输出设备。

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

在这里插入图片描述
正确答案:正确
考察知识点:表达式、基本数据类型、数据类型转换
解析:C++语言强制类型转换,将浮点型转换为整形,用int()格式。将浮点数 3.14 转换成 int 类型的值,表达式的值为3。答案正确。

在这里插入图片描述
正确答案:错误
考察知识点:基本运算、表达式、输出语句
解析:点运算符: , , , 组成的表达式,结果为最后一个式子的结果,因此本题语句输出结果为5。答案错误。

在这里插入图片描述
正确答案:错误
考察知识点:控制语句结构-循环
解析:循环条件:i<10,不包括10,因此 i 的值为1、4、7。答案错误。

在这里插入图片描述
正确答案:错误
考察知识点:基本数据类型,基本运算
解析:C++默认整数常量为int类型,但一个数以以0b/0B开头为2进制、0开头为8进制,0x/0X开头为十六进制。本题中010、001为八进制,而111是表达式按照十进制计算的结果,不可能正确。答案错误。

在这里插入图片描述
正确答案:正确
考察知识点:控制语句结构-分支
解析:if语句中的条件表达式为布尔类型,但任何数据都有真假性,int类型也不例外,因此if语句中的条件表达式的结果可以是任何数据类型。答案正确。

在这里插入图片描述
正确答案:正确
考察知识点:控制语句结构-循环
解析:循环条件:1,表示永真,循环语句continue无条件被执行。循环永远进行下去。答案正确。

在这里插入图片描述
正确答案:错误
考察知识点:基本数据类型、基本运算
解析:本题考察:基本运算—条件运算符。 表达式1? 表达式2 : 表达式3。表达式1为真,结果为表达式2的结果,否则为表达式3的结果。两个字符类型进行运算,实际上是对应的ASCII编码参与运算,运算的结果为整数,因此 ‘1’+‘1’ 的结果为98,而’2’的ASCII编码值为’0’的ASCII编码加2,值为50。表达式1为假。条件运算符组成的表达式的结果为flag=2,此为赋值运算符,结果值为2。表达式 (flag==2)的结果为真或者假,值为1或者0。因此本题错误。

在这里插入图片描述
正确答案:错误
考察知识点:变量的定义与使用
解析:根据变量名的命名规则,scanf是可以作为合法的变量名的。因此该表述错误。
但需要注意的是,scanf是c语言风格的输入函数,如果程序中添加了头文件<stdio.h>,则不可再用scanf定义新的变量名,会产生冲突。

在这里插入图片描述
正确答案:错误
考察知识点:计算机基础、计算机编程环境
解析:Dev C++(通常简称为 DevC)是一个集成开发环境(IDE)软件,是专门用于开发 C 和 C++ 程序的工具,为程序员提供了代码编辑、编译、调试和运行等功能的集成开发环境。操作系统(Operating System,OS)是管理计算机硬件与软件资源的计算机程序。Dev C++不属于操作系统软件。答案错误。

在这里插入图片描述
正确答案:正确
考察知识点:控制语句结构-循环
解析:本题考察 while 循环和 for 循环,他们之间可以进行等价转化。

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本题考察变量的定义与使用、选择结构、基本运算、输入输出语句。

#include<bits/stdc++.h>
using namespace std;
int main() {
    
    
	int x, n;
	cin>>x>>n; //输入星期x和还有n天参加考试 
	x += n; 
	x %= 7; //求出余数,余数为0,表示周日 
	if(x==0) cout<<7;
	else cout<<x;
	return 0;
}

在这里插入图片描述
在这里插入图片描述

本题考察 变量的定义与使用、控制语句结构-循环、算术运算、输入输出语句等。

#include<bits/stdc++.h>
using namespace std;
int main() {
    
    
	int n, m;
	cin>>n>>m;
	for(int i=1; i<=n; i++){
    
    
		if(i%m==0) continue; //跳过m的倍数 
		cout<<i<<endl; 
	} 
	return 0;
}