C语言—分支语句和循环语句

目录

本文将介绍C语言的分支语句和循环语句

文章目录

一、分支语句

1.1 if 语句

1.2 switch 语句

二、循环语句

2.1 while语句

2.1.1 while语句中的break

2.1.2 while语句中的continue

2.2 do while语句

2.3 for循环

三、goto语句

总结

一、分支语句

1.1 if 语句

表达式内结果为真,则语句执行,为假则不执行

0表示假,非0表示真。

基本结构:

单分支

if(表达式)

{

   语句;

}

else

{

   语句

}

多个分支:

if(表达式)

{

   语句;

}if

else if (表达式)

{

   语句;

}

else if (表达式)

{

   语句;

}

else

{

   语句;

}

代码演示:

#include<stdio.h>
int main()
{
int score = 0;
printf("输入学生的成绩:");
while (scanf("%d", &score))
{
    if (score >= 0 && score <= 100)
    {
        if (score >= 90)
        {
            printf("A\n");
            break;
        }
        if (score >= 80)
        {
            printf("B\n");
            break;
        }
        if (score >= 70)
        {
            printf("C\n");
            break;
        }
        if (score >= 60)
        {
            printf("D\n");
            break;
        }
        if (score >= 0 )
        {
            printf("E\n");
            break;
        }
    }
    else
    {
        printf("请重新输入\n");
    }
}
    return 0;
}

1.2 switch 语句

switch语句通常用于多分支的情况,与多分支if语句等效,但使用起来会更加简洁方便

基本结构:

switch(控制表达式)

{

        case 常量: 语句;

        break;

        case 常量: 语句;

        break;

        default: 语句;

        break;

}

其中常量可以是常数,也可以是常数计算的表达式,而控制表达式只能是整数型的结果

case后面是控制表达式的多种情况。

break是结束的意思,起在执行完该条case语句之后跳出switch语句的作用,如果没有加break,则会一直顺序往下执行,一定不要忘记在每种情况后面加上break!

default是除了case后的情况之外的别的情况,则执行default语句,它同case一样可以出现在switch语句中的任意一个位置,没有顺序要求。

代码演示:

#include <stdio.h>
int main()
{
    int day = 0;
    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;
        default:
            printf("输入错误!!!\n");
            break;
    }
    return 0;
}

二、循环语句

循环语句是用于重复执行某条语句(循环体)的语句,它包含三个部分,分别是:

  • 初始化部分
  • 判断部分
  • 调整循环部分

2.1 while语句

基本结构:

while(表达式)

{
     循环语句;
}

2.1.1 while语句中的break

break 在while 循环中的作用:用于永久的终止循环

代码演示:

int main()
{
    int i = 1;
    while (i <= 5)
    {i
        if (i == 3)
            break;//当i等于3执行到这一步时,直接跳出循环语句,不再打印i
        printf("%d\n", i);
        i ++;
    }
    return 0;                   
}


输出结果:1 2 

2.1.2 while语句中的continue

continue在while 循环中的作用:该次循环中 continue 后边的代码不会执行,而是直接跳转到 while 语句的判断部分(也就是表达式),进行下一次循环的入口判断

代码演示:

int main()
{
    int i = 1;
    while (i <= 5)
    {
        if (i == 3)
        {
            continue;//当i等于3执行到这一步时,直接跳过后面语句,i不再++,一直死循环下去
        }
        printf("%d ", i);
        i ++;
    }
    return 0;               
}

输出结果:1 2 并死循环

break语句和continue语句也可以使用在下面介绍的do while语句和for循环中

2.2 do while语句

do while 语句与while语句相似,区别是do while 语句在每次循环的迭代之后检查测试条件,保证了至少循环了循环体的内容一次,而while循环是在每次循环的迭代之前检查测试条件

基本结构:

do 

{
     循环语句;

}
while(表达式);
//至少循环一次

代码演示:

int main()
{
    int i = 1;
    do

   {

    printf("%d",i);

    i++

   }while(i<3)
    return 0;                   
}


输出结果:1 2 

2.3 for循环

1、for语句,也叫循环语句,也称之为for循环。
2、for语句也是一个结构复杂的语句,虽然简化代码,如用不熟也会适得其反。
3、for语句由三个部分组成:定义初始变量、循环条件、变化变量

基本结构:

for(定义初始变量;循环条件;变量变化){
       循环语句;
}

其中,三个表达式都可以省略,但是中间的分号不能省略

表达式1只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的

代码演示:

#include <stdio.h>
int main()
{
    int i;
    for (i = 1; i <= 3; i++) {

          printf("%d“, i);
    }
    return 0;
}

输出结果:1 2 3

三、goto语句

goto是一个跳转语句,允许程序在特定条件下无条件地跳转到程序中的目标位置,但是一旦滥用goto语句将会导致逻辑混乱,需要谨慎使用

基本结构:

purpose:
      语句;
    goto purpose;

注意:goto语句只能在当前函数内部进行跳转,且跳转目的必须在goto语句之后定义

代码演示:


    for(...)
   {

        语句;
        for(...)
       {

            语句;
            if(...)
                goto purpose;
       }
   }
purpose:
 if(...)

{

     语句;

}

总结

以上就是今天要讲的内容,本文简单介绍了分支语句和循环语句的使用,以及goto语句,具体应用还需要大家多在实践中自行探索

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值