1.switch语句
- switch语句可以处理多分支问题
- 搭配使用break语句
- default语句可以省略,如果省略了default,当表达式的值与任何一个常量表达式的值都不相等时,就什么都不执行
2.switch (表达式) {
case 常量表达式1 : 语段1 ;break ;
case 常量表达式2 : 语段2 ;break ;
...
case 常量表达式n : 语段n ;break ;
default : 语段n+1 ;break ;
3.break语句
switch (表达式) {
case 常量表达式1 : 语段1 ;
case 常量表达式2 : 语段2 ;
...
case 常量表达式n : 语段n ;
default : 语段n+1 ;
如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的所有的语句段。
4.嵌套的另一种if-else语句(对系列三的补充)
if( 表达式1)
if(表达式2)语句1;
else 语句2;
else
if(表达式3)语句3;
else 语句4;
#include<stdio.h>
int main()
{
int choice ,i;
double price;
for(i=1;i<=5;i++)
{
printf("[1]Select crisps\n");
printf("[2]Select popcorn\n");
printf("[3]Select chocolate\n");
printf("[4]Select cola\n");
printf("[0]exit \n");
printf("Enter choice: ");
scanf("%d",&choice);
if(choice==0)
break;
switch(choice){
case1:price=3.0;break;
case2:price=2.5;break;
case3:price=4.0;break;
case4:price=3.5;break;
default:price=0.0;break;
}
printf("price=%0.1f\n",price);
}
printf("Thanks\n");
return 0;
}
[1]Select crisps
[2]Select popcorn
[3]Select chocolate
[4]Select cola
[0]exit
Enter choice: 1
price=0.0
[1]Select crisps
[2]Select popcorn
[3]Select chocolate
[4]Select cola
[0]exit
Enter choice: 7
price=0.0
[1]Select crisps
[2]Select popcorn
[3]Select chocolate
[4]Select cola
[0]exit
Enter choice: 0
Thanks
#include<stdio.h>
int main()
{
int blank,digit,i,other;
char ch;
blank=digit=other=0;
printf("Enter 10 characters:");
for(int i=1;i<=10;i++)
{
ch=getchar();
switch(ch){
case' ':
case'\n':
blank++;
break;
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
digit++;
break;
default:other++;
break;
}
}
printf("blank=%d,digit=%d,other=%d\n",blank,digit,other);
return 0;
}
Enter 10 characters:Reold 123?
blank=1,digit=3,other=6