#1853. GESP 2024年3月认证C++三级真题
GESP 2024年3月认证C++三级真题
一、单选题(每题 2 分,共 30 分)
1), 整数-5的16位补码表⽰是( )。 {{ select(1) }}
- A. 1005
- B. 1006
- C. FFFA
- D. FFFB
2), 如果16位短整数 -2 的⼆进制是"FFFE",则短整数 -4 的⼗六进制是( )。 {{ select(2) }}
- A. FF04
- B. FFFA
- C. FFFC
- D. FFFH
3), 下⾯C++代码执⾏后的输出是( )。
int main()
{
cout << (3|16) << endl;
cout << endl;
return 0;
}
{{ select(3) }}
- A. 3
- B. 16
- C. 19
- D. 48
4), 定义整数 int x=-5 ,则执⾏C++代码 cout << (x == (x<<1>>1)) 输出是( )。 {{ select(4) }}
- A. 0
- B. 1
- C. -5
- D. 5
5), 已知字符 '0' 的ASCII编码的⼗进制表⽰为48,则执⾏下⾯C++代码后,输出是( )。
int main()
{
string s="316";
int n=s.length();
int x=0;
for(int i = 0; i < n; i++)
x += s[i];
cout << x << endl;
cout << endl;
return 0;
}
{{ select(5) }}
- A. 10
- B. 58
- C. 154
- D. 316
6), 下⾯C++代码执⾏后数组中⼤于0的数的特征是( )。
int main()
{
int a[20],i;
for(i = 0; i < 20; i++)
a[i] = i+1;
for(int i = 0; i < 20; i++)
if((a[i]%2)&&(a[i]%3))
a[i] = 0;
for(i = 0; i < 20; i++)
if(a[i])
cout << a[i] << " ";
cout << endl;
return 0;
}
{{ select(6) }}
- A. 2的倍数
- B. 3的倍数
- C. 能被2或3整除的数
- D. 能被2和3同时整除的数
7), 执⾏下⾯C++代码后输出的第⼀个数是( )。
int main()
{
int a[20],i;
for(i = 0; i < 20; i++)
a[i] = i+1;
for( ; i > 0; i--)
cout << a[i-1] << " ";
cout << endl;
return 0;
}
{{ select(7) }}
- A. 20
- B. 19
- C. 1
- D. 不确定
8), 在下列代码的横线处填写( ),可以使得输出是 GESP IS INTERESTING 。
int main()
{
string str="gEsP is Interesting";
int x = str.length();
GESP IS INTERESTING 。
for(int i = 0; i < x; i++)
if ((str[i]>='a') && (str[i]<='z'))
________________________;
cout << str << endl;
cout << endl;
return 0;
}
{{ select(8) }}
- A. str[i] += 'a' - 'A'
- B. str[i] += 20
- C. str[i] += 'A' - 'a'
- D. ⽆法实现
9), 假设英⽂句⼦由若⼲词构成。下⾯C++代码统计输出的词数是( )。
int main()
{
string str="gEsP is Interesting !";
int x = str.length();
int nwords = 0;
for(int i = 0; i < x; i++)
if (str[i]==' '){
nwords++;
while(str[++i]==' ') ;
}
cout << nwords << endl;
cout << endl;
return 0;
}
{{ select(9) }}
- A. 1
- B. 2
- C. 3
- D. 4
10), C++的字符变量的码值是整数,下⾯字⾯量形式的字符码值最⼤的是( )。 {{ select(10) }}
- A. 100
- B. 075
- C. 0x70
- D. 0x60
11), 下⾯C++程序执⾏的结果是( )。
int main()
{
int a[20],i;
int cnt=0;
for(i = 0; i < 20; i++)
a[i] = i+1;
for( ; i > 1; i--)
if((a[i-1]+a[i-2])%3)
cnt++;
cout << cnt << endl;
cout << endl;
return 0;
}
{{ select(11) }}
- A. 5
- B. 6
- C. 10
- D. 12
12), 定义字符数组 char str[20] = {'G', 'E', 'S', 'P'}; ,则 str 的字符串长度为( )。 {{ select(12) }}
- A. 4
- B. 5
- C. 19
- D. 20
13), 定义整型变量 int a=3, b=16 ,则 a|b 的值和 a+b 的关系是( )。 {{ select(13) }}
- A. ⼤于
- B. 等于
- C. ⼩于
- D. 等于或⼩于
14), ⼩杨的⽗母最近刚刚给他买了⼀块华为⼿表,他说⼿表上跑的是鸿蒙,这个鸿蒙是( )。 {{ select(14) }}
- A. ⼩程序
- B. 计时器
- C. 操作系统
- D. 神话⼈物
15), 中国计算机学会(CCF)在2024年1⽉27⽇的颁奖典礼上颁布了王选奖,王选先⽣的重⼤贡献是( )。 {{ select(15) }}
- A. 制造⾃动驾驶汽车
- B. 创⽴培训学校
- C. 发明汉字激光照排系统
- D. 成⽴⽅正公司
二、判断题(每题 2 分,共 20 分)
16), 任意整数 a 的⼆进制反码与补码都有1位不同。 ( ) {{ select(16) }}
- true
- false
17), 对整型变量 int a = 3 ,执⾏C++代码 a<<2 将把2输出到 a 中。( ) {{ select(17) }}
- true
- false
18), 下⾯C++代码可以计算1到100的累加和,采⽤的是穷举法。
int main()
{
int i,sum=0;
for(int i = 1; i <= 100 ; i++)
sum += i;
cout << sum << endl;
cout << endl;
return 0;
}
{{ select(18) }}
- true
- false
19), ⼀个 int 类型变量 a ,执⾏操作 (a<<2>>2) 后的值⼀定是 a 。( ) {{ select(19) }}
- true
- false
20), 在C++语⾔中, (010<<1) 执⾏结果是 100 。( ) {{ select(20) }}
- true
- false
21), 执⾏下⾯C++代码后将输出 2 。( )
int main()
{
string str="gEsP is Interesting";
int x = str.find("s");
cout << x << endl;
cout << endl;
return 0;
}
{{ select(21) }}
- true
- false
22), 在C++语⾔中,字符数组被定义时,它的⼤⼩可以调整。( ) {{ select(22) }}
- true
- false
23), 对定义的数组 int a[7]={2,0,2,4,3,1,6}
,可以⽤简单循环就找到其中最⼩的整数。( ) {{ select(23) }}
- true
- false
24), ⼩杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接⼊到WIFI盒⼦才能收看节⽬,那这个WIFI盒 {{ select(24) }}
- true
- false
25), 任何⼀个 for 循环都可以转化为等价的 while 循环( )。 {{ select(25) }}
- true
- false