一、if语句
if语句可分为4部分:
1>单分支if语句;
2>双分支if语句;
3>多分支if语句;
4>嵌套if语句;
1>基本格式:
if(表达式)
语句块1;
总结:对于单分支if语句比较简单,在程序执行的过程中,只对满足条件的情况进行处理,对于不满足条件的情况不做任何处理。
2>基本格式:
if(表达式)
语句块1;
else
语句块2;
例:判断一个数是否为奇数
#include<stdio.h>
int main()
{
int a;
printf("请输入一个整数:");
scanf("%d", &a);
if (0 == a % 2)
printf("该整数不是奇数/n");
else
printf("该整数是奇数/n");
return 0;
}
总结:双分支if语句在程序执行的过程中,首先判断“条件”的值,若为真(0为假,非0为真),则执行语句块1;反之则执行语句块2。
3>基本格式:
if(表达式)
语句块1;
else if()
语句块2;
else if()
语句块n;
else
语句块n+1;
例:求1-100中所有的奇数
#include<stdio.h>
int main()
{
float a;
printf("输入一个学生的成绩:");
scanf("%f", &a);
if (a >= 90)
printf("该同学成绩为 :优秀 \n");
else if (a >= 80)
printf("该同学成绩为 :良好 \n");
else if (a >= 70)
printf("该同学成绩为 :中等 \n");
else if (a >= 60)
printf("该同学成绩为 :合格 \n");
else
printf("该同学成绩 :不及格 \n");
return 0;
}
总结:多分支if语句,只执行第一次满足条件的语句块,注意和单分支if语句的区别。
4>基本格式:
if()
if()
语句块1;
else
语句块2;
else
语句块3;
总结:嵌套if语句要注意if和else的配对问题。
注意:1、在if语句中,若if和else不能一一对应,则else总会和离它上面最近 的且没有与其对应else配对的if进行配对;(if语句的就近原则)
2、在if语句甚至以后再书写代码时,尽量使用(5==a)这种格式写 书,避免因为人为原因导致bug。
二、switch语句
基本格式:
switch(表达式)
{
case 常量表达式1:
语句块1;
case 常量表达式2:
语句块2;
default: //若表达式的值和case后面的常量表达式均不同,则执行后面的语句块。
语句块3;
}
例:多分支switch语句的应用。
#include<stdio.h>
nt main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:
n++;
case 2:
m++;
case 3:
switch(n)
{
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default:
break;
}
printf("m=%d,n=%d\n", m, n);
return 0;
}//输出结果为m=5,n=3
总结:1、case后面只能跟常量,一般和break搭配使用;
2、在关键字case和常量之间必须要用“空格”隔开。switch后面的()不 能省略;
3、多个case可共用一组执行同一语句;
case 1:
case 2:
case 3:
printf("");
break;
4、当程序执行到switch语句后,就开始寻找符合条件的case,一直执 行到break,然后跳出循环;
5、当嵌套使用switch时,关键字break只跳出它当前所在的代码块 循环,而不是直接跳出所有循环。
今天好想创死这个世界啊!!!!!使用switch语句的时候一定记得别把{}给忘记了,否则你就会这样!!!