GESP-2023-3级(6月)

题目总数:25
总分数:125
时间:20分钟
第 1 题    单选题

高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。

A.

编辑

B.

保存

C.

调试

D.

编译

第 2 题    单选题

二进制数11.01在十进制下是( )。

A.

 3.01

B.

 3.05

C.

 3.125

D.

 3.25

第 3 题    单选题

已知大写字符'A'的ASCII编码的十六进制表示为0x41,则字符'F'的ASCII编码的十六进制表示为( )。

A.

 46

B.

 47

C.

 48

D.

 49

第 4 题    单选题

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

A.

&

B.

&&

C.

 *

D.

 **

第 5 题    单选题

如果字符串定义为char str[] = "Hello";,则字符数组str的长度为( )。

A.

 0

B.

 5

C.

 6

D.

 7

第 6 题    单选题

一个数组定义为double array[3];,则这个数组占用内存的大小为( )。

A.

 24

B.

 12

C.

 6

D.

 3

第 7 题    单选题

以下数组定义,符合C++语言语法的是( )。

A.

 int a[];

B.

 int b['3'];

C.

 int c[3.0];

D.

 int[3] d;

第 8 题    单选题

下列关于进制的叙述,不正确的是( )。

A.

正整数的二进制表示中只会出现0和1。

B.

 10不是2的整数次幂,所以十进制数无法转换为二进制数。

C.

从二进制转换为8进制时,可以很方便地由低到高将每3位二进制位转换为对应的一位8进制位。

D.

从二进制转换为16进制时,可以很方便地由低到高将每4位二进制位转换为对应的一位16进制位。

第 9 题    单选题

下列关于C++语言中数组的叙述,不正确的是( )。

A.

数组必须先定义后使用。

B.

数组的所有元素在内存中是连续存放的。

C.

除了字符数组,在定义数组时“[]”内必须有常数。

D.

不能对数组赋值,但可以对数组的每个基础类型的元素赋值。

第 10 题    单选题

一个int类型的值,做以下哪个操作,一定会变回原来的值?( )

A.

左移3位,再右移3位。

B.

右移3位,再左移3位。

C.

按位或7,再按位与-8。

D.

按位异或7,再按位异或7。

第 11 题    单选题

如果a和b均为int类型的变量,下列表达式能正确判断“a等于b”的是( )。

A.

 ((a / b) == 1)

B.

 ((a & b) == a)

C.

 ((a ^ b) == 0)

D.

 ((a | b) == b)

第 12 题    单选题

如果a为int类型的变量,下列哪个表达式可以正确求出满足“小于等于a且是4的倍数”的整数中最大的?( )

A.

 (a & (~3))

B.

 ((a << 2) >> 2)

C.

 (a ^ 3)

D.

 ((a - 1) | 3) + 1

第 13 题    单选题

在下列代码的横线处填写( ),可以使得输出是“2”。<br class="markdown_return">#include <iostream><br class="markdown_return">Using namespace std;<br class="markdown_return">Int main() {<br class="markdown_return">Int array[5] = (3, 7,5, 2, 4};<br class="markdown_return">Int min = 0;<br class="markdown_return">For (int i = ; i &lt; 5; i++)<br class="markdown_return">    if(________)// 在此处填写代码<br class="markdown_return">        min = array[il;<br class="markdown_return">Cout &lt;&lt; min &lt;&lt; endl;<br class="markdown_return">Return 0;}</iostream>

A.

 min &gt; array[i]

B.

 min &lt; array[i]

C.

 min = array[i]

D.

以上均不对。

第 14 题    单选题

在下列代码的横线处填写( ),可以使得输出是“24 12”。<br class="markdown_return">#include <iostream><br class="markdown_return">Using namespace std;<br class="markdown_return">Int main() {<br class="markdown_return">Int a = 12,b = 24;<br class="markdown_return">————————;// 在此处填入代码<br class="markdown_return">A=a^b;b=a^b;<br class="markdown_return">Cout&lt;<a<<" "<<b="" <<endl;<br="" class="markdown_return">Return 0;}</a<<"></iostream>

A.

 a = a ^ b

B.

 b = a ^ b

C.

 a = a + b

D.

 b = a + b

第 15 题    单选题

在下列代码的横线处填写( ),可以使得输出不是“31”。<br class="markdown_return">#include <iostream><br class="markdown_return">Using namespace std;<br class="markdown_return">Int main() {<br class="markdown_return">    int array[5] = {1, 2, 4, 8,16};<br class="markdown_return">    int res = 日;<br class="markdown_return">    f or (int i = ; i &lt; 5; i++)<br class="markdown_return">          ___________;// 在此处填写代码<br class="markdown_return">    cout &lt;&lt; res &lt;&lt; endl;<br class="markdown_return">    return 0;<br class="markdown_return">}</iostream>

A.

 res = res + array[i]

B.

 res = res &amp; array[i]

C.

 res = res | array[i]

D.

 res = res ^ array[i]

第 16 题    判断题

一个算法可以用不同的形式来描述,但要求描述比较规范,因此不能用自然语言描述。

A.

正确

B.

错误

第 17 题    判断题

域名是由一串用点分隔的名字来标识互联网上一个计算机或计算机组的名称,CCF编程能力等级认证官方网站的域名是gesp.ccf.org.cn,其中顶级域名是gesp。

A.

正确

B.

错误

第 18 题    判断题

数据编码方式只有原码、反码、补码三种。

A.

正确

B.

错误

第 19 题    判断题

在C++语言中,长度为n的数组,合理的下标范围是从0到n,包括0和n。

A.

正确

B.

错误

第 20 题    判断题

字符常量'\0'常用来表示字符串结束,它和字符常量'0'是不同的。

A.

正确

B.

错误

第 21 题    判断题

在C++语言中,可以使用字符(如'0')作为数组下标。

A.

正确

B.

错误

第 22 题    判断题

在C++语言中,数组被定义时,它的大小就确定了。

A.

正确

B.

错误

第 23 题    判断题

计算机中存储的数据都是二进制形式。因此,在使用C++语言编写程序时,将所有十进制数改写为相同数值的二进制数,会使得程序运行效率更高。

A.

正确

B.

错误

第 24 题    判断题

在C++语言中,表达式(0xf == 015)的值为true。

A.

正确

B.

错误

第 25 题    判断题

如果a为int类型的变量,且表达式((a | 3) == 3)的值为true,则说明a在从0到3之间(可能为0、可能为3)。

A.

正确

B.

错误