2023年9月GESPC++三级真题解析

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

题目123456789101112131415
答案

B

B

C

B

A

A

B

C

C

A

B

D

B

D

B

1们所使用的手机上安装的App通常指的是 

A. 款操作系统 B. 款应用软件 C. 种通话设备 D. 以上都不对

【答案】B

【考纲知识点】 计算机基础知识

【解析】本题属于考察计算机基础知识。APP是英语单词application的简写,代 表应用软件的意思。

2、下列流程图的输出结果是?( )


 

A. 60 B. 20 C. 5   D. 1

【答案】B

【考纲知识点】 流程图的概念与描述

【解析】本题属于考察计算机流程图知识,只要满足条件,就执行“是 ”后面的 语句,是个循环结构。a=5和4的时候执行s=sa,结果是5*4=20。

3、已知写字符'A' ASCII编码的六进制表0x41 ,则字符'L' ASCII 码的六进制表为  ( )   

A. 4A B. 4B C. 4C D. 52

【答案】C

【考纲知识点】 计算机字符编码知识

【解析】本题属于考察计算机字符编码知识。‘A ’的ASCII值是65,可以推出‘

L ’是76,将其转换成二进制,答案是C。

4 以下哪个不是C++中的运算符?( )

A. ~   B. ~~ C. <

D. <<

【答案】B

【考纲知识点】C++语言基础

【解析】本题属于考察C++语言基础知识。B运算符不存在。

5、如果数组定义为long long array[] = {3,   5,   7,   2}; ,则数组array的字节 数为 

A. 32 B. 16 C. 8   D. 4

【答案】A

【考纲知识点】 数组和数据类型

【解析】本题属于考察C ++语言知识,包括数组和数据类型。一维数组中有4个 元素,long long类型每个数字占8个字节,4*8=32。选A。

6个数组定义为  double array[3]; ,则可合理访问这个数组的元素的下标  
 

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

题目12345678910
答案

×

×

×

×

×

×

1 、二进制数101.101进制下是5.005

【答案】错误

【考纲知识点】 进制转换

【解析】本题是计算机二进制和转换十进制的知识,整数部分是5,小数部分是 0.625。

2 、在C++中,位运算符也有类似“先乘除、后加减 ”的优先级规则。因此, 使时应注意合理使括号。

【答案】正确

【考纲知识点】 位运算符知识

【解析】本题是计算机运算符的知识。

3 、字符常量'3'的值和int类型常量3的值是相同的,只是占的字节数不同。

【答案】错误

【考纲知识点】 计算机字符

【解析】本题是计算机字符和数字的知识,字符‘3 ’用整数51表示,不等于3。

4 、 在C++中,长度为 的数组,访问下标为 的元素会引起编译错误。

【答案】错误

【考纲知识点】 数组

【解析】本题是计算机数组知识,不会引起编译错误,使用时可能会产生错误。

5 、在C++中,所有int类型的值,经过若次左移操作(<<)后,它们的值 总会变为0

【答案】正确

【考纲知识点】 位运算

【解析】本题是计算机位运算知识,左移后,后面的位数用0补充,所以移动若 干次,都会变成0。

6 、 在C++中,数组下标的⼤⼩决定元素在逻辑上的先后顺序,与元素在内 存中位置的先后顺序关。

【答案】错误

【考纲知识点】 数组

【解析】本题是计算机数组知识,下标的大小和两者都有关系。

7 、 在C++中,定义数组时,[]必须指定元素个数。

【答案】错误

【考纲知识点】 数组的定义

【解析】本题是计算机数组知识,数组定义方式有很多,正确的也包括: int d[]={1,2,3};这种格式。

8、著名的哥德巴赫猜想:任⼀⼤2的偶数都可写成两个素数之和。我们可以通 过枚举法来证明它。

【答案】错误

【考纲知识点】 枚举算法

【解析】本题是计算机算法知识,枚举法是枚举所有的可能,枚举不出所有的偶 数,所以不能用枚举法证明哥德巴赫猜想。

9 、 在C++中,表达式(0xff == 255) 的值为true

【答案】正确

【考纲知识点】 进制和比较运算符

【解析】本题是计算机十六进制和比较运算符的知识,0xff的十进制是255。

10 、 如果aint类型的变量,且表达式((a & 1) == 0) 的值为true ,则说明a是偶数。

【答案】正确

【考纲知识点】 位运算和比较运算符

【解析】本题是计算机位运算和比较运算符知识,a是整数,只有是偶数和1做与 运算的结果才等于0。

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

 

1、杨的储蓄

问题描述

杨共有 N个储蓄罐,编号从0到N-1。从第1天开始,杨每天都会往存钱罐里 存钱。具体来说,第i天他会挑选一个存钱罐ɑi ,并存i元钱。过了D天后,他 已经忘记每个储蓄罐里都存了多少钱了,你能帮帮他吗?

输入描述

2 ,第一行两个整数N,D;第二行D个整数,其中第i个整数为ɑi(保证0≤ɑi  N-1)。

的各个整数之间单个空格分隔。 保证1≤N≤1000 ;1≤D≤1000

输出描述

输出N个用单个空格隔开的整数,其中第i个整数表示编号为i-1的存钱罐中有多 少钱(i = 1,...,N)。


 

【题目大意】

1.小杨有n个存钱罐,存钱罐的编号是0~n-1。例如他有5天,每天向某个存钱罐 存放i元钱,即:第1天,i=1;第2天,i=2,依次类推。

【考纲知识点】

1.基本运算、输入输出语句、一维数组的知识。 【解题思路】

1.按题目要求定义好需要的变量,并实现输入;

2.根据题意,最多有1000个存钱罐,建立存钱数组,数组大小大于等于1000即可 。要存d天,存的元数分别是1~d元,循环范围最好写成i=1;i<=d;

3.每次存钱前,先读入要存的存钱罐编号,然后将i累加到该存钱罐中; 4.最后,输出每个存钱罐中的元数。注意存钱罐的编号是0~n-1。

【参考程序】

 

2、进制判断

问题描述​​​​​​​

N进制数指的是逢N进一的计数制。例如,人们日常生活中大多使用十进制计数, 而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是 常用的计数制(十六进制中,一般使用字母A至F表示十至十五)。

现在有N个数,请你分别判断他们是否可能是二进制、八进制、十进制、十六进 制。例如,15A6F就只可能是十六进制,而1011则是四种进制皆有可能

输入描述

输入的第一行为一个十进制表示的整数N。接下来 N行,每行一个字符串,表示 需要判断的数。保证所有字符串均由数字和大写字母组成,且不以 0 开头。保 证不会出现空行。

保证 1≤N≤1000,保证所有字符串长度不超过10。

输出描述

输出N行,每行4个数,用空格隔开,分别表示给定的字符串是否可能表示一个二 进制数、八进制数、十进制数十六进制数。使用 1 表示可能,使用 0 表示不可 能。

例如,对于只可能是十六进制数的 15A6F,就需要输出0001;而对于四者皆有可 能的 1011,则需要输出1111。

样例输入1


 

【题目大意】

1.输入多个字符串,每个字符串包括09、‘A ’‘Z ’这些字符构成,判断能否可 能是二进制、八进制、十进制和十六进制,有可能哪个进制都不是。

【考纲知识点】

1.多层循环结构、基本运算、输入输出语句、字符。 【解题思路】

1.根据进制知识,二进制由0和1,构成;八进制由07构成;十进制由09构成;十 六进制由09和AF构成。如果字符中有大于1的字符,肯定不能用二进制表示;大 于7的,不能用二进制和八进制表示;大于9的,不能用二进制、八进制和十进制 表示;大于F的,不能用二进制、八进制、十进制和十六进制表示;

2.找出字符串中最大的那个字符,分别和1,8,9,F比较,如果小于等于,就可 以用二进制、八进制、十进制或十六进制表示,否则不能表示。

【参考程序】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值