news 2026/4/20 13:54:18

CCF编程能力等级认证GESP—C++3级—20251227

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CCF编程能力等级认证GESP—C++3级—20251227

CCF编程能力等级认证GESP—C++3级真题

  • 单选题(每题 2 分,共 30 分)
  • 判断题(每题 2 分,共 20 分)
  • 编程题 (每题 25 分,共 50 分)
    • 密码强度
    • 小杨的智慧购物

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

1、请将二进制数(1101.101)2,转换为等值的10进制数( )

A.14.25B.13.625C.13.5D.14.5

正确答案:B

2、以下关于标准 C++ 一维数组的描述,哪一项是错误的?( )

A.数组的下标从0开始 B.数组在内存中是连续存放的 C.数组的长度只能在运行时才能确定 D.可以在程序中修改数组某个元素的值

正确答案:C

3、下列代码段执行后,变量 sum 的值是( )

{intsum=0;for(inti=1;i<=10;i++){if(i%3==8>>2)continue;sum+=i;}}
A.12B.17C.33D.40

正确答案:D

4、执行以下程序段,输出值是( )

intx=5;if(x==3>>2)x=8>>3;cout<<x<<endl;
A.0B.5C.120D.1

正确答案:B

5、已知字符串 s = “C++ Programming” ,下列程序运行的结果是( )

cout<<(int)(s.length()|3)<<endl;
A.14B.15C.16D.17

正确答案:B

6、 以下代码是一个程序的部分代码,能够正确执行,输出的结果是( )

intarr[5]={1,2,3,4,5};intp=arr[1];cout<<(p+2)<<endl;
A.1B.2C.3D.4

正确答案:D

7、以下关于 C++ 求最小值函数 min() 的描述,不正确的是( )

A.函数必须返回一个值 B.该函数可以嵌套调用 C.调用min(5)是错误的,不能通过编译 D.调用min()(不传任何参数)可以通过编译,结果为0

正确答案:D

8、在一个特定的计算机系统中,假如 unsigned int 类型需要占用2个字节的存储空间(每个字节有8位),则 unsigned int 可以表示的数据范围是( )

A.0~65535B.0~65536C.-65536~65535D.0~32767

正确答案:A

9、以下代码执行后,数组 arr 的内容是( )

intarr[6]={1,2,3,4,5,6};for(inti=0;i<6;i+=2){arr[i]=arr[i]+arr[i+1];arr[i+1]=arr[i]-arr[i+1];arr[i]=arr[i]-arr[i+1];}
A.{2,1,4,3,6,5}B.{1,2,3,4,5,6}C.{3,1,4,2,5,3}D.{1,3,2,5,4,6}

正确答案:A

10、a & b | (c ^ d) ,其中 a = 3, b = 7, c = 15, d = 4 ,计算结果是( )

A.十进制11B.二进制11C.八进制11D.十六进制11

正确答案:A

11、整型变量 x 的初始值为 10 ,以下代码的输出结果是( )

intt=x--;t-=x;cout<<t<<endl;
A.0B.-1C.1D.死循环

正确答案:C

12、根据下面的流程图,如果成绩 score 输入 60 ,输出的结果是( )

A.优秀 B.及格 C.不及格 D.没有输出

正确答案:B

13、以下代码运行后, sum 的结果是( )

intarr[5]={2,4,6,8,10};intsum=0;for(inti=0;i<5;i++){switch(arr[i]%(1|2)){case0:sum+=1;break;case1:sum+=2;break;case2:sum+=3;break;}}
A.10B.11C.14D.15

正确答案:B

14、以下关于 C++ 中 abs() 函数的描述,正确的是( )

A.abs()函数可用于计算int类型整数的绝对值,头文件为<cmath><cstdlib>B.调用abs(3.14)可以四舍五入得到3C.abs(-1,-2)的返回值是1D.若传入负数浮点数,abs()会自动截断小数部分后返回整数绝对值

正确答案:A

15、如果字符串 s 的值是 GESP ,以下代码 s 的最后结果是( )

for(inti=0;i<s.length();i++){s[i]=toupper(s[i]+i);}
A.GESP B.HFTR C.hesp D.GFUS

正确答案:D

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

1、在 C++ 中,数组名不能改变,数组名不能被赋值。

正确答案:正确

2、整型变量 a 的值为 3 ,浮点数变量 b 的值为 3.5 ,在 C++ 编译环境下,经过 a *= b 计算后, a 的值变为 10.5 ,此时如果输出 a ,将输出 10.5 。

正确答案:错误

3、strcmp(str1, str2) 返回 0 表示 str1 大于 str2 ,返回正数表示两者相等。

正确答案:错误

4、以下代码输出结果为 8 。

inta=5,b=3;intc=a+++++b;cout<<c<<endl;

正确答案:错误

5、位运算符 & 、 | 、 ^ 、 ~ 的优先级高于算术运算符 + 、 - 、 * 、 / 。

正确答案:错误

__6、在 C++ 中, int a[] = {1, 2, 3, 4, 5}; 可以定义一个包含 5 个元素的整型数组。
__

正确答案:正确

7、C++ 表达式 z = a > b ? x : y 等同于:

if(a>b){z=x;}else{z=y;}

以下代码执行后,输出将会是 2 。

intmain(){intarr[5]={1,2,3,4,5};cout<<arr[3>2?1:2]<<endl;return0;}

正确答案:正确

8、在 C++ 中, ++ 和 – 运算符只能用于整型变量,不能用于浮点数变量。

正确答案:错误

9、给定一个正整数 a ,当需要计算 -a 的补码时,有这样一个计算技巧:将 a 的二进制形式从右往左扫描,遇到第一个 1 之后,将找到的第一个 1 左边的所有位都取反,能得到 -a 的补码。

正确答案:正确

10、 以下代码中, Hello 将被输出5次。

for(inti=0;i<5;i++);{cout<<"Hello"<<endl;}

正确答案:错误

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

密码强度

题目描述

小杨是学校网络安全小组的成员,今天他的任务是设计一个“密码强度检测器”,帮助同学们检查自己的密码是否足够安全。一个安全的密码需要满足以下条件:

  • 密码至少包含8 88个字符(太短的密码容易被猜出来哦!)。
  • 密码至少包含一个大写字母(A、B、C、…、Z 都可以)。
  • 密码至少包含一个数字(0、1、2、3、…、9 都可以)。

例如:

  • 密码PAs1s2an是安全密码(有8 88位、包含大写字母PA和数字12)。
  • 密码ab1da3cd不是安全密码(没有大写字母)。
  • 密码Paabdbcd不是安全密码(没有数字)。
  • 密码Pa2不是安全密码(只有3 33位,太短了)。

输入格式

第一行一个正整数T TT,代表需要安全检测的密码组数。

对于每组密码,一行包含一个字符串,代表需要安全检测的密码。

输出格式

对于每组密码,输出一行,如果满足强度要求输出 Y,否则输出 N。

输入输出样例 #1

输入 #1

6 PAs1s2an 1a2bCql3 Pa12bsna ab1da3cd Paabdbcd Pa2

输出 #1

Y Y Y N N N

说明/提示

样例解释

  • 密码PAs1s2an是安全密码(有8 88位、包含大写字母PA和数字12)。
  • 密码1a2bCq13是安全密码(有8 88位、包含大写字母C和数字123)。
  • 密码Pa12bsna是安全密码(有8 88位、包含大写字母P和数字12)。
  • 密码ab1da5cd不是安全密码(没有大写字母)。
  • 密码Paabdbcd不是安全密码(没有数字)。
  • 密码Pa2不是安全密码(只有3 33位,太短了)。

数据范围

对于所有测试点,保证1 ≤ T ≤ 100 1 \leq T \leq 1001T100,并且每组密码长度不超过100 100100且至少为1 11,每组密码仅由大小写字母和数字组成。

小杨的智慧购物

题目描述

小杨的班级要举办一个环保手工作品展览,老师请小杨去文具店购买M MM种不同的文具(例如:铅笔、橡皮、尺子等)。

商店里共有N NN件文具,每件文具都有一个种类编号(从1 11M MM)和价格。

小杨的预算有限,他想了一个聪明的办法:对于每种文具,他只买最便宜的那一件(如果同种文具有多件价格相同且都是最便宜的,他只会购买其中的一件)。请你帮小杨计算出,买齐这M MM种文具一共需要花费多少钱。

输入格式

第一行两个正整数M , N M, NM,N,代表文具的种类数和总数。

之后N NN行,每行两个正整数K i K_iKiP i P_iPi,分别代表第i ii件文具的种类编号和它的价格。数据保证每个种类至少有一件文具可供购买。

输出格式

输出一行,代表购买文具的总价。

输入输出样例 #1

输入 #1

2 5 1 1 1 2 1 1 2 3 2 10

输出 #1

4

说明/提示

样例解释

文具清单如下:

  • 文具 1:种类 1,价格1 11
  • 文具 2:种类 1,价格2 22
  • 文具 3:种类 1,价格1 11
  • 文具 4:种类 2,价格3 33
  • 文具 5:种类 2,价格10 1010

小杨的选择过程:对于种类 1:有三件商品,价格分别为1 , 2 , 1 1, 2, 11,2,1。其中最便宜的价格是1 11。对于种类 2:有两件商品,价格分别为3 , 10 3, 103,10。其中最便宜的价格是3 33

计算总价:小杨购买这两类文具的总花费为1 + 3 = 4 1 + 3 = 41+3=4

数据范围

对于所有测试点,保证1 ≤ M ≤ N ≤ 10 5 1 \leq M \leq N \leq 10^51MN1051 ≤ K i ≤ M 1 \leq K_i \leq M1KiM1 ≤ P i ≤ 10 3 1 \leq P_i \leq 10^31Pi103

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 23:54:39

【C/C++】MPSC无锁队列

MPSC Queue&#xff1a;多生产者单消费者无锁队列 SPSC无锁队列&#xff0c;参考https://blog.csdn.net/qq_46105170/article/details/157458924。 概述 MPSC&#xff08;Multi-Producer Single-Consumer&#xff09;队列是一种允许多个生产者线程同时写入、但只有一个消费者…

作者头像 李华
网站建设 2026/4/17 20:25:51

本地部署FastGPT使用在线大语言模型

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统&#xff0c;提供开箱即用的数据处理、模型调用等能力&#xff0c;它背后依赖OneApi开源项目来访问各种大语言模型提供的能力。各大语言模型提供的访问接口规范不尽相同&#xff0c;为此OneApi项目提供了统一的API接口去对接…

作者头像 李华