switch 语句,while 循环,for 循环和do while循环

switch 语句

switch 语句是⼀种特殊形式的 if…else 结构,⽤于判断条件有多个结果的情况。它把多重的 else if 改成更易⽤、可读性更好的形式。
例如:

#include
int main()
{
		int n;
	switch(n)
	{
	case number:
	statement;
		case number:
	statement;
		case number://注意,case和后面的number中间有个空格
	statement;
	default:
	statment;//此处的number只能为整型数值
	}
	 return 0;
}

上⾯代码中,根据表达式number 不同的值,执⾏相应的 case 分⽀。如果找不到对应的值,就执⾏ default 分⽀

输入一个0~7的数,输出“星期 * ”:

#include 
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 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句,如果不加break,输出结果会不一样:
switch 语句,while 循环,for 循环和do while循环_第1张图片

如果case的不同值有相同结果,就可以写成以下:

#include 
int main()
{
 int day = 0;
 scanf("%d", &day);
 
 switch(day)
 {
 case 1:
 case 2:
 case 3:
 case 4:
 case 5:
 printf("⼯作⽇\n");
 break;
 case 6:
 case 7:
 printf("休息⽇\n");
 break;
 default:
 	printf("输入错误\n");
 	break;
 	}
 return 0;
}

如果输入数字8,就会执行default分支:
switch 语句,while 循环,for 循环和do while循环_第2张图片
在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实际需求的就可以。

while 循环

while 语句的语法结构和 if 语句⾮常相似。
但是也有着极大的区别,while语句是可以实现循环效果的:
if 语句

#include 
int main()
{
 if(1)
 printf("hehe\n"); //if后边条件满⾜,打印⼀次hehe
 return 0;
}

while 循环

/代码2
#include 
int main()
{
 while(1)
 printf("hehe\n"); //while后边的条件满⾜,死循环的打印hehe
 return 0;
}

while循环⾸先上来就是执⾏判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语句,语句执⾏完后再继续判断,是否进⾏下⼀次判断。
输⼊⼀个正的整数,逆序打印这个整数的每⼀位
例如:
输⼊:1234,输出:4 3 2 1
输⼊:521,输出:1 2 5

#include 
int main()
{
 int n = 0;
 scanf("%d", &n);
 while(n)
 {
 printf("%d ", n%10);//此处输出的n%10就是n的个位数
 n=n/10;//去掉个位数的n再次返回执行
 }
 return 0;
}

for 循环

for 循环的使用频率是最高的。

for(表达式1;表达式2;表达式3)
语句;
此处的表达式1用于初始化,
表达式2用于⽤于循环结束条件的判断,
表达式3 ⽤于循环变量的调整

例如,用for 循环算出一百以内能整除3的数之和:

#include
int main()
{
	int sum;
	for(int i=1;i<=100;i++){
		if(i%3==0){
			sum+=i;
		}
	}
	printf("%d",sum); 
	return 0;
}

do while 循环

while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环;⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。
在 do while 循环中先执⾏语句,执⾏完语句,在去执⾏判断表达式,判断表达式的结果是!=0,则继续循环,执⾏循环语句;判断表达式的结果==0,则循环结束。所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。
练习:
输⼊⼀个正整数,计算这个整数是⼏位数?
例如:
输⼊:1234 输出:4
输⼊:12 输出:2

#include 
int main()
{
 int n = 0;
 scanf("%d", &n);
 int cnt = 0;
 do
 {
 cnt++;//n即使是0,也是1位数,要统计位数的
 n = n / 10;
 } while (n);
 printf("%d\n", cnt);
 return 0;
}

你可能感兴趣的:(c语言,开发语言,分类)