当前位置: 首页 > news >正文

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

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

  • 单选题(每题 2 分,共 30 分)
  • 判断题(每题 2 分,共 20 分)
  • 编程题 (每题 25 分,共 50 分)
    • 数字替换
    • 打印数字

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

1、下列二进制表示的十进制数值分别是( )

[10000011]=( )
[10000011]=( )
A. -125-3 
B. -3, -125 
C. -3-3
D. -125-125

正确答案:B

2、关于计算机中的编码,下列说法中错误的是()

A. 对于无符号数,原码就是真值
B. 正数的反码是其本身
C. 负数的反码和补码是不一样的
D. 负数的反码,在其原码的基础上, 各个位取反

正确答案:D

3、16进制数B2025转换成8进制数是()


A. 2620045 
B. 2004526 
C. 729125 
D. 2420045

正确答案:A

4、625.625变成二进制是( )。

A. 1001110001.101
B. 101.101
C. 101.1001110001
D. 1001110001.1101

正确答案:A

5、下面逻辑运算中,正确的是( )

A. 5&&3==0
B. 5|3==8
C. 5||3==11 
D. 5&3==0001

正确答案:D

6、补码1111 1101进行运算1111 1101>>1以后得到的结果是()

A. 1111 1100
B. -2
C. 1111 1101
D. 1111 1010

正确答案:B

7、下列代码输出的是

string s="1234@@chenadai";
string str="12345";
s.replace(1,5,str); 
cout<<s<<endl;
A. 12345
B. 2345@
C. 112345chenadai 
D. 12345chenadai

正确答案:C

8、a|10(a与10都是10进制,且二进制表示最高位为1)运算的结果是( )。

A. 使a的二进制表示从右往左的第二位为1
B. 使a的二进制表示从右往左的第一位为0
C. 使a的二进制表示从右往左第二位为0
D. 使a的二进制表示最高位为0

正确答案:A

9、下列程序输出的是( )

string ch="hello";
if(ch[5]==NULL){cout<<"right"<<endl; 
}else if (ch[5]=='\0'){cout<<"wrong"<<endl; 
}else{cout<<"hello"<<endl;
}
A. right
B. wrong
C. hello
D. 不能正确执行

正确答案:A

10、下列程序中,假设一个字符占用的内存空间是1,下列程序中,ch占用的内存空间是 ( )

char ch[] = "hello world";
size_t ret=strlen(ch);
cout<<ret<<endl;
A. 11 
B. 10 
C. 13 
D. 12

正确答案:D

11、下列程序最后输出的是()

int a=65;
cout<<tolower(a)<<endl;
A. 65 
B. A 
C. a 
D. 97

正确答案:D

12、想要计算从数字n到数字m之间(包含n和m)有多少个数字d出现,下列程序哪个能够实现( )。

A.
int n,m,res,d;
cin >> n >> m>>d;
for(int i = n+1; i <= m; i++){int temp = i;while (temp){if (temp % 10 == d) res++;temp /= 10;}
}
cout << res << endl;
return 0;
B.
int n,m,res,d;
cin >> n >> m>>d; 
for(int i=n;i<=m;i++){int temp = i;while(temp){if(temp % 10 = d) res++;temp /= 10;}
}
cout << res << endl;
return 0;
C.
int n,m,res=0,d;
cin >> n >> m>>d; 
for(int i=n;i<=m;i++){int temp = i;while(temp){if(temp % 10 == d) res++;temp /= 10;}
}
cout << res << endl;
return 0;
D.
int n,m,res=0,d;
cin >> n >> m>>d; 
for(int =n;i<=m;i++){while(temp){if(temp % 10 == d) res++;temp /= 10;}
}
cout << res << endl;
return 0;

正确答案:C

13、兔子五元一只,鸡三元一只,小鸭子一元三只,现在你有一百元要买一百只,兔子、鸡、鸭子,问兔子、 鸡、鸭子各买多少只,每种必须至少一只,下列哪个程序能实现。( )。

A.
for(int i = 0; i <= 100; i++){for(int j = 0; j <= 100; j++){for(int k = 0; k <= 100; k++){if(i + j + k == 100 && 25 * i + 10 * j + k == 300)cout << i << " " << j << " " << k << endl;}}
}
B.
for(int i = 0; i <= 100; i++){for(int j = 0; j <= 100; j++){for(int k = 0; k <= 100; k++){if(i + j + k == 100 && 20 * i + 10 * j + k == 300)cout << i << " " << j << " " << k << endl;}}
}
C.
for(int i=0;i<=20;i++){ for(int j = 0; j <= 34; j++){for(int k = 0; k <= 20; k++){if(i + j + k == 100 && 15 * i + 9 * j + k == 300)cout << i << " " << j << " " << k << endl;}}
}
D.
for(int i = 0; i <= 100; i++){for(int j = 0; j <= 100; j++){for(int k = 0; k <= 100; k++){if(i + j + k == 100 && 15 * i + 9 * j + k == 300)cout << i << " " << j << " " << k << endl;}}
}

正确答案:D

14、求小于等于N的素数的方法中,有一种方法是将所有从2到它本身减1的数都除一遍,如果不能整除,就是素 数。下列哪个程序,体现了这种方法()

A.
if(N >= 3){cout<<2<<endl;for(int i = 2;i <= N;i ++){for(int j = 2;j < i;j ++){if(i % j != 0){flag = 1;}}if(flag == 0){cout<<i<<endl;}flag = 0;}
}
B.
if(N >= 2){for(int i = 3;i <= N;i ++){for(int j = 2;j < i;j ++){if(i % j == 0){flag = 1;}}if(flag == 0){cout<<i<<endl;}flag = 0;}
}
C.
if(N >= 2){cout<<2<<endl;for(int i = 3;i <= N;i ++){for(int j = 2;j < i;j ++){if(i % j == 0){flag = 1;}}if(flag == 0){cout<<i<<endl;}flag = 0;}
}
D.
if (N >= 2){cout << 2 << endl;for(int i = 3;i <= N;i ++){for(int j = 2;j < i;j ++){if(i % j == 0){flag = 1;}}if (flag == 0){cout << i << endl;}}
}

正确答案:C

15、工人工作一天,会得到一个金环作为工资报酬,某个工作需要15天完成,一条15个环的金环项链,为了严格执行每天工作结束时,完成对工人工资的结算,最少需要将金环项链剪裁成几段,每段几个金环( )

A. 4段,分别是1248
B. 15段,每段1个
C. 6段,分别是333321
D. 9段,分别是222222111

正确答案:A

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

1、为了简化计算机基本运算电路,使加减法都只需要通过加法电路实现,也就是让减去一个正数或加上一个负 数这样的运算可以用加上一个正数来代替。于是改变负数存储的形式,存储成一种可以直接当成正数来相加的形 式,这种形式就是补码。

正确答案:正确

2、使用原码进行的计算, 2+(-1) 的结果是 -3

正确答案:正确

3、反码计算加减法:加法与减法结果都是正确的,只是解决不了 -0 的问题

正确答案:正确

4、10 进制数 63,在转换成二进制的计算过程中,产生了如下的式子:

63/2=311
31/2=151
15/2=71
7/2=31
3/2=11
1/2=01
按照从前往后的顺序,获得 63 的二进制值是 111111

正确答案:错误

5、下列程序输出的是 A

char x=65;
x=x&00001111; 
cout<<x<<endl;

正确答案:正确

6、下列可执行程序段中,最后 pos 的值是 4

string str="chenADai";
int pos = str.find('D');
--pos&11;

正确答案:正确

7、该段程序将不能正确执行

string ch="chen";
cout<<ch[4]<<endl;

正确答案:错误

8、将输出 97

char a='A';
a=a+32;
cout<<(int)a<<endl;

正确答案:正确

9、自然界中,最小的素数是 2

正确答案:正确

10、CCF(十六进制) = 12363(七进制)

正确答案:正确

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

数字替换

【问题描述】
小杨有一个包含n个数字的序列A,即 A = { a 1 , a 2 , . . . , a n } A = \{a_1, a_2, ..., a_n\} A={a1,a2,...,an},他想将其中大于k的数字都替换为序列的最大值,将其中小于k的数字都替换为序列的最小值,请你帮他计算出替换后的序列。
【输入格式】
第一行包含两个正整数n,k,含义如题面所示。
第二行包含n个数字,代表序列A。
【输出格式】
输出n个整数,代表替换后的结果。
【样例输入 1】
5 0
-2 -1 0 1 2
【样例输出 1】
-2 -2 0 2 2
对于全部数据,保证有 1 ≤ n ≤ 1 0 5 , ∣ k ∣ , ∣ a i ∣ ≤ 1 0 5 1 \le n \le 10^5, |k|,|a_i| \le 10^5 1n105,k,ai105

打印数字

【问题描述】
小杨为数字0,1,2和3设计了一款表示形式,每个数字占用了5*5的网格。数字0,1,2和3的表示形式如下:

..... ****. ..... .....
.***. ****. ****. ****.
.***. ****. ..... .....
.***. ****. .**** ****.
..... ****. ..... .....

小杨想请你将给定的数字n转换为对应的表示形式。
【输入描述】
第一行包含一个正整数代表n。
【输出描述】
输出对应的表示形式。
【样例输入 1】
12230
【样例输出 1】

****..................... 
****.****.****.****..***. 
****.................***. 
****..****.********..***. 
****.....................

对于全部数据,保证有 0 ≤ n ≤ 1 0 6 0 \le n \le 10^6 0n106,且n仅由数字0,1,2,3组成。

http://www.lryc.cn/news/499940.html

相关文章:

  • Microi 吾码:大数据浪潮中的智能领航者
  • Lua语言入门 - Lua 数组
  • gulp应该怎么用,前端批量自动化替换文件
  • 石岩湿地公园的停车场收费情况
  • A7157 基于Java+SSM+mysql+jsp的医院挂号系统的设计与实现 源码 文档 配置 全套资料
  • 数据处理与统计分析——11-Pandas-Seaborn可视化
  • 【计算机网络】实验13:运输层端口
  • STL之适配器(adapters)_下
  • 基于51单片机64位病床呼叫系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)
  • 安装 Zookeeper 和 Kafka
  • 操作系统输入输出系统知识点
  • C语言控制语句与案例
  • JVM的内存布局
  • aws codepipeline + github + sonarqube + jenkins实践CI/CD
  • mistralai 部署笔记
  • Java——异常机制(上)
  • 坐标系,向量_batch及向量点乘部分知识
  • 【计算机网络】期末速成(2)
  • 【设计模式】结构型设计模式总结之代理模式、装饰模式、外观模式、享元模式
  • 11进阶篇:专业课论文阅读方向指南(2025版)
  • watch里可以写异步吗
  • 基于 Spring Boot + Vue 的宠物领养系统设计与实现
  • leetcode399:除法求值
  • 【10】MySQL中的加密功能:如何使用MD5加密算法进行数据加密
  • CSS的2D和3D动画效果
  • 30天学会Go--第9天 GO语言 Mysql 学习与实践
  • 跟李笑来学美式俚语(Most Common American Idioms): Part 54
  • Angular由一个bug说起之十一:排序之后无法展开 Row
  • 使用 Flutter 进行移动应用开发:深入探索
  • 2024年天津市职业院校技能大赛高职组 “信息安全管理与评估”样题第三阶段