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

news/2024/12/22 14:30:13 标签: c++, GESP, 青少年编程, 编程等级考试, CSP-J/S

2023年3月真题

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

在这里插入图片描述
正确答案:D
解析:考察知识点:计算机的存储
光盘是光存储介质,是通过激光高温改变光盘涂覆层的形状来记录数据的,不会因为磁场而改变记录特性。硬盘是磁介质的数据存储设备,会直接受到磁场干扰。强磁场会在 U 盘和内存的电路中产生感应电流,可能会破坏存储器,导致数据受损。所以此题正确答案为 D。

在这里插入图片描述
在这里插入图片描述
正确答案:C
解析:考察知识点:流程控制结构,流程图
流程图根据是否按下空格键设置了两个分支,符合分支结构的特征,所以本题正确答案为 C。

在这里插入图片描述
正确答案:A
解析:考察知识点:计算机的存储
在当前 C++标准下,double 类型通常占用 8 个字节,bool 类型占用1个字节,int 类型通常占用 4 个字节,char 类型占用 1 字节。int 类型的取值范围为 − 2 31 ~ 2 31 − 1 − 2^{31}~2^{31} − 1 2312311,char 类型的范围是-128~127,所以本题正确答案为A。

在这里插入图片描述
正确答案:D
解析:考察知识点:变量的定义与使用
变量定义时,必须指定类型,且变量名必须为合法标识符(只能由字母,数字,下划线组成,且不能以数字开头),所以本题正确答案为D。

在这里插入图片描述
正确答案:B
解析:考察知识点:程序设计语言的特点
本题属于考察 C++语言的关键字,max 是 C++中的一个库函数,不属于关键字,所以本题正确答案为 B。

在这里插入图片描述
正确答案:A
解析:考察知识点:算术运算符
B 选项 a /= b,等价于 a = a / b;
C 选项 a -= b,等价于a = a - b;
D 选项“!=”是不等于。
A 选项“=”并不是 C++语言的运算符,所以本题正确答案为A。

在这里插入图片描述
正确答案:C
解析:考察知识点:基本数据类型
A 选项,赋值号右侧表达式对 a 的 ASCII 码数值加 1,结果为int 类型,赋值给b时转换为 char 类型,也即比 a 的 ASCII 码值大 1 的对应字符。符合C++语法。
B 选项,'1’为 char 类型常量,赋值号右侧表达式对 a 的ASCII 码数值加’1’的ASCII
码数值,结果为 char 类型,赋值给 b。符合 C++语法。
C 选项,'a’为 char 类型常量,常量不能进行++自增运算,不符合C++语法。
D 选项,a 为 char 类型常量,可以进行++自增运算。该语句将a 变为ASCII 码值增加 1 的对应字符,并将变化前的 a 值赋值给 b。符合C++语法。所以本题正确答案为 C。

在这里插入图片描述
正确答案:C
解析:考察知识点:算术运算符
A 选项中所有参与计算的数都是整型,最终的计算结果也是整型,会默认向下取整,导致平均值不准确。B 选项计算的是 a、b、c、d 四个整数的和除以 4 的余数。
C 选项为 a、b、c、d 四个整数的和除以 4.0 的结果,计算过程中会将 4.0 视为浮点数,整型与浮点型的计算结果默认为浮点型。
D 选项“%”不能与浮点数参与运算,用法错误。所以本题正确答案为 C。

在这里插入图片描述
正确答案:B
解析:考察知识点:基本数据类型,算术运算符
B 选项中并未对 a + 1 的结果进行任何处理,变量a 在计算过程中未发生改变,所以本题正确答案为 B。

在这里插入图片描述
正确答案:B
解析:考察知识点:算术运算符
a -= 3;等价于 a = a - 3; 表示把 a - 3 的计算结果重新赋值给a 变量,所以本题正确答案为 B。

在这里插入图片描述
正确答案:A
解析:考察知识点:逻辑运算符
A 选项中“!a”表示 a 等于 0,同理“!b”表示b 等于0,整个表示式表示 a 等于 0 或 b 等于 0。
B 选项会先判断 a 变量和 b 变量是否相等(若a 和b相等,表达式的值为 1,若 a 和 b 不相等,表达式的值为 0),然后再判断表达式(a==b)的值是否为 0。
C 选项表示 a 等于 0 且 b 等于 0。
D 选项表示表达式(a==0)减表达式(b==0)的计算结果是否为 0,表示 a 和 b 同时为 0 或a 和b 同时都不为0。所以本题正确答案为 A。

在这里插入图片描述
正确答案:D
解析:考察知识点:逻辑运算符
A 选项,a <= a 总是成立,因此表达式等价于1 <= z。
B 选项等价于a<=‘z’。
C 选项无论’a’ <= a 是否成立,表达式的值 0 或 1 都小于’z’。
D 选项表示a大于等于’a’,并且 a 小于等于’z’,说明 a 变量的 ASCII 码在字符’a’和字符’z’对应的ASCII 码之间,即 a 变量为小写字母。所以本题正确答案为D。

在这里插入图片描述
正确答案:C
解析:考察知识点:基本运算
本题考察通过算术运算交换两个变量数值,可将选项带入进行计算,本题正确答案为 C。

在这里插入图片描述

正确答案:D
解析:考察知识点:控制语句结构、字符型、基本运算
可以将选项带入排除 A,B,C 选项,需要注意B 选项中5 没有单引号,所以表示的不是字符’5’,D 选项中 ch 虽然是字符类型,但计算时会使用对应的ASCII 码%2,字符’1’到字符’9’之间,所有 ASCII 码中有5 个是奇数,所以本题正确答案为 D。

在这里插入图片描述
在这里插入图片描述
正确答案:C
解析:考察知识点:控制语句结构、布尔类型、基本运算
题目中 i 的循环范围是 2~n,即分别使用 n 对2~n 之间的所有数进行求余运算,由于 n 能够被自身整除,所以循环结束后 isprime 的值一定为false,但是 bool 类型在输出时不会输出 true 或 false,输出时只会输出1 或0,所以本题正确答案为 C。

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

在这里插入图片描述
正确答案:错误
解析:考察知识点:计算机的存储
本题属于考察数据单位的换算,1GB=1024MB,4GB 和4096MB 容量一样大。所以本题错误。

在这里插入图片描述
正确答案:错误
解析:考察知识点:计算机网络
IP 地址是一个 32 位的二进制数,通常被分隔为4 个8 位二进制数,常用“点分十进制”的表示形式,形如(a.b.c.d),其中 a、b、c、d 都是0~255 之间的十进制整数。所以本题错误。

在这里插入图片描述
正确答案:正确
解析:考察知识点:程序设计语言的特点
本题考察 C++程序的基本结构,一个程序只能有一个main 函数。所以本题正确。

在这里插入图片描述
正确答案:错误
解析:考察知识点:变量的定义与使用
本题考察变量的概念及定义规则。变量定义时,必须指定类型,且变量名必须为合法标识符(只能由字母,数字,下划线组成,且不能以数字开头)。所以本题错误。

在这里插入图片描述
正确答案:错误
解析:考察知识点:基本数据类型
本题属于考察对不同数据类型的区分,加上单引号后’a’表示字符常量,与变量 a 无关,且与字符常量’1’不同。所以本题错误。

在这里插入图片描述
正确答案:错误
解析:考察知识点:控制语句结构-多层分支
本题考察 if 语句的用法,if 语句可以嵌套 if…else。如果嵌套后与预期语义不符,可以使用复合语句{…}加以区别。所以本题错误。

在这里插入图片描述
正确答案:错误
解析:考察知识点:控制语句结构-循环结构
本题考察 while 语句的用法,while()语句是否会执行循环体,取决于小括号中的条件是否成立,若最开始条件不成立,则一次都不会执行循环体。所以本题错误。

在这里插入图片描述
正确答案:正确
解析:考察知识点:基本运算-比较运算符
本题考察运算符,>=是表示“大于等于”的关系运算符,=>不是C++中的运算符。所以本题正确。

在这里插入图片描述
正确答案:正确
解析:考察知识点:字符型
本题考察字符类型中大小写字母转换的方法,小写字母减去’a’会得到025,加上’A’后刚好就是对应从’A’’Z’。所以本题正确。

在这里插入图片描述
正确答案:正确
解析:考察知识点:浮点型
本题属于考察浮点数类型的计算,浮点数与整数的计算结果类型为浮点型。所以本题正确。

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

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

循环嵌套输出图形

#include<bits/stdc++.h>
using namespace std;
int main() {
	int n;
	cin>>n;
	char ch='A';
	for(int i=0; i<n; i++){ //控制三角形的行数 
		for(int j=0; j<=i; j++){ //控制三角形的列数
			cout<<ch;
			ch++;
			//每次使用大写字母Z填充后,将从头使用大写字母A填充。
			if(ch>'Z') ch='A';
		}
		cout<<endl;
	}
	return 0;
}

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

循环嵌套解决简单枚举问题

#include<bits/stdc++.h>
using namespace std;
int main() {
	int x, y, z, n, m, cnt=0;
	cin>>x>>y>>z>>n>>m;
	for(int i=0; i<=n/x; i++){ //i表示公鸡的只数
		for(int j=0; j<=n/y; j++){ //j表示母鸡的只数
			int k=m-i-j; //k表示小鸡的只数 
			//满足n元买m只 
			if(k>=0 && z*i*x+z*j*y+k==z*n) cnt++;
		}
	}
	cout<<cnt;
	return 0;
}

http://www.niftyadmin.cn/n/5795448.html

相关文章

centos7下制作DockerFile 镜像

文章目录 介绍DockerFile 常用命令示例1.创建Dockerfile文件2.构建Dockerfile镜像3.验证结果 小结 介绍 Dockerfile 是一个文本文件&#xff0c;包含了用于构建 Docker 镜像的所有命令和指令。它定义了镜像的构建过程&#xff0c;包括基础镜像、安装软件、设置环境变量、复制文…

Java web的发展历史

目录 前言&#xff1a; 一.Model I和Model II 1.Model I开发模式 ​编辑 2.Model II开发模式 二. MVC模式 前言&#xff1a; 该篇文章主要介绍了Java web的发展历史&#xff0c;以及MVC相关内容 一.Model I和Model II 1.Model I开发模式 Model1的开发模式是&#xff…

【JavaEE初阶】线程安全问题

本节⽬标 掌握什么是线程不安全及解决思路掌握 synchronized、volatile 关键字 一、多线程带来的的⻛险-线程安全 (重点) 1 观察线程不安全 package Thread.ThreadUnsecurity;public class Unsecurity {public static int count0;public static void main(String[] args) t…

Linux中部署项目

1.下载JDK17 进入 /usr/local 目录&#xff0c;创建 java 文件夹。并将 JDK17 上传到 java 目录下。 上传成功后&#xff0c;通过cd命令进入Java文件夹目录&#xff0c;解压 JDK17 压缩包&#xff0c;命令 unzip zulu17.44.53-ca-jdk17.0.8.1-linux_x64.zip。 如果报错说 u…

详解 Qt WebEngine 模块

Qt WebEngine 模块是 Qt 提供的一个功能强大的模块&#xff0c;用于在 Qt 应用中嵌入和显示现代网页内容。该模块基于 Chromium 引擎&#xff0c;支持丰富的 Web 技术&#xff08;如 HTML5、CSS3、JavaScript 等&#xff09;&#xff0c;适合需要嵌入网页浏览、Web 应用、JavaS…

在 .NET 5.0 运行 .NET 8.0 教程:使用 ASP.NET Core 创建 Web API

前言 因为我本机安装的是vs2019&#xff0c;所以我在使用vs创建项目的时候&#xff0c;只能选择.NET 5.0&#xff0c;而无法选择.NET 8.0 在网上有看到说用vs2019使用.net 8.0 &#xff0c;但是感觉不可靠&#xff0c;要用还是安装vs2022吧。 我因为不想要安装vs2022。 但是微…

【原生js案例】让你的移动页面实现自定义的上拉加载和下拉刷新

目前很多前端UI都是自带有上拉加载和下拉刷新功能,按照官网配置去实现即可,比如原生小程序,vantUI等UI框架,都替我们实现了内部功能。 那如何自己来实现一个上拉加载和下拉刷新的功能? 实现效果 不用浏览器的css滚动条,自定义实现滚动效果 自定义实现滚动,添加上拉加载…

对 MYSQL 架构的了解

MySQL 是一种广泛使用的关系型数据库管理系统&#xff0c;其架构主要包括以下几个关键部分&#xff1a; 一、连接层 客户端连接管理&#xff1a;MySQL 服务器可以同时处理多个客户端的连接请求。当客户端应用程序&#xff08;如使用 Java、Python 等语言编写的程序&#xff09;…