C语言关键字详解 [ 控制语句关键字(12个)]

控制语句关键字(12个)

循环控制:for、do、while、break、continue

条件语句:if、else、goto

开关语句:switch、case、default

返回语句:return

循环控制:

for循环解构

do循环语句的循环体

while循环语句的循环条件

for循环和while循环:先进行条件判断,再决定是否执行循环,条件成立则进行一次循环,循环执行一次后再次进行条件判定,周而复始直到不满足条件循环结束。

do...while循环:先执行一遍循环里的代码块内容,再进行条件判定,周而复始直到不满足循环条件,循环结束。

for循环:

#include<stdio.h>
int main()
{
	for (int i = 0/*第一部分*/; i < 10/*第二部分*/; i++/*第三部分*/) {
		printf("%d\n", i);/*第四部分*/
	}
    pintf("for is over\n");/*第五部分*/
}

for循环执行过程为,首先进入循环执行第一部分内容,定义一个整形变量i = 0,进入第二部分进行条件判定,如果满足条件则执行第四部分内容,(如果不满足则跳出循环直接执行第五部分内容),执行完第四部分内容后进入第三部分进行循环条件变量刷新,之后在进入第二部分进行条件判定,周而复始直到循环结束。也可以这样写,结果是一样的

#include<stdio.h>
int main()
{
    int i = 0;/*第一部分*/
	for (; i < 10/*第二部分*/; i++/*第三部分*/) {
		printf("%d\n", i);/*第四部分*/
	}
    pintf("for is over\n");/*第五部分*/
}

while循环就更简单了,执行过程为先进行flag条件标志判定,如果为真则进入while循环,(如果为假则结束while循环),执行while内部代码块,打印flag值,flag值减一,内部代码执行结束后再次进入while循环条件判定,这样周而复始直到while循环条件不满足,结束循环。

#include<stdio.h>
int main()
{
    int flag = 10;
    while(flag){

        printf("%d\n",flag);
        flag--;

    }
    printf("while is over");   
}

do...while循环:过程为,首先执行代码块中的内容,代码块中内容执行结束后,进入while(条件判定)中进行条件判断,如果满足条件则进入代码块中再次运行一遍,(如果不满足则执行一次直接跳出循环),周而复始直到不满足为止结束循环。

#include<stdio.h>
int main()
{
    int flag = 10;
    do{
        //代码块
        printf("%d\n",flag);
        flag--;
    }while(flag/*条件判定*/);
    printf("do...while is over");//循环结束
}

continue结束当前循环,开始下一轮循环

continue是用于终止本次循环的,也就是本次循环中continue后边的代码都不会再执行,而是直接跳转到循环语句的判断部分,进行下一次循环的入口判断。例如:

1首先进入判断while循环条件满足,进入while循环,接下来判断,如果第二部分内容满足,则执行第三部分内容,执行continue,然后直接跳转到第一部分,再次从头开始执行。

#include<stdio.h>
int main()
{
    int flag = 5;
    int i = 10;
    while(flag/*第一部分*/)
    {
        i--;
        if(i/*第二部分*/)
        {
            //第三部分
            printf("第三部分:%d,%d\n",i,flag);
            flag--;
            Sleep(500);//延时函数,更好查看运行过程
            continue;
        }
        //第四部分
        printf("第四部分:%d,%d\n",i,flag);
    }
    printf("while is over\n");

}

2首先进入for循环,然后如果第二部分条件满足,则执行第三部分内容,执行continue,之后直接跳转到第五部分,然后进行for循环条件判断,一系列操作,最终实现整个程序。

#include<stdio.h>
int main()
{
    int a = 10;
    int i = 5;
    for(;a>0/*第一部分*/;a--/*第五部分*/)
    {
        i--;
        if(i>0/*第二部分*/)
        {
            //第三部分
            printf("第三部分:%d,%d\n",i,a);
            Sleep(500);//延时函数,更好查看运行过程
            continue;
        }
        //第四部分
        printf("第四部分:%d,%d\n",i,a);
    }
    printf("while is over\n");

}

3首先执行do内部内容,判断第一部分条件是否满足,满足执行第二部分内容,执行continue,然后直接跳转到第四部分,这系列过程。

do{
    if(/*第一部分*/)
    {
    //第二部分
    continue;
    }
    //第三部分

}while(/*第四部分*/);

上述三个例子很好的可以得出结论,continue是用于终止本次循环的,也就是本次循环中continue后边的代码都不会再执行,而是直接跳转到循环语句的判断部分,进行下一次循环的入口判断。

switch开关语句;case开关语句分支;default开关语句中的“其它”分支,可以不使用

break跳出当前循环或switch结构

switch case组合,

switch(整形变量/常量/整形表达式){
    case 整形常量1:
        //代码
        break;
     case 整形常量2:
        //代码
        break;
     case 整形常量3:
        //代码
        break;
     default:
        break;
}

case完成判断功能,break完成分支功能,default完成处理异常情况。

case中不能定义变量,如果需要可以使用花括号{}括起来,在定义,或者调用函数,在函数中定义。

case后面只能是整形或字符型的常量或常量表达式。

default可以出现在任何位置,推荐放在结尾。

if 条件语句;else条件语句分支结构

if else就不过多介绍了,下面代码用到if else 、goto,(自己瞎想的一段代码)

#include<stdio.h>
int main()
{
	int i = 0;
	
	while (1)
	{
		if (i <= 10)
		{
			Sleep(500);
			i++;
			printf("if:%d\n", i);
		}
		else
		{
			Sleep(500);
			i++;
			printf("else:%d\n", i);
			if (i > 20)
				goto end;
		}
	}
end:
	printf("if..else is over");

goto无条件跳转语句

直接可以跳转到goto后面的标签处,往后执行(标签也可以在goto前面,这样就实现了死循环)

goto FLAG;

.
.
.
.
FLAG
.
.
.
.

return 子程序返回语句,可带参数也可以不带参数

#include<stdio.h>
#include<windows.h>
int show(int x)
{
  return ++x;
}
int main()
{

int i = 0;
i = show(i);
printf("%d\n",i);
system("pause");//Windows停屏
return 0;
}
//结果为1

存储类型关键字和其它关键字在下一篇博客

  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白很低调

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值