if...else和switch语句介绍

1. if语句

1.1if

if语句的语法形式如下:
在这里插入图片描述
举例:当我们输入一个数字时如何判断是否为奇数?
这里我们可以用到if语句进行判断

代码详解:

#include <stdio.h>
int main()
{
 int num=0;
 scanf("%d",&num);//输入数字
 if(num%2==1)//条件判断,除2余数为1的为奇数
   printf("%d是奇数\n",num);
 return 0;
}

使用if语句时,若if里面的条件表达式为真则执行语句,否则不执行。
(C语言中,0为假,非0为真)

1.2 else

接着上面的举例,判断一个数是奇数还是偶数。很显然,一个正整数不是奇数就是偶数(0除外)。那就可以在上面代码if语句后加入else语句。
代码详解:

#include <stdio.h>
int main()
{
 int num = 0;
 scanf("%d", &num);
 if(num % 2 == 1) //若满足条件则打印奇数
 printf("%d 是奇数\n", num);
 else            //否则就是偶数
 printf("%d 是偶数\n", num);
 return 0;
}

else总是与if一起连用。在不满足if表达式的情况下程序转到else语句。比如上面判断是否为奇数,数字2很显然不满足if里面表达式的情况,可以添加else语句继续执行,输出偶数。让程序输出更加灵活。

else总是与最近的if语句匹配

2.switch语句

2.2switch语句格式:在这里插入图片描述

编程时,在有很多结果时,我们可以使用switch语句进行条件匹配。switch语句是一种特殊的if…else语句,不过switch语句更易⽤、可读性更好。
比如,输入1-7其中的一个数字,对应出来新星期几。我们可以用switch语句实现。
输⼊:1 输出:星期⼀
输⼊:2 输出:星期⼆
输⼊:3 输出:星期三
输⼊:4 输出:星期四
输⼊:5 输出:星期五
输⼊:6 输出:星期六
输⼊:7 输出:星期天

#include <stdio.h>
int main()
{
 int day = 0;
 scanf("%d", &day);
 switch(day)
 {
 case 1printf("星期⼀\n");
 break;
 case 2:
 printf("星期⼆\n");
 break;
 case 3:
 printf("星期三\n");
 break; 
 case 4:
 printf("星期四\n");
 break; 
 case 5:
 printf("星期五\n");
 break;
 case 6:
 printf("星期六\n");
 break;
 case 7:
 printf("星期天\n"); 
 break;
 }
 return 0;
}

上述的代码中,我们要注意的点有:

  1. case 和后边的数字之间必须有空格
  2. 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。

( 如果某⼀个 case 语句的后边没有 break 语句,代码会继续往下执⾏,有可能执⾏其他 case
语句中的代码,直到遇到 break 语句或者 switch 语句结束。)

所以在 switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。

2.2switch语句中的default

在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊default ⼦句。
例如:

switch (expression) {
 case value1: statement
 case value2: statement
 default: statement
}

switch 后边的 expression 的结果不是 value1 ,也不是 value2 的时候,就会执⾏default ⼦句。

2.3 switch语句中的case和default的顺序问题

在 switch 语句中 case ⼦句和 default ⼦句有要求顺序吗? default 只能放在最后吗?
其实,在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实际需求的就可以。
不过我们通常是把 default ⼦句放在最后处理的。
今天先写到这里把,后面的循环下次再写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值