分支语句和循环语句

分支语句

if 和switch

if

if语句的语法结构是这样的

 if(表达式)
 语句;


 if(表达式)			\\如果表达式成立
 	语句1;			\\执行语句1
 else				\\表达式不成立
 	语句2;			\\执行语句2

还可以多分支

if(表达式1)                 
	语句1;					
else if(表达式2)		
 	语句2;
else
	语句3;

如果条件成立想执行多条语句的话,应该加入代码块

if(表达式)
{
	语句列表1;
}
else
{
 	语句列表2;
}

例子

#incldue<stdio.h>
int main()
{
	int study = 0;
	printf("你会学习吗?1 or 0 \n");
	scanf("%d", &study);
	if (study == 1)
	{
		printf("坚持就是胜利\n");
	}
	else
	{
		printf("学习才是真理\n");
	}
	return 0;
}

switch

switch 也是一种分支语句 常用于多分支的情况。
比如
输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期天
这种情况下用switch就比if else语句简单的多。

#include<stdio.h>
int main()
{
	int day;
	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;
}

switch语句的语法是这样

 switch(整型表达式)
     {    
     	语句项;
      }

而语句项则是

case 整形常量表达式:
  语句;

break
注意在switch语句中无法直接实现分支效果必须搭配break使用才能实现真正的分支效果。
在这里break的实际效果是把语句列表分为不同的部分。
在switch语句中最后一个break可以写也可以不写,但是最好写上养成良好的编程习惯。
default
在switch语句中如果表达的值域对所有的case标签都不匹配的时候,就应该在语句列表中加入defualt子句,把下面的标签default,当所有的case标签都不匹配的时候,default子句后面的语句就会执行。注意每一个switch语句中只能出现一条default子句。
以后的编程中在每一个switch语句中都放一条default子句,可以防止意想不到的错误。

循环语句

while ,do while,和for

whlie

whlie语句的语法结构

while(表达式)
	循环语句;

当表达式不为真的时候执行语句,一直循环直至表达式为真的时候跳出循环。
例子
打印1-10的数字

#include<stdio.h>
int main()
{
	int i = 1;
	while(i<=10{
		printf("%d",i);
		i++;
	}
	return 0;
}

在while中的break和continue
break 用于跳出循环。
continue用于接着循环。

#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
		{
			break;
		}
		printf("%d ", i);
		i++;
	}
	return 0;
}

这里的break是指当i=5的时候直接跳出循环,所以屏幕上只打印1 2 3 4 四个数字。

#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
		{
			continue;
		}
		printf("%d ", i);
		i++;
		
	}
	return 0;
}

在这里continue的作用是本次循环中的continue之后的代码将不再执行,直接跳入while语句中的表达式判断部分。
所以在这个例子中当打印1 2 3 4后i = 5以后满足i == 5的这个条件 执行continue 后面的i++将不会执行,所以当打印1 2 3 4以后程序将死循环。

for语句

for语句的语法是这样的

for(表达式1;表达式2;表达式3)
{
	循环语句;
}

表达式1位初始化部分,用于初始化循环变量。表达式2是判断部分,当表达式2为真的话执行循环。表达式3位调整部分,用于循环变量的调整。
例子
打印1-10的数字

#include<stdio.h>
int main()
{
	int i;
	for (i = 1; i < 10; i++)
	{
		printf("%d ", i);
	}
}

for循环中的break和continue
例子

#include <stdio.h> 
int main() 
{    
	int i = 0;    
	for(i=1; i<=10; i++)    
	{        
		if(i == 5)            
			break;       
		printf("%d ",i);   
	}    
	return 0; 
}

在for循环中的break和while中的一样
当i==5的时候跳出循环。
continue就有点差异
例子

#include <stdio.h> 
int main() 
{    
	int i = 0;    
	for(i=1; i<=10; i++)    
	{        
		if(i == 5)            
			continue;       
		printf("%d ",i);   
	}    
	return 0; 
}

这里因为循环变量的调整部分在for循环里面
所以不会当执行continue后死循环,而是执行for语句中的i++,然后接着循环,成功打印1-10的数字。
注意
不可以在for循环体内修改循环变量的值,会使for循环失去控制。

do while语句

do while 语法

do
{
	循环语句;
}while(表达式)

do while语句有一个特点就是循环至少循环一次。
例子
打印1-10的数字

#include<stdio.h>
int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值