[GESP202403三级]试卷

阅读量: 76 编辑
2024年3月

GESP CCF 编程能力等级认证  C++编程 三级试卷 

选择题和判断题

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

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

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

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

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

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

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;

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

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

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

10、C++的字符变量的码值是整数,下面字面量形式的字符码值最大的是( )。

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

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

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

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

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

16、下面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;
}

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

18、在C++语言中, (010<<1) 执行结果是 100 。( )

19、执行下面C++代码后将输出 2 。( )

int main() {
    string str = "gEsP is Interesting";
    int x = str.find("s");
    cout << x << endl;
    cout << endl;
    return 0;
}

20、在C++语言中,字符数组被定义时,它的大小可以调整。( )

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

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

爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司