试卷 2024年3月GESP认证C++编程三级真题试卷
2024年3月GESP认证C++编程三级真题试卷
选择题
第 1 题    单选题

整数-5的16位补码表⽰是(      )。

A.

1005

B.

1006

C.

FFFA

D.

FFFB

第 2 题    单选题

如果16位短整数-2的⼆进制是"FFFE" ,则短整数-4的⼗六进制是(           )。

A.

FF04

B.

FFFA

C.

FFFC

D.

FFFH

第 3 题    单选题

下⾯C++代码执⾏后的输出是(      )。

1 int main(  )
2 {
3  cout << (3 |16) << endl;
4
5  cout << endl;
6  return 0;
7 }
A.

3

B.

16

C.

19

D.

48

第 4 题    单选题

定义整数int x=-5,则执⾏C++代码cout<< (x == (x<<1>>1)) 输出是(    )。

A.

0

B.

1

C.

-5

D.

5

第 5 题    单选题

已知字符  '0 '的ASCII编码的⼗进制表⽰为48 ,则执⾏下⾯C++代码后 ,输出是(          )

1 int main(  )
2 {
3  string s="316";
4  int n=s.length();
5  int x=0;
6  for(int i = 0; i < n; i++)
7  x += s[i];
8  cout << x  << endl;
9
10 cout << endl;
11 return 0;
12 }
13
A.

10

B.

58

C.

154

D.

316

第 6 题    单选题

下⾯C++代码执⾏后数组中⼤于0的数的特征是(    )。

1 int main(  )
2 {
3  int a[20],i;
4  for(i = 0; i < 20; i++)
5   a[i] = i+1;
6
7  for(int i = 0; i < 20; i++)
8  if((a[i]%2)&&(a[i]%3))
9  a[i] = 0;
10 
11  for(i = 0; i < 20; i++)
12  if(a[i])
13   cout << a[i] << " ";
14
15
16  cout << endl;
17  return 0;
18 }
A.

2的倍数

B.

3的倍数

C.

能被2或3整除的数

D.

能被2和3同时整除的数

第 7 题    单选题

执⾏下⾯C++代码后输出的第⼀个数是(    )。

1 Int main(  )
2 {
3  int a[20],i;
4  for(i = 0; i < 20; i++)
5  a[i] = i+1;
6
7  for( ; i > 0; i--)
8  cout << a[i-1] << " ";
9 
10  cout << endl;
11   return 0;
12 }


A.

20

B.

19

C.

1

D.

不确定

第 8 题    单选题

在下列代码的横线处填写(  ) ,可以使得输出是GESP IS INTERESTING  。

1 int main()
2 {
3 string str="gEsP is Interesting";
4
5 int x = str.length();
6 for(int i = 0; i < x; i++)
7 if ((str[i]>= 'a ') && (str[i]<= 'z '))
8   ;
9
10 cout << str << endl;
11 cout << endl;
12 return 0;
13  }
A.

str[i]+= 'a '- 'A '

B.

str[i]+=20

C.

str[i]+= 'A '- 'a '

D.

⽆法实现

第 9 题    单选题

假设英⽂句⼦由若⼲词构成 。下⾯C++代码统计输出的词数是(    )。

1 int main()
2 {
3 string str="gEsP is  Interesting  !";
4 int x = str.length();
5 int nwords = 0;
6 
7 for(int i = 0; i < x; i++)
8  if (str[i]== ' '){
9   nwords++;
10   while(str[++i]== ' ') ;
11  }
12 cout << nwords << endl;
13
14 cout << endl;
15 return 0;
16 }


A.

1

B.

2

C.

3

D.

4

第 10 题    单选题

C++的字符变量的码值是整数 ,下⾯字⾯量形式的字符码值最⼤的是(    )。

A.

100

B.

075

C.

0x70

D.

0x60

第 11 题    单选题

下⾯C++程序执⾏的结果是(    )。

1 int main()
2 {
3  int a[20],i;
4 int cnt=0;
5 for(i = 0; i < 20; i++)
6 a[i] = i+1;
7
8
9 for( ; i > 1; i--)
10 if((a[i-1]+a[i-2])%3)
11 cnt++;
12 cout << cnt << endl;
13
14 cout << endl;
15 return 0;
16 }
A.

5

B.

6

C.

10

D.

12

第 12 题    单选题

定义字符数组char str[20] = { 'G ', 'E ', 'S ', 'P '}; ,则str的字符串长度为(  )。

A.

4

B.

5

C.

19

D.

20

第 13 题    单选题

定义整型变量int a=3, b=16 ,则a |b的值和a+b的关系是(    )。

A.

⼤于

B.

等于

C.

 ⼩于

D.

等于或⼩于

第 14 题    单选题

⼩杨的⽗母最近刚刚给他买了⼀块华为⼿表 ,他说⼿表上跑的是鸿蒙 ,这个鸿蒙是(  )。

A.

⼩程序

B.

计时器

C.

操作系统

D.

神话⼈物

第 15 题    单选题

中国计算机学会(CCF)在2024年1⽉27⽇的颁奖典礼上颁布了王选奖 ,王选先⽣的重⼤贡献是

A.

制造⾃动驾驶汽车

B.

创⽴培训学校

C.

发明汉字激光照排系统

D.

成⽴⽅正公司

判断题
第 16 题    判断题

任意整数a的⼆进制反码与补码都有1位不同 。 (      )

A.
正确
B.
错误
第 17 题    判断题

对整型变量int a = 3 ,执⾏C++代码a<<2 将把2输出到a中 。(      )

A.
正确
B.
错误
第 18 题    判断题

下⾯C++代码可以计算1到100的累加和 ,采⽤的是穷举法。

1 int main()
2 {
3  int i,sum=0;
4  for(int i = 1; i <= 100 ; i++)
5    sum += i;
6  cout << sum  << endl;
7
8  cout << endl;
9  return 0;
10 }
A.
正确
B.
错误
第 19 题    判断题

⼀个int类型变量a ,执⾏操作 (a<<2>>2) 后的值⼀定是a。  (  )

A.
正确
B.
错误
第 20 题    判断题

在C++语⾔中, (010<<1) 执⾏结果是100 。  (  )

A.
正确
B.
错误
第 21 题    判断题

执⾏下⾯C++代码后将输出2  。(  )

1 int main( )
2 {
3  string str="gEsP is Interesting";
4  int x = str.find("s");
5
6  cout << x << endl;
7
8  cout << endl;
9  return 0;
10 }
A.
正确
B.
错误
第 22 题    判断题

在C++语⾔中 ,字符数组被定义时 ,它的⼤⼩可以调整 。  (  )

A.
正确
B.
错误
第 23 题    判断题

对定义的数组 int a[7]={2,0,2,4,3,1,6} ,可以⽤简单循环就找到其中最⼩的整数 。  (  )

A.
正确
B.
错误
第 24 题    判断题

⼩杨今年春节回奶奶家了 ,奶奶家的数字电视要设置ip地址并接⼊到WIFI盒⼦才能收看节⽬ ,那这个WIFI盒 ⼦具有路由器的功能 。  (  )

A.
正确
B.
错误
第 25 题    判断题

任何⼀个for循环都可以转化为等价的while循环

A.
正确
B.
错误
编程题
第 26 题    问答题

试题名称:字母求和

3.1.1 题面描述

小杨同学发明了一种新型密码,对于每一个小写英文字母,该小写字母代表了一个正整数,即该字母在字母顺序中的位置,例如字母a代表了正整数1,字母b代表了正整数2;对于每一个大写英文字母,该大写字母代表了一个负整数,即该字母的ASCII码的相反数,例如字母A代表了正整数-65。小杨同学利用这种方式对一个整数进行了加密并得到了一个由大写字母和小写字母组成的字符串,该字符串中每个字母所代表数字的总和即为加密前的整数,例如aAc对应的加密前的整数为 1+(-65)+3=-61。

对于给定的字符串,请你计算出它对应的加密前的整数是多少。

3.1.2 输入格式

第一行一个正整数n,表示字符串中字母的个数。

第二行一个由大写字母和小写字母的字符串T ,代表加密后得到的字符串。

3.1.3 输出格式

输出一行一个整数,代表加密前的整数。

3.1.4 样例1

对于全部数据,保证有1≤n≤105 。

第 27 题    问答题

试题名称:完全平方数

3.2.1 题面描述

小杨同学有一个包含n个非负整数的序列A,他想要知道其中有多少对下标组合

i, j(1≤i,j≤n,i<j),使得Ai+Aj是完全平方数。

如果x是完全平方数,则存在非负整数y使得y×y=x。

3.2.2 输入格式

第一行一个非负整数n,表示非负整数个数。

第二行包含n个非负整数A1 ,A2,……,An,表示序列A包含的非负整数。

3.2.3 输出格式

输出一个非负整数,表示和是完全平方数的非负整数对数。

3.2.4 样例1

对于全部数据,保证有1≤n≤1000,0≤Ai≤105

答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
编程题
26 27
题目总数:27
总分数:100
时间:120分钟