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 1:
printf("星期⼀\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;
}
上述的代码中,我们要注意的点有:
- case 和后边的数字之间必须有空格
- 每⼀个 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 ⼦句放在最后处理的。
今天先写到这里把,后面的循环下次再写。