GESP2024年3月C++语言三级答案(均为自己的想法,C++没学太多,有不对的地方欢迎指正)

选择题(每题2分,共30分)

第 1 题 整数-5的16位补码表示是(D)。

A. 1005 B. 1006 C. FFFA D. FFFB

解析:0是FFFF,用0-5(即FFFF-5)得到是FFFB。

第 2 题 如果16位短整数-2的二进制是“FFFE”,则短整数-4的值是(C)。

A. FF04 B. FFFA C. FFFC D. FFFH

解析:FFFF-FFFE=1(2-1),那么FFFF-(4-1)=FFFC

第 3 题 下面C++代码执行后的输出是(C)。

 int main()
 {
     cout << (3|16) << endl;
     cout << endl;
     return 0;
 }

A. 3   B. 16   C. 19   D. 48

解析:3的二进制是11;

     16的二进制是1000;

或以下就是         1011。

(1011)_{2}=(19)_{10},所以选C。

第 4 题 定义整数 int x=-5 ,则执行C++代码 cout<< (x==(x<<1>>1); 输出是(B)。

A. 0     B. 1      C. -5      D. 5 

解析:-5=1101,左移后变为1010,右移后变为1101(算术移位),1101=1101,所以选B。

第 5 题 已知字符'0'的ASCII编码的十进制表示为48,则执行下面C++代码后,输出是(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

解析:三位,先用48×3=144,再用144+3+6+1=154,选C。

第 6 题 下⾯C++代码执行后数组中大于0的数的特征是(C)。

 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++代码后输出的第一个数是(A

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值