最好用电脑,谷歌浏览器做题; 页面打开不要超过1天,不然就失效了。

202403C语言3级


1.单选题

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++代码执⾏后的输出是()。
int main()
{
    cout << (3|16) << endl;
    cout << endl;
    return 0;
}


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++代码后,输出是()。
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;
}


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;
}


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;
}


A.20

B.19

C.1

D.不确定

8.在下列代码的横线处填写(),可以使得输出是 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;
}


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;
}


A.1

B.2

C.3

D.4

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


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;
}


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.成⽴⽅正公司
 

2.判断题

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


A.正确

B.错误
 

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


A.正确

B.错误
 

3.下⾯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;
}


A.正确

B.错误

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


A.正确

B.错误

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


A.正确

B.错误

6.执⾏下⾯C++代码后将输出 2 。 ( )
int main()
{
    string str="gEsP is Interesting";
    int x = str.find("s");
    cout << x << endl;
    cout << endl;
    return 0;
}


A.正确

B.错误

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


A.正确

B.错误

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


A.正确

B.错误

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


A.正确

B.错误

10.任何⼀个 for 循环都可以转化为等价的 while 循环。( )


A.正确

B.错误

3.编程题

1.字母求和
 
⼩杨同学发明了⼀种新型密码,对于每⼀个⼩写英⽂字母,该⼩写字母代表了⼀个正整数,即该字母在字母顺序中
的位置,例如字母 a 代表了正整数 1,字母 b 代表了正整数 2;对于每⼀个⼤写英⽂字母,该⼤写字母代表了⼀个负
整数,即该字母的 ASCII 码的相反数,例如字母 A 代表了负整数-65。⼩杨同学利⽤这种⽅式对⼀个整数进⾏了加密
并得到了⼀个由⼤写字母和⼩写字母组成的字符串,该字符串中每个字母所代表数字的总和即为加密前的整数,例
如 aAc 对应的加密前的整数为 1+(-65)+3=-61。
对于给定的字符串,请你计算出它对应的加密前的整数是多少。
输入格式
 
第⼀⾏⼀个正整数 ,表⽰字符串中字母的个数。
第⼆⾏⼀个由⼤写字母和⼩写字母的字符串T,代表加密后得到的字符串。
输出格式
 
输出⼀⾏⼀个整数,代表加密前的整数。
样例1
 
3
aAc
-61
对于全部数据,保证有1





2.完全平⽅数

题面描述
 
⼩杨同学有⼀个包含n个⾮负整数的序列A,他想要知道其中有多少对下标组合<i,j>(1<=i,j<=n, i<j) ,使得Ai+Aj是完全平⽅数。如果x是完全平⽅数,则存在⾮负整数y使得y x y=x。

输入格式
 
第⼀⾏⼀个⾮负整数n,表⽰⾮负整数个数。
第⼆⾏包含n个⾮负整数A1,A2...An,表⽰序列A  包含的⾮负整数。

输出格式
 
输出⼀个⾮负整数,表⽰和是完全平⽅数的⾮负整数对数。

样例1
 
5
1 4 3 3 5

3

对于全部数据,保证有1<=n<=1000, 0<=Ai<=10^5。







`

1.单选题
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
2.判断题
1 2 3 4 5
6 7 8 9 10
3.编程题
1 2