#1608. 第七讲客观题
第七讲客观题
一、选择题(每题只有一个正确答案)
- 执行以下代码后,x的值是多少?
 
int num = 2, x = 0;
switch (num) {
    case 1: 
        x += 1;
    case 2: 
        x += 2;
    case 3: 
        x += 3;
    default: 
        x += 4;
}
{{ select(1) }}
- 2
 - 5
 - 9
 - 0
 
- 哪个switch表达式是错误的?
 
{{ select(2) }}
- switch(5)
 - switch('A')
 - switch(3.14)
 - switch(10 - 7)
 
- 下列代码的输出是什么?
 
char c = 'B';
switch(c) {
    case 'A':
        cout << "Apple";
    case 'B':
        cout << "Banana";
    case 'C':
        cout << "Cherry"; break;
    default:
        cout << "Unknown";
}
{{ select(3) }}
- Banana
 - BananaCherry
 - BananaCherryUnknown
 - Unknown
 
- 关于default语句,正确的是:
 
{{ select(4) }}
- 必须写在所有case前面
 - 必须写在所有case后面
 - 可以写在任意位置(前面/中间/后面)
 - 每个switch必须包含default
 
- 下列哪个case写法是错误的?
 
{{ select(5) }}
- case 1+2:
 - case 'a':
 - case "apple":
 - case 5:
 
二、判断题(正确打√,错误打×)
- break语句用于终止当前case并跳出整个switch块。 ( )
 
{{ select(6) }}
- 正确
 - 错误
 
- case后面可以跟变量,如:int n=2; case n: ...。 ( )
 
{{ select(7) }}
- 正确
 - 错误
 
- 多个连续的case可以共享同一段代码,当值为1或2时都会输出"OK"。 ( )
 
{{ select(8) }}
- 正确
 - 错误
case 1: case 2: cout << "OK"; break; 
- switch( )括号中可以写字符串,如switch("hello")。 ( )
 
{{ select(9) }}
- 正确
 - 错误
 
- default语句没有匹配值时一定会执行。 ( )
 
{{ select(10) }}
- 正确
 - 错误
 
- switch括号内允许的类型是整型(int)、字符型(char)。
 
{{ select(11) }}
- 正确
 - 错误
 
三、填空题
- 以下代码的输出是{{ input(12) }}
 
int day = 3;
switch (day) {
    case 1: 
        cout << "Mon"; 
        break;
    case 3: 
        cout << "Wed"; 
    case 5: 
        cout << "Fri";
}
- 补全代码:当color为'R'或'r'时输出"Red":
 
char color = 'r';
switch( _____①_____ ) {
    _____②_____ 'R':
    _____③_____ 'r':
        cout << "Red";
        _____④_____;
}
①{{ input(13) }}
②{{ input(14) }}
③{{ input(15) }}
④{{ input(16) }}
- 小明想写一份代码,把1转换成One,把2转换成Two。
 
现在他把代码写好了,如下所示。但是代码有点问题,把1转换成了OneTwo。
请你分析一下,以下代码缺少{{ input(17) }}导致输出"OneTwo":
int n = 1;
switch(n) {
case 1: 
    cout << "One";
case 2: 
    cout << "Two"; 
    break;
}  // 该代码将会输出"OneTwo"
- 当animal=4时,输出是{{ input(18) }}
 
switch (animal) {
    default: 
        cout << "Unknown"; 
    case 2: 
        cout << "Cat"; 
        break;
    case 4: 
        cout << "Dog";
}