#8117. 「GESP23.12二级」选择题和判断题 暂未评定

时间限制:1000 ms 内存限制:128 MiB 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: root

注意

出题人配置了 Special Judge 程序。本题答案可能不唯一或者题目有特殊要求,请注意审题。

题目描述

1 单选题(每题 2 分,共 30 分)

第 1 题 以下不可以做为C++变量的是( )。
A. FiveStar
B. fiveStar
C. 5Star
D. Star5

第 2 题 在C++中,与 for(int i = 10; i < 20; i +=2) cout << i; 输出结果相同的是( )。
A. for(int i = 10; i < 19; i +=2) cout << i;
B. for(int i = 11; i < 19; i +=2) cout << i;
C. for(int i = 10; i < 21; i +=2) cout << i;
D. 以上均不对

第 3 题 以下 C++ 代码实现从小到大的顺序输出能整除N的数(N 的因子),例如 N=18 时输出1 2 3 6 9 18,
横线处应填入( )。
cin >> N;
for (________________)
    if (N % i == 0)
        cout << i << " ";
A. int i = 0; i < N; i++
B. int i = 1; i < N; i++
C. int i = 0; i < N+1; i++
D. int i = 1; i < N+1; i++

第 4 题 下面C++代码用于判断输入的整数是否为对称数,如1221、12321是对称数,但123、972不是对称数。下面
对该题对应代码的说法,正确的是( )。
cin >> N;
newNum = 0;
while(N) {
    newNum = newNum * 10 + N % 10;
    N = N / 10;
}
if (newNum == N)
    cout << N << "为对称数";

A. 代码没有语法错误,如果N为对称数,第8行将能正确输出。
B. 代码没有语法错误,但如果N为负数,将导致死循环。
C. 代码存在语法错误,程序不能被执行。
D. 代码没有语法错误,但不能达到预期目标,因为循环结束N总为0。

第 5 题 下面C++代码用于判断N(大于等于2的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是(  )。
cin >> N;
for (i = 2; i < N/2; i++) 
    if (N % i == 0) {
        cout << N << " 不是质数";
        break;
    }
if (i >= N/2)
    cout << N << " 是质数";

A. 代码能正确判断N是否为质数。
B. 代码总是不能判断N是否质数。
C. 删除第5行 break ,将能正确判断N是否质数。
D. 代码存在漏洞,边界存在问题,应将第2行和第7行的 N / 2 改为 N / 2 + 1 。

第 6 题 下面C++代码执行后的输出是( )。
N = 4;
for (int i = 0; i < N; i++) {
    for (int j = 1; j < i; j++) 
        if (i * j % 2 == 0)
            cout << i << "#";
        continue;
}
cout << "0";

A. 2#3#0
B. 1#2#0
C. 1#0#
D. 2#3#

第 7 题 下面C++代码执行后的输出是( )。
cnt = 0;
for (i = 1; i < 10; i++)
    for (j = 1; j < i; j += 2)
        if (i * j % 2 == 0) {
            cnt++;
            break;
        }
if (i >= 10) cout << cnt << "#";
cout << cnt;

A. 0
B. 8#8
C. 4
D. 4#4

第 8 题 下面C++代码执行后的输出是( )。
N = 100;
while (N > 0) 
    if (N % 2)
        break;
    else if (n % 3 == 0)
        N -= 5;
    else
        N -= 20;
cout << N;

A. 100
B. 95
C. 55
D. 0

第 9 题 下面C++代码执行后的输出是( )。
x = 1;
while (x < 100) {
    if (x % 3 != 0)
        cout << x << ",";
    else if (x / 10)
        break;
    x += 2;
}
cout << x;
   
A. 1
B. 1,3
C. 15,17
D. 1,10,12

第 10 题 下面C++代码执行后的输出是( )。
cnt = 0;
for (i = 0; i < 5; i ++)
    for (j = 0; j < i; j ++)
        cnt += 1;
cout << cnt;

A. 5
B. 10
C. 20
D. 30

第 11 题 以下C++代码用于输出1-100(含)的整数平方数(完全平方数),如16是4的平方,横线处应填写( )。
for (i = 1; i < 100+1; i +)
    if (______________)
        cout << i << " ";

A. int(sqrt(i)) * int(sqrt(i)) = i
B. int(sqrt(i)) == sqrt(i)
C. int(sqrt(i)) * int(sqrt(i)) == i
D. int(sqrt(i)) = sqrt(i)
第 12 题 下面的C++代码用于实现如下左图所示的效果,应在以下右图C++代码中填入( )。
A. 与第8行下面填入一行: cout << nowNum;
B. 与第2行下面填入一行: cout << endl;
C. 与第7行下面填入一行: cout << nowNum;
D. 与第9行下面填入一行: cout << endl;

第 13 题 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动
选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
A. 麦克风
B. 扬声器
C. 油量表
D. 传感器

第 14 题 现代计算机是指电子计算机,它所基于的是( )体系结构。
A. 艾伦·图灵
B. 冯·诺依曼
C. 阿塔纳索夫
D. 埃克特-莫克利

第 15 题 输入一个正整数N,想找出它所有相邻的因数对,比如,输入12,因数对有(1,2)、(2,3)、(3,4)。下面哪段代
码找不到所有的因数对?( )
A. for(i=1;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
B. for(i=2;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
C. for(i=2;i<N/2;i++) if(!(N%(i-1)) && !(N%i)) printf("(%d,%d)\n", i-1, i);
D. for(i=1;i<N/2;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);

2 判断题(每题 2 分,共 20 分)

第 1 题 C++表达式 -7/2 的值为整数-3。( )
第 2 题 C++表达式 2*int('9')*2 的值为36。( )
第 3 题 C++表达式 3+2 && 5-5 的值为false。( )
第 4 题 在C++代码中,执行 srand(0) 后连续两次执行 rand() 的结果相等。 ( )
第 5 题 C++代码中 while(1){...} 的判断条件不是逻辑值,将导致语法错误。( )
第 6 题 执行以下C++代码后将输出0。( )
Sum = 0;
for (i = -500; i < 500; i ++)
    Sum += i;
cout << Sum;
第 7 题 在C++代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。( )
第 8 题 在C++代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( )
第 9 题 小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。( )
第 10 题 任何一个 while 循环都可以转化为等价的 for 循环( )。

输入格式

输出格式

请使用输出语句输出每个题目的答案,答案之间换行隔开。

Tips: 选择题答案用大写, A、B、C 或 D, 判断题用 T(正确) 或 F(错误)来表示。

样例

样例输入

样例输出

A
B
C
D
...
T
F
...

样例解释

样例输出仅是答案的输出格式,并不是答案!