1. 航空字母读法
在航空通讯中,经常会出现信号失真和衰落现象,再加上人们口音的不同,很容易发生误听差错。尤其是在26个英文字母中,如BD、 PT、GJ、SX等读音相似的最容易被听错。为此,在航空通讯中,常把一个字母,读成一个对应的单词。
例如:B读成bravo,D读成delta。
下表为字母A到G的航空字母读法:
字母 | 读法 |
---|---|
A | alpha |
B | bravo |
C | charlie |
D | delta |
E | echo |
F | foxtrot |
G | golf |
2. 字符到航空字母单词转换
需求:
编写一个程序,输入字母,输出航空字母单词。
很显然这个程序可以使用if
嵌套来写。为了简单清晰,我们省略if
的括号,写成else if
的形式。
#include <stdio.h>
int main()
{
char c;
scanf("%c", &c);
if(c == 'a')
printf("alpha\n");
else if (c == 'b')
printf("bravo\n");
else if (c == 'c')
printf("charlie\n");
else if (c == 'd')
printf("delta\n");
else if (c == 'e')
printf("echo\n");
else if (c == 'f')
printf("foxtrot\n");
else if (c == 'g')
printf("golf\n");
else
printf("i don't know\n");
return 0;
}
3. switch语句
除了用if
嵌套,C语言还提供switch
语句,switch
更适合这种情形,可以使得代码更加清晰明了。
#include <stdio.h>
int main()
{
char c;
scanf("%c", &c);
switch(c)
{
case 'a':
printf("alpha\n");
break;
case 'b':
printf("bravo\n");
break;
case 'c':
printf("charlie\n");
break;
case 'd':
printf("delta\n");
break;
case 'e':
printf("echo\n");
break;
case 'f':
printf("foxtrot\n");
break;
case 'g':
printf("golf\n");
break;
default:
printf("i don't know\n\n");
}
return 0;
}
我们来看一下switch
的使用公式:
switch(整型表达式)
{
case 整型常量1:
语句
case 整型常量2:
语句
case 整型常量3:
语句
case 整型常量4:
语句
case 整型常量5:
语句
default:
语句
...
}
字符型也是一种整型。
switch的跳转步骤:
switch
会先计算括号内的整型表达式结果。- 依次对比
case
中的常量,是否等于整型表达式的结果。 - 若不相等,对比下一个
case
。 - 若相等,跳转到这个
case
。 - 若没有相等的,跳转到
default
。
swtich语句的几个注意事项:
switch
后面的括号里面只能填一个整型表达式。case
后的常量不能有重复的。- 可以没有
default
。