#11402. 选择题 test2

类型:提交答案 评测:文本比较 上传者: wyrm

GESP 一级 分支结构选择题【部分】

1. 下面的程序用于判断 N 是否为偶数,横线处应填写代码是 (  )。【2023 GESP 12 月】

cin >> N;
if (________)        
    cout << "偶数";
else
    cout << "奇数";

[ ] A. N % 2 == 0

[ ] B. N % 2 = 0

[ ] C. N % 2

[ ] D. N % 2 != 0


2. 下面 C++ 代码执行后的输出是 (  )。【2023 GESP 9 月】

int m = 14;
int n = 12;
if (m % 2 == 0 && n % 2 == 0) 
    cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)
    cout << "都是奇数";
else
    cout << "不都是偶数或奇数";

[ ] A. 都是偶数

[ ] B. 都是奇数

[ ] C. 不都是偶数或奇数

[ ] D. 以上说法都不正确


3. 当前是9月,编写C++代码求N个月后的月份。横线处应填入的代码是(  )。【2025 GESP 9 月】

int N, M;
cin >> N;
M = ________________;
if (M == 0)
    printf("%d个月后12月",N);
else
    printf("%d个月后是%d", N, M);

[ ] A. N % 12

[ ] B. 9 + N % 12

[ ] C. (9 + N) / 12

[ ] D. (9 + N) % 12


4. 下面的程序用于判断输入的整数 N 是否为能被 3 整除的偶数,横线处应填写代码是 (  )。【2024 GESP 12 月】

int N;
cin >> N;
if (________)
    cout << "能被3整除的偶数" << endl;
else
    cout << "其他情形" << endl;
cout << endl;

[ ] A. (N % 2) && (N % 3)

[ ] B. (N % 2 == 0) && (N % 3)

[ ] C. (N % 2) && (N % 3 == 0)

[ ] D. (N % 2 == 0) && (N % 3 == 0)


5. 下面 C++ 代码执行后的输出是 (  )。【2023 GESP 9 月】

int m = 7;
if (m / 5 || m / 3)
    cout << 0;
else if (m / 3)
    cout << 1;
else if (m / 5)
    cout << 2;
else
    cout << 3;

[ ] A. 0

[ ] B. 1

[ ] C. 2

[ ] D. 3


6. 下面 C++ 代码执行时输入 10 后,正确的输出是 (  )。【2024 GESP 6 月】

1 int N;
2 cout << "请输入正整数:";
3 cin >> N;
4 if (N % 3) 
5     printf("第5行代码%2d", N % 3);
6 else
7     printf("第6行代码%2d", N % 3);

[ ] A. 第5行代码1

[ ] B. 第6行代码1

[ ] C. 第5行代码 1

[ ] D. 第6行代码 1


7. 下面的C++代码用于求M天后是星期几,两处横线处分别应填入的代码是(  )。【2025 GESP 6 月】

int N, M, D;
cout << "当前星期几?"; // 星期日是0
cin >> N;
cout << "求多少天后?"; // 输入正整数
cin >> M;

D = ___________;
if (___________)
    printf("%d天后是星期日", M);
else
    printf("%d天后是星期%d", M, D);

[ ] A.

(N + M) / 7
D == 0

[ ] B.

(N + M) % 7
D == 0

[ ] C.

(N + M) / 7
D <= 0

[ ] D.

(N + M) % 7
D = 0

8. 下面 C++ 代码执行后,求出几天后星期几。如果星期日则输出"星期天",否则输出形如"星期1"。横线上应填入的代码是 (  )。【2024 GESP 12 月】

int N, nowDay, afterDays;
cout << "今天星期几?" << endl;
cin >> nowDay;
cout << "求几天后星期几?" << endl;
cin >> afterDays;
N = nowDay + afterDays;
if (________)
    printf("星期天");
else
    printf("星期%d", N % 7);  

[ ] A. N % 7 != 0

[ ] B. N % 7 == 0

[ ] C. N == 0

[ ] D. N % 7


9. 下面 C++ 代码执行时输入 14+7 后,正确的输出是 (  )。【2024 GESP 9 月】

1 int P;
2 printf("请输入正整数P:");
3 scanf("%d", &P);
4 if (P % 3 || P % 7) 
5     printf("第5行代码%d, %d", P % 3, P % 7);
6 else
7     printf("第7行代码%2d", P % 3 && P % 7);

[ ] A. 第5行代码2, 0

[ ] B. 第5行代码1, 0

[ ] C. 第7行代码 1

[ ] D. 第7行代码 0


10. 下面 C++ 代码执行时输入 21 后,有关描述正确的是 (  )。【2024 GESP 3 月】

1 int N;
2 cin >> N;
3 if (N % 3 == 0) 
4     cout << "能被3整除";
5 else if (N % 7 == 0)
6     cout << "能被7整除";
7 else
8     cout << "不能被3和7整除";
9 cout << endl; 

[ ] A. 代码第 4 行被执行

[ ] B. 第 4 和第 7 行代码都被执行

[ ] C. 仅有代码第 7 行被执行

[ ] D. 第 8 行代码将被执行,因为 input() 输入为字符串


11. 下面 C++ 代码执行后的输出是 (  )。【2023 GESP 9 月】

int m = 14;
int n = 12;
if (m % 2 && n % 2)
    cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)
    cout << "都是奇数";
else
    cout << "不都是偶数或奇数";

[ ] A. 都是偶数

[ ] B. 都是奇数

[ ] C. 不都是偶数或奇数

[ ] D. 以上说法都不正确


12. 下图所示 C++ 代码对大写字母 'A' 到 'Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组号是?(  )【2023 GESP 12 月】

char c;
while(1) {
    cin >> c;
    if (c == 'q') break;
    switch (c) {
        case 'A': cout << "1"; break;
        case 'B': cout << "3";
        case 'C': cout << "3";
        case 'D': cout << "5"; break;
        case 'E': cout << "5"; break;
        default: cout << "9";
    }
    cout << endl;
}

[ ] A. 3

[ ] B. 3 5

[ ] C. 3 5 9

[ ] D. 以上都不对