2024年3月 GESP C++ 3级认证考试真题(含编程操作题部分)
选 单选题(共 15 题,每题 2 分)
整数-5的16位补码表⽰是( )。
如果16位短整数-2的二进制是"FFFE",则短整数-4的十六进制是( )。
下面C++代码执行后的输出是( )。
int main()
{
cout << (3|16) << endl;
cout << endl;
return 0;
}
定义整数int x=-5,则执行C++代码cout << (x == (x<<1>>1))输出是( )。
已知字符'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;
}
下面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] << " ";
15
cout << endl;
return 0;
}
执行下面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;
}
在下列代码的横线处填写( ),可以使得输出是GESP IS INTERESTING。
int main()
{
string str="gEsP is Interesting";
int x = str.length();
for(int i = 0; i < x; i++)
if ((str[i]>='a') && (str[i]<='z'))
________________________;
cout << str << endl;
cout << endl;
return 0;
}
假设英文句⼦由若⼲词构成。下面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;
}
C++的字符变量的码值是整数,下面字面量形式的字符码值最大的是( )。
下面C++程序执行的结果是( )。
int main()
{
int a[20],i;
int cnt=0;
for(i = 0; i < 20; i++)
a[i] = i+1;
8
for( ; i > 1; i--)
if((a[i-1]+a[i-2])%3)
cnt++;
cout << cnt << endl;
cout << endl;
return 0;
}
定义字符数组char str[20] = {'G', 'E', 'S', 'P'};,则str的字符串长度为( )。
定义整型变量int a=3, b=16,则a|b的值和a+b的关系是( )。
小杨的⽗母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是( )。
中国计算机学会(CCF)在2024年1月27⽇的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。
判 判断题(共 10 题,每题 2 分)
任意整数a的二进制反码与补码都有1位不同。 ( )
对整型变量int a = 3,执行C++代码a<<2将把2输出到a中。( )
下面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;
}
一个int类型变量a,执行操作(a<<2>>2)后的值一定是a。( )
在C++语⾔中,(010<<1)执行结果是100。( )
执行下面C++代码后将输出2。( )
int main()
{
string str="gEsP is Interesting";
int x = str.find("s");
cout << x << endl;
cout << endl;
return 0;
}
在C++语⾔中,字符数组被定义时,它的大小可以调整。( )
对定义的数组int a[7]={2,0,2,4,3,1,6},可以用简单循环就找到其中最小的整数。( )
小杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接入到WIFI盒⼦才能收看节目,那这个WIFI盒
⼦具有路由器的功能。( )
任何一个for循环都可以转化为等价的while循环( )。
编 编程操作题(共 2 题,共 50 分)
试题名称:字母求和
输入格式
第⼀⾏⼀个正整数 ,表⽰字符串中字母的个数。
第⼆⾏⼀个由⼤写字母和⼩写字母的字符串 ,代表加密后得到的字符串。
输出格式
输出⼀⾏⼀个整数,代表加密前的整数。
3.1.4 样例1
1 3
2 aAc
1 -61
对于全部数据,保证有 。
试题名称:完全平⽅数
输入格式
第⼀⾏⼀个⾮负整数 ,表⽰⾮负整数个数。
第⼆⾏包含 个⾮负整数 ,表⽰序列 包含的⾮负整数。
输出格式
输出⼀个⾮负整数,表⽰和是完全平⽅数的⾮负整数对数。
3.2.4 样例1
1 5
2 1 4 3 3 5
1 3
对于全部数据,保证有 。