控制语句(C语言)深入浅出详解

前言:C语言的控制语句可以分为以下几类语句,分别为循环语句、条件语句、开关语句、返回语句;控制语句用于控制程序的执行流程,以实现程序的各种结构方式同时结构的方式有三种,分别为选择结构、循序结构、循环结构,使用这三种结构进行相互的搭配形成复杂的逻辑结构。

一、循环语句

1.for语句

for主要作为条件的循环语句,有三个表达式进行循环判断,表达式1为初始化变量、表达式2为判断循环范围的终止条件、表达式3为作为下一个循环的准备处理表达式2条件符合则执行循环语句,执行完后再执行表达式3形成闭环循环。

for(表达式1;表达式2;表达式3){

语句;

}

例如:

带括号的表达式变量增加

int i;

for(i=0;i<10;i++){

printf("%d\n", i);

printf("Hello world\n");

}

带括号的表达式变量减小

int i;

for(i=10;i>0;i--){

printf("%d\n", i);

printf("Hello world\n");

}

不带括号的表达式只能第一条语句

int i;

for(i=10;i>0;i--)

printf("%d\n", i);

无限制循环,没有条件判断表示一直执行

for(;;){

printf("Hello world\n");

}

for的嵌套循环控制

void BubbleSort( int data[], int n )
{
	int i, j, k, t;
	for( i = 1; i <= n-1; i++ )
	{
		for( j = 1; j <= n-i; j++ )
		{
			if( data[j+1] < data[j] )
			{
				t         = data[j+1];
				data[j+1] = data[j];
				data[j]   = t;
			}
		}
	}
}

2.do语句

do需与while配合使用;do为先执行动作后判断while的条件是否要继续循环执行do的动作。

do{

语句;

}

while(变量的条件);

例如:

do-while循环控制

int i=1;

do{

if(1==i)

printf("Hello world\n");

i++;

}

while(i<10);

do-while循环与break联动,跳出当前do-while循环

int i=1;

do{

if(1==i)

printf("Hello world\n");

if(5==i)

break;

i++;

}

while(i<10);

do-while循环与continue联动,中断continue下面的语句回到起点继续循环进行动作

int i=1;

do{

i++;

if(1==i)

printf("Hello world\n");

if(5==i)

continue;

printf("%d\n", i);

}

while(i<10);

3.while语句

while语句创建了一个重复循环,重复执行直到测试表达式为假或0则跳出当前循环或者内部循环设置强制退出当前循环。

while (表达式){

语句;

}

例如:

while进行无限循环控制

int i=1;

i = scanf("%d",&num);

while (i==1) {

printf("Hello world\n");

 }

while循环与break联动,跳出当前while循环

int i=1;

while (i==1){

if(1==i)

printf("Hello world\n", i);

if(5==i)

break;

i++;

}

while循环与continue联动,中断continue下面的语句回到起点继续循环进行动作

int i=1;

while (i==1){

i++;

if(1==i)

printf("Hello world\n");

if(5==i)

continue;

printf("%d\n", i);

}

while(i<10);

二、条件语句

1.if语句

if条件语句为真执行以下的代码块,条件为假则不执行

if(表达式){

语句;

}

例如:

if单独使用,if为真则执行if下面的语句,否则不执行

if (i==1) {

printf("right!\n");

 }

if与else的搭配,if为真则执行if下面的语句,否则执行else下面的语句

int i=1;

if (i==1) {

printf("right!\n");

 }

else{

printf("false!\n");

}

if与else if、else的搭配,if为真则执行if下面的语句,否则执行下面的语句

int i=1;

if (i==1) {

printf("biurry!\n");

 }

else if(i==2){

printf("right!\n");

}

else{

printf("false!\n");

}

2.goto语句

goto用于无条件地跳转到程序的另一个位置,谨慎使用,太多跳转会造成程序的复杂度增强但是适当的使用可以起到很巧妙效果

名称地址:

语句;

goto 名称地址;

例如:

无条件跳转执行

int i = 0;

start:

printf("%d\n", i);

i++;

if(i<20){

goto start;

}

无条件跳转执行形成闭环循环

int i = 0;

start:

printf("%d\n", i);

goto start;

三、开关语句

1.switch语句

switch是用于多分支选择,根据表达式的值跳转到不同的分支执行相应的代码块;case是与switch配合使用,用于指定每个分支的值;default是与switch配合使用,用于指定当没有匹配的case分支时要执行的代码块;三者是相互搭配使用的。

Switch(表达式1){

case (表达式2):

语句;

break;

case (表达式3):

语句;

break;

.

.

.

default:

语句;

break;

}

例如:

int num = 0;

switch (num) {

    case 1:

        printf("You chose num 1.\n");

        break;

    case 2:

        printf("You chose num 2.\n");

        break;

    case 3:

        printf("You chose num 3.\n");

        break;

    default:  

    printf("Invalid num.\n");

        break;

}

四、返回语句

1.return语句

return是用于函数中返回值的关键字,用于将某个值作为函数的返回值,并退出当前的函数

例如:

带返回参数退出函数

int add(int a, int b) {

return a+ b;

}

不带返回参数退出函数

int num=0;

void add(int a, int b){

num=a+ b;

return;

}

不带返回参数退出函数,不执行return后面的语句

int num=0;

void add(int a, int b){

num=a+ b;

If(6==num)

return;

printf("Hello world\n");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值