一、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语句的时候一定记得别把{}给忘记了,否则你就会这样!!!

分支语句(if语句和switch语句)_switch语句