第一部分:选择题
1、C++ L6 (15分)
关于switch语句,以下说法错误的是( )。
A. 在包含break的情况下,各case和default子句的先后顺序变动不影响程序的运行结果。
B. default后面的break语句可以省略。
C. case后面必须是常量或常量的表达式,不可以是变量。
D. case语句的冒号后面必须至少有一条语句。
正确答案:D
2、C++ L6 (15分)
执行以下代码后的结果是( ):
int grade = 80;
switch (grade / 10) {
case 10:
case 9:
cout << "A";
break;
case 8:
case 7:
cout << "B";
break;
case 6:
cout << "C";
break;
default:
cout << "D";
}
A. A
B. B
C. C
D. D
正确答案:B
3、C++ L6 (20分)
执行以下程序后,输出结果是( )。
int n = 2, sum = 0;
char c = 'B';
switch (n)
{
case 1:
sum = 10;
switch (c)
{
case 'A': sum += 10; break;
case 'B': sum += 8; break;
case 'C': sum += 6; break;
default: sum += 5;
}
break;
case 2:
sum = 8;
switch (c)
{
case 'A': sum += 5; break;
case 'B':
case 'C': sum += 1;
}
break;
default:
sum = 6;
}
cout << sum;
A. 13
B. 9
C. 8
D. 7
正确答案:B
第二部分:编程题
4、C++ L6 东南西北的英文单词(50分)
题目名称:东南西北的英文单词
题目描述:
小蓝刚学完了东南西北4个方向的英文单词,为了加强记忆,想编写一个程序。当输入某个方向的英文单词的首字母,程序就输出对应的完整英文单词。例如:
输入字母 E 或者e ,则输出 East;
输入字母 S 或者 s ,则输出 South;
输入字母 W 或者 w,则输出 West;
输入字母 N 或者 n ,则输出 North;
输入其他字母,则输出 Wrong。
请你帮助小蓝设计这个程序。
输入:
输入一个字母,表示某个方向的英文单词首字母。
输出:
按照题目描述,输出对应方向的完整英文单词(注意:单词的首字母大写)。
输入样例:
S
输出样例:
South
参考程序:
#include<iostream>
using namespace std;
int main()
{
char c;
cin >> c;
switch (c)
{
case 'E':
case 'e':
cout << "East";
break;
case 'S':
case 's':
cout << "South";
break;
case 'W':
case 'w':
cout << "West";
break;
case 'N':
case 'n':
cout << "North";
break;
default:
cout << "Wrong";
}
return 0;
}
测试数据:
1.in
S
1.out
South
2.in
a
2.out
Wrong
3.in
e
3.out
East
4.in
N
4.out
North
5.in
w
5.out
West