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

相关文章

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin