C语言控制语句

        控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。在C语言中有九种控制语句。 可分成以下三类:

1.条件判断语句:if语句、switch语句;

2.循环执行语句:do while语句、while语句、for语句;

3.转向语句:break语句、continue语句、goto语句、return语句。

        

1.1 if语句                                        

        if语句中,首先判断表达式的值,然后根据该值的情况控制程序流程。表达式的值不等于0,即为真;否则为假。

        if语句有if,if--else和else if 三种形式。

用于单分支选择结构。

if(表达式) 语句
 

用于双分支控制的条件语句;非此即彼的关系。

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

用于多分支的控制的条件语句。

if(表达式1) {
    语句1;
}else if(表达式2){
    语句2;
}else if(表达式3){
    ......
}else{
    语句n;
}
    

 1.2 switch语句

        switch语句是一个多分支选择语句,并且可以支持嵌套

switch语句的基本样式

switch(表达式){
    case 常量1:
        语句1;
    case 常量2:
        语句2;
    ......
    default:
        语句n;
        break;
}

        switch语句后面的表达式可以为intchar类型,case标签必须是常量表达式,如2或者'd'。同时,case后的常量值必须是惟一,不允许两个case具有相同的值。

        switch语句通过将表达式的值与常量值进行比对,如果相等则执行后面的语句,如果不相等则跳到下一个case语句,当表达式和常量值相等,switch语句会将当前case语句以及后面所有的case语句全部输出。

注意,当运行以下代码

#include <stdio.h>
int main()
{
    int day = 0;
	printf("请输入一个数字\n"); 
	scanf("%d",&day);				
	switch (day)
	{
	case 1:printf("星期一\n");
	case 2:printf("星期二\n");
	case 3:printf("星期三\n");
	case 4:printf("星期四\n");
	case 5:printf("星期五\n");
	case 6:printf("星期六\n");
	case 7:printf("星期天\n");
	default:
		break;
	}
    return 0;
}

输入2以后的结果为以下结果

switch语句将我2,以及下面所有语句都执行,要解决这一问题,我们只需要在每一个case语句后面加上一个break语句。

2.1与2.2 do while语句、while语句

        while是最基本的循环,它的结构为:

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

        只要while后的表达式一直成立,循环语句的代码就会一直执行。所以,对于 while 语句而言,若不满足条件,则不能进入循环。

        而do while 循环和 while 循环相似,不同的是,do while 循环至少会执行一次。do while的结构为:

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

        同理,只要while后的表达式一直成立,循环语句的代码就会一直执行。

do while 与while语句的区别在于:

do while,无论是表达式是否成立,循环语句会先执行一次。

while,他会在代码执行前先判断表达式是否成立,如果成立才会执行循环语句。

2.3 for语句

        在for语句中,允许您编写一个执行指定次数的循环控制结构,它的结构为:

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

        其中,表达式1为初始化表达式,它只计算一次。在计算控制表达式之前,先计算一次表达式 1,以进行必要的初始化,后面不再计算它。所以,表达式1可以为空

        表达式2为控制表达式,每轮循环前都要计算控制表达式,以判断是否需要继续本轮循环。当控制表达式的结果为 false,结束循环。

        表达式3为调节表达式,在每轮循环结束后,在表达式 2 计算前执行。在运行了调节表达式后,执行表达式 2,以进行判断。

        注意,在循环语句中,一定要有可以使代码跳出循环的语句,否则会使代码运行时,陷入死循环。

3.1 break语句

        当break关键字用于while、for循环,会终止循环,转而执行整个循环语句后面的代码。而在多层循环中,一个break语句只向外跳一层。而在switch语句中,可用于终止switch语句中的一个 case。

3.2 continue语句

        continue 语句的作用是跳过循环体中剩余的语句强制进入下一次循环。continue语句只用在 while、for循环中。对于for循环,continue语句执行后自增语句仍然会执行。对于 while和do while循环,continue语句重新执行条件判断语句。

        break与continue的对比:break 用来结束所有循环,循环语句不再有执行的机会;continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。

3.3 goto 语句

        C语言中的goto语句允许把控制无条件转移到同一函数内的被标记的语句。goto语句可以使程序在没有任何条件的情况下跳转到指定的位置,所以goto语句又被称为是无条件跳转语句。它的结构为:

goto label;

//其它代码

label:

3.4 return语句

        函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过return 语句返回。它的结构为:

return 表达式;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值