C语言分支循环语句

               循环结构是程序中一种非常重要的控制结构。其特点是:在给定的条件成立时,反复执行某程序段,直到条件不成立为止。接下来我来一一介绍C语言中常见的循环结构。

1、分支语句

      1.1  if语句

        在if语句中,if语句可分为三种形式:if、if-else、if-else-if。

        其基本格式为:

if(表达式)   
    语句1;//if语句


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

if(表达式1)         语句1;
else if(表达式2)    语句2;
else if(表达式3)    语句3;
.
.
.
else                 语句n;//if-else-if语句

注意:if关键字后均为表达式,该表达式通常是逻辑表达式或关系表达式,也可以是其他任何表达式,或者是一个变量。只要表达式非零时,表达式的值就为真,否则为假。

        另外,if与else下的语句中,如果有大于等于2条语句时,需要用{}包围起来,组成一个复合语句。

        并且,在C语言中,else总和它上面离他最近的if配对。if语句允许嵌套使用,如:

if(表达式1)
    if 语句;


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

      1.2  switch语句

        在C语言中,除if用于分支结构,switch语句也可以使用,并且在某些情况下,switch语言更为简洁、易读。

        switch语句的格式为:

switch(表达式)
{
    case 常量表达式1:语句1;
                    break;

    case 常量表达式2:语句2;
                    break;


    case 常量表达式n:语句n;
                    break;
[default:            语句;
                      break;]

}

               

*        当switch语句后的表达式的值与某个case后的表达式的值相同时,就执行case后面的语句;当执行到了break后,跳出switch语句,执行switch语句的下一条语句。

*        如果没有任何一个case匹配,则执行default后面的语句。

注意:

(1)switch语句后面的表达式必须是一个整型表达式,而且case后面的表达式类型应该与switch后面的表达式类型一致。

(2)每个case后面必须是常量表达式,不能包含变量。

(3)switch语句可以嵌套使用。

2、循环语句

        2.1  while语句

                2.1.1  while

        我们以求1~100的和为例,使用while求和,程序如下:

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

      

        2.1.2  do-while

#include<stdio.h>

int main()
{
    int i,sum=0;
    
    do
    {
        sum+=i;
        i++;
    }
    while(i<=100);
    printf("sum=%d\n",sum);
    return 0;
}

                do-while与while的区别是前者是先执行后判断,后者是先判断后执行,若do-while语句后面的表达式值一开始为假,循环体还是要先执行一次。

        2.2  for语句

#include<stdio.h>

int main()
{
    int i,sum=0;
    
    for(i=1;i<=100;i++)
        sum+=i;
    printf("sum=%d\n",sum);
    return 0;
}

 for语句格式为:

for(表达式1;表达式2;表达式3)
    语句;

注意:

(1)for语句后面的表达式1一般为赋值表达式;表达式2一般为关系表达式或逻辑表达式,作为循环控制条件;表达式3一般为赋值表达式,给循环控制变量增量或者减量。

(2)表达式之间用“;”隔开。

(3)for语句也可以组成多重循环,而且也可以和while语句或do-while语句嵌套。

(4)循环体可以是空语句,例如计算用户输入的字符数:

#include<stdio.h>

int main()
{
    int n=0;
    printf("input a string:\n");
    for(;getchar()!='\n';n++)
    printf("%d",n);
    return 0;
}

2.3  break与continue语句

        2.3.1  break语句

break语句的作用是再循环体中测试应立即结束循环时,使控制立即跳出循环结构,转而执行循环语句后面的第一条语句。

注意:

(1)break语句只可以用于while语句、d-while语句或for语句构成的循环结构中和Switch选择结构中。

(2)在嵌套循环下,break语句只可以终止并跳出它最近的一个循环体。

(3)如果想让break跳出最外层的循环体,可以设置一个标志变量tag,然后在每层循环后面加上一条语句:if(tag) break;

        2.3.2  continue语句

continue语句的作用是跳过continue语句后面尚未执行的语句,开始下一次循环,即只结束本次循环的执行,并不终止整个循环的执行。

本文结束,若有不完整或错误之处,欢迎大家补充,本人可以及时纠错更新。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值