CCF(中国计算机学会)-GESP(编程能力等级认证)——使用文档

本文主要是介绍CCF(中国计算机学会)-GESP(编程能力等级认证)——使用文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、CCF(中国计算机学会)-GESP(编程能力等级认证) 介绍:

CCF(中国计算机学会)-GESP(编程能力等级认证) 概述图

CCF(中国计算机学会)-GESP(编程能力等级认证) 使用网站平台

中国计算机学会编程能力等级认证,英文译名Grade Examination of Software Programming,英文简称GESP,是面向青少年的编程能力的等级认证,由中国计算机学会发起并主办。GESP的目的是为青少年计算机和编程学习者提供学业能力验证的规则和平台,提升青少年计算机和编程教育培训水平,推广和普及青少年计算机和编程教育,选拔优秀人才。GESP适用年龄阶段为4-20岁,覆盖学龄前、中小学等阶段,符合年龄条件的青少年均可参加认证。

组织委员会委员(除主席外,其他人按照姓氏拼音首字母排序):

主席

王延平 华北电力大学

委员

曹 晓 北京猿力教育科技有限公司

陈 虎 网易有道信息技术(北京)有限公司

陈向东 北京聪明核桃教育科技有限公司

刘 振 北京童程童美科技有限公司

马子超 深圳点猫科技有限公司

戚飞军 杭州小码教育科技有限公司

汪阳青 北京编码未来教育科技有限公司

徐建昌 CCF宁波会员活动中心

钟 鸣 成都娄外科技有限公司

技术委员会:(除主席外,其他人按照姓氏拼音首字母排序)

主席:孙善明

委员:高强、杨利君、胡秋萍、贾志勇、刘凤飞、马燕鹏、倪洪生、王京波、王宇航、徐晗路、张星宇、周彬、祝烈煌

命题委员会:(只公布命题委员会成员所在单位)

清华大学、北京大学、北京航空航天大学、中国人民大学、北京理工大学等权威专家。

2、GESP真题:

GESP考级

GESP三级

GESP 三级概述图

考点1 数据编码(原码、反码、补码)

训练题目1
选择题
正整数的原码和补码是否相同?
A. 是
B. 否
C. 只在特定情况下相同
D. 无法确定

在8位二进制表示中,数-5的补码是多少?
A. 11111011
B. 00000101
C. 10000101
D. 11111010

反码用于解决哪个数的表示问题?
A. 正整数
B. 负整数
C. 小数
D. 实数

在补码编码中,最高位(符号位)为1通常表示什么?
A. 正数
B. 负数
C. 零
D. 上述都不是

在8位二进制表示中,数7的反码是多少?
A. 00000111
B. 11111000
C. 11111001
D. 00000110

在补码表示中,-0和+0是否有不同的表示?
A. 有
B. 没有
C. 只在特定情况下不同
D. 无法确定

补码表示法的主要优点是什么?
A. 简化了加法运算
B. 提供了统一的表示方式
C. 减少存储空间
D. A和B都是

哪一种编码方式可以直接用于加法运算?
A. 原码
B. 反码
C. 补码
D. 上述都不是

在补码表示中,一个数和它的补数相加的结果是什么?
A. 0
B. 1
C. 该数的两倍
D. 无法确定

在8位二进制补码表示中,-128的表示是什么?
A. 10000000
B. 01111111
C. 11111111
D. 00000000

对于8位二进制数,以下哪个是-1的补码表示?
A. 11111111
B. 01111111
C. 10000001
D. 11111110

在反码表示中,正数和负数的最高位分别是什么?
A. 0和1
B. 1和0
C. 都是0
D. 都是1

为什么在计算机中使用补码而不是原码来表示负数?
A. 原码计算复杂
B. 补码可以表示更多的数
C. 补码简化了加法和减法运算
D. 原码无法表示负数

在计算机中,整数通常用哪种编码方式表示?
A. 原码
B. 反码
C. 补码
D. ASCII码

哪种编码方式中,负数的表示是其对应正数的二进制表示的每一位取反?
A. 原码
B. 反码
C. 补码
D. ASCII码

在8位二进制补码表示中,最大的正数是多少?
A. 01111111
B. 10000000
C. 11111111
D. 00000000

补码系统中,哪一个数的原码、反码、补码表示相同?
A. 0
B. -1
C. 1
D. -128

在反码表示中,-5的8位二进制表示是什么?
A. 11111011
B. 10000101
C. 11111010
D. 10000100

如果一个8位二进制数的补码是11111000,那么它的十进制值是多少?
A. -8
B. -7
C. -6
D. -5

在计算机中,使用补码表示有助于解决哪个问题?
A. 0的多种表示
B. 正数的表示
C. 负数的加法运算
D. 浮点数的表示

代码填空题
给定一个8位二进制补码11001010,其十进制表示为__________。
对于负整数-9,其8位二进制原码表示为__________。
在计算机中,整数15的8位二进制补码表示为__________。
若一个数的8位二进制原码为01101001,则其反码表示为__________。
给定一个数的8位二进制补码表示10001011,其反码表示为__________。
一个数的8位二进制原码是01000101,则其补码表示为__________。
负整数-32在8位二进制补码表示中为__________。
补码11111110在十进制中表示__________。
对于正整数+17,其8位二进制补码表示为__________。
若一个数的8位二进制补码为11110111,则其原码表示为__________。

训练题目1(解析):

选择题解析:

正整数的原码和补码是否相同?
答案: A. 是
解析: 对于正整数,其原码和补码是相同的。在原码和补码表示法中,正数的最高位(符号位)都是0,其余各位(数值位)不变。
在8位二进制表示中,数-5的补码是多少?
答案: A. 11111011
解析: 要找到-5的补码,首先确定5的二进制表示(00000101),然后对这个数取反得到反码(11111010),最后给反码加1得到补码(11111011)。
反码用于解决哪个数的表示问题?
答案: B. 负整数
解析: 反码主要用于表示负数。在反码表示法中,负数的最高位为1,其余各位是该数的绝对值的二进制表示的反码(即0变1,1变0)。
在补码编码中,最高位(符号位)为1通常表示什么?
答案: B. 负数
解析: 在补码表示法中,最高位为1通常表示该数为负数。补码用于简化二进制的加减运算,特别是负数的表示和运算。
在8位二进制表示中,数7的反码是多少?
答案: A. 00000111
解析: 正数的反码与其原码相同。因此,数7(原码为00000111)的反码也是00000111。
在补码表示中,-0和+0是否有不同的表示?
答案: B. 没有
解析: 在补码表示法中,+0和-0的表示是相同的,均为全0。这解决了原码和反码表示中0的符号歧义问题。
补码表示法的主要优点是什么?
答案: D. A和B都是
解析: 补码表示法的主要优点是它简化了加法运算,并为正数和负数提供了统一的表示方式。在补码系统中,加法和减法可以统一为加法运算。
哪一种编码方式可以直接用于加法运算?
答案: C. 补码
解析: 补码是唯一一种可以直接用于加法运算的编码方式,因为它解决了负数的表示和运算问题,使得加法和减法都可以简单地使用加法来实现。
在补码表示中,一个数和它的补数相加的结果是什么?
答案: A. 0
解析: 在补码表示中,一个数和它的补数相加的结果总是0。例如,一个数的补码加上它的原码(如果是负数的话)总是等于0。
在8位二进制补码表示中,-128的表示是什么?
答案: A. 10000000
解析: 在8位二进制补码表示中,-128是一个特殊情况,它的补码和原码相同,均为10000000。这是因为在8位二进制中,-128无法用常规的取反加一得到补码的方法表示。
对于8位二进制数,以下哪个是-1的补码表示?
答案: A. 11111111
解析: 在补码表示法中,-1的补码是所有位均为1的二进制数。这是因为1的原码是00000001,取反后得到11111110,加1得到11111111。
在反码表示中,正数和负数的最高位分别是什么?
答案: A. 0和1
解析: 在反码表示中,正数的最高位(符号位)是0,负数的最高位是1。反码表示法中,正数的反码与其原码相同,而负数的反码是其绝对值原码的每一位取反。
为什么在计算机中使用补码而不是原码来表示负数?
答案: C. 补码简化了加法和减法运算
解析: 使用补码而不是原码来表示负数是因为补码可以简化二进制的加减运算。在补码系统中,可以直接进行加法运算,而不需要根据数的符号进行不同的运算过程。
在计算机中,整数通常用哪种编码方式表示?
答案: C. 补码
解析: 计算机系统通常使用补码来表示整数,因为补码能够简化硬件设计,特别是在进行加法和减法运算时。
哪种编码方式中,负数的表示是其对应正数的二进制表示的每一位取反?
答案: B. 反码
解析: 在反码表示中,负数的表示是其对应正数的二进制表示的每一位取反(0变1,1变0),而最高位(符号位)变为1。
在8位二进制补码表示中,最大的正数是多少?
答案: A. 01111111
解析: 在8位二进制补码表示中,最大的正数是01111111,对应十进制中的127。这是因为符号位为0(表示正数),其余位全部为1。
补码系统中,哪一个数的原码、反码、补码表示相同?
答案: A. 0
解析: 在补码系统中,0是唯一一个其原码、反码、补码表示都相同的数。无论是正0还是负0,它们在原码、反码、补码中的表示都是全0。
在反码表示中,-5的8位二进制表示是什么?
答案: D. 10000100
解析: 首先确定5的二进制表示(00000101),然后对这个数取反得到-5的反码,即10000100。
如果一个8位二进制数的补码是11111000,那么它的十进制值是多少?
答案: D. -8
解析: 11111000的补码表示负数,首先减1得到11110111,然后取反得到00001000,即十进制的8,因此原数是-8。
在计算机中,使用补码表示有助于解决哪个问题?
答案: C. 负数的加法运算
解析: 使用补码表示有助于简化负数的加法运算。在补码系统中,加法和减法可以统一为加法运算
训练题目2
在8位二进制补码表示中,+27的补码是多少?
A. 00011011
B. 11100101
C. 10011011
D. 11110101
在8位二进制补码表示中,-13的补码是多少?
A. 11110011
B. 00001101
C. 11110010
D. 10001101
在8位二进制表示中,数-32的原码和补码分别是多少?
A. 原码: 10100000,补码: 11000000
B. 原码: 11000000,补码: 10100000
C. 原码: 10100000,补码: 11100000
D. 原码: 11000000,补码: 11000000
一个8位二进制数的补码为11101100,它的原码是多少?
A. 00010100
B. 10010100
C. 10010101
D. 00010101
在8位二进制反码表示中,-7的表示是多少?
A. 11111000
B. 11111001
C. 10000111
D. 10000110
在补码表示中,一个数和它相反数的补码相加的结果是什么?
A. 0
B. 1
C. 该数的两倍
D. 无法确定
如果一个8位二进制数的原码是10001010,它的十进制值是多少?
A. -138
B. -10
C. 138
D. 10
在8位二进制补码表示中,-128 + 1的结果是多少?
A. 10000001
B. 01111111
C. 11111111
D. 00000001
在8位二进制补码表示中,将-120和+15相加的结果是多少?
A. 10001011
B. 11110001
C. 10101001
D. 01110001
在8位二进制原码表示中,+127和-127相加的结果是多少?
A. 11111110
B. 00000001
C. 01111110
D. 00000000
在8位二进制补码表示中,最小的负数减1的结果是多少?
A. 10000000
B. 01111111
C. 11111111
D. 00000001
将十进制数19转换为8位二进制补码表示是多少?
A. 00010011
B. 10010011
C. 11101101
D. 11110011
在补码表示中,负整数的最高位(符号位)总是什么?
A. 0
B. 1
C. 取决于数值
D. 无法确定
一个8位二进制数的补码是10101010,它的反码是多少?
A. 10101001
B. 11010101
C. 01010101
D. 01010110
将十进制数-45转换为8位二进制补码表示是多少?
A. 11010011
B. 10101101
C. 10110011
D. 11011011
在8位二进制补码表示中,+32和-32相加的结果是多少?
A. 10000000
B. 00000000
C. 01111111
D. 11111111
一个8位二进制数的原码是11101011,它的补码是多少?
A. 10010101
B. 11101011
C. 10010100
D. 11101100
在8位二进制补码表示中,-1和+1相加的结果是多少?
A. 00000000
B. 00000001
C. 11111111
D. 10000000
一个8位二进制补码为11100101,它在十进制中的值是多少?
A. -27
B. 27
C. -29
D. 29
在8位二进制补码表示中,一个数的补码为11001010,该数在十进制中的值是多少?
A. -54
B. 54
C. -52
D. 52
训练题目2(解析)
在8位二进制补码表示中,+27的补码是多少?
答案: A. 00011011
在8位二进制补码表示中,-13的补码是多少?
答案: A. 11110011
在8位二进制表示中,数-32的原码和补码分别是多少?
答案: A. 原码: 10100000,补码: 11000000
一个8位二进制数的补码为11101100,它的原码是多少?
答案: B. 10010100
在8位二进制反码表示中,-7的表示是多少?
答案: B. 11111001
在补码表示中,一个数和它相反数的补码相加的结果是什么?
答案: A. 0
如果一个8位二进制数的原码是10001010,它的十进制值是多少?
答案: B. -10
在8位二进制补码表示中,-128 + 1的结果是多少?
答案: C. 11111111
在8位二进制补码表示中,将-120和+15相加的结果是多少?
答案: D. 01110001
在8位二进制原码表示中,+127和-127相加的结果是多少?
答案: D. 00000000
解析:
+127原码: 01111111
-127原码: 11111111
相加: 01111111 + 11111111 = 00000000 (溢出,符号位忽略)
在8位二进制补码表示中,最小的负数减1的结果是多少?
答案: C. 11111111
解析:
最小负数(-128)的补码: 10000000
减1操作相当于加-1: 10000000 + 11111111 = 011111111 (溢出,符号位忽略)
将十进制数19转换为8位二进制补码表示是多少?
答案: A. 00010011
解析:
十进制19转换为二进制: 00010011
在补码表示中,负整数的最高位(符号位)总是什么?
答案: B. 1
解析:
补码表示中,负数的最高位(符号位)总是1。
一个8位二进制数的补码是10101010,它的反码是多少?
答案: B. 11010101
解析:
由于最高位是1,表示负数,反码计算为补码减1然后取反:
减1: 10101010 - 1 = 10101001
取反: 11010110
将十进制数-45转换为8位二进制补码表示是多少?
答案: C. 10110011
解析:
十进制45转换为二进制: 00101101
取反: 11010010
加1: 11010010 + 1 = 10110011
在8位二进制补码表示中,+32和-32相加的结果是多少?
答案: B. 00000000
解析:
+32的补码: 00100000
-32的补码: 11100000
相加: 00100000 + 11100000 = 00000000
一个8位二进制数的原码是11101011,它的补码是多少?
答案: C. 10010100
解析:
由于最高位是1,表示负数,补码计算为反码加1:
反码: 11101010
加1: 11101010 + 1 = 10010100
在8位二进制补码表示中,-1和+1相加的结果是多少?
答案: A. 00000000
解析:
-1的补码: 11111111
+1的补码: 00000001
相加: 11111111 + 00000001 = 00000000 (溢出,符号位忽略)
一个8位二进制补码为11100101,它在十进制中的值是多少?
答案: A. -27
解析:
由于最高位是1,表示负数:
反码: 11100100
原码: 10011011 (即-27)
在8位二进制补码表示中,一个数的补码为11001010,该数在十进制中的值是多少?
答案: A. -54
解析:
由于最高位是1,表示负数:
反码: 11001001
原码: 10110110 (即-54)
以上解析提供了每个问题的详细计算过程。

GESP 3级提高版训练试卷(1)

一、单选题(每题2分,共30分)
在C++中,哪一个ASCII编码值与字符’0’相对应?
A. 48
B. 65
C. 97
D. 32

二进制数 1110 转换为十进制数是多少?
A. 12
B. 14
C. 16
D. 18

C++中哪一个运算符用于取地址?
A. *
B. &
C. ->
D. %

在C++中,如果 int x = 5; int y = 10;,则表达式 x & y 的值是多少?
A. 0
B. 5
C. 10
D. 15

ASCII码中,字符’B’和字符’b’的十六进制差值是多少?
A. 0x20
B. 0x21
C. 0x19
D. 0x1A

十六进制数0xF转换为十进制数是多少?
A. 10
B. 12
C. 14
D. 15

在C++中,字符数组的正确初始化方式是什么?
A. char str[6] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’};
B. char str[] = “Hello”;
C. string str = “Hello”;
D. A和B都正确

补码编码方式主要用于表示什么类型的数?
A. 正整数
B. 负整数
C. 小数
D. 实数

在C++中,哪种数据类型用于表示单个字符?
A. int
B. char
C. string
D. bool

十六进制数0x100转换为二进制数是多少?
A. 10000000
B. 10000
C. 100000000
D. 1000

以下哪个选项表示将十进制数转换为八进制数?
A. std::hex
B. std::oct
C. std::dec
D. std::bin

C++中,数组int arr[5] = {1, 2, 3, 4, 5};的长度是多少?
A. 4
B. 5
C. 6
D. 7

C++中,关于一维数组的哪种描述是错误的?
A. 数组可以包含多种类型的数据。
B. 数组元素可以通过下标访问。
C. 数组大小在定义后不能更改。
D. 数组是连续的内存空间。

哪种运算符用于C++中的位运算"按位或"?
A. |
B. &
C. ^
D. ~

将十进制数8.75(整数与小数相加的结果)转换为二进制数是多少?

A. 1000.11
B. 1000.101
C. 1001.01
D. 1000.001

二、判断题(每题2分,共20分)
在C++中,字符常量’\0’代表空字符,其ASCII码值为0。(对√ / 错×)
二进制数1001转换为十进制数等于9。(对√ / 错×)
C++中,位运算符’&‘的优先级高于’==‘。(对√ / 错×)
ASCII码中,大写字母和对应小写字母的编码值差固定为32。(对√ / 错×)
在C++中,如果数组定义为int arr[5];,则arr[5]是访问数组的合法表达式。(对√ / 错×)
任何一个整数左移一位都等于其乘以2。(对√ / 错×)
十六进制数表示中,A-F用于表示10-15。(对√ / 错×)
在C++中,字符串总是以空字符’\0’结束。(对√ / 错×)
ASCII码中,字符’0’的十进制编码为48。(对√ / 错×)
十进制数转换为二进制数时,结果的长度总是等于原数。(对√ / 错×)

这篇关于CCF(中国计算机学会)-GESP(编程能力等级认证)——使用文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/466546

相关文章

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面