0
点赞
收藏
分享

微信扫一扫

C语言之分支和循环语句

佃成成成成 2022-03-20 阅读 70
c语言

目录

1.什么是语句?

2.1 if 语句

if

if else

if ,else if ,else

2.2 switch语句

3 循环语句

3.1break语句 和 continue语句


  • 分支语句
  • if
  • switch
  • 循环语句
  • while
  • for
  • do while
  • go to语句

1.什么是语句?

c语言可以分为以下五类

        1.表达式语句

        2.函数调用语句

        3.控制语句

        4.复合语句

        5.空语句

        这里介绍的是控制语句!!

控制语句 : 控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言有九种控制语句

可分为以下三类:

        1.条件判断语句 也叫 分支语句 :if 语句 switch语句。

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

        3.转向语句 : break语句 continue语句 return语句

2.1 if 语句

语法结构:
if ( 表达式 )
        语句;


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


//多分支
if ( 表达式1 )
        语句1;
else if ( 表达式2 )
        语句2;
else
        语句3;

如果表达式的结果为真,则语句执行,为假,则不执行。

c语言中 非0为真 0为假。
演示::判断 年龄结构

if

if else

if ,else if ,else

 

如果条件成立要执行多条语句,怎样使用代码块?

在c语言中 一个 { } 代表一个代码块;

#include<stdio.h>
int main()
{

    if(表达式)    
    {
       语句;
    }
    else
    {
        语句;
    }
    return 0;
}

//这里一对{}就是代码块

悬空else,不正规使用代码块情况下;

#include<stdio.h>
int main()
{
    int a = 0;
    int b = 0;
    if(a==1)
        if(b==2)
            printf("hehe\n");
        else
            printf("haha\n");

    return 0;
}//这里悬空了else 这样的代码是错误的
//else是与离他最近的if匹配的;

2.2 switch语句

switch语句也是一种分支语句,常用于多分支的情况;

有多个选择和输出时就可选用switch语句;

比如

输入 1-7 输出 星期一 - 星期七;如果写成if else形式会比较复杂,那么我们就可以使用switch语句

//switch 语句的表达
switch ( 整形表达式 )
{
    语句;
}

//而语句是什么嘞;
//如下
case 整型常量表达式;
    语句;

#include<stdio.h>
int main()
{
    int day = 0;
    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");
            break;
    }
}//在switch中 如果 遇不到 break这个语句,就会一直执行下去;
//现在输入2 就会从case2一直执行到break所在位置;所以我们优化一下;
#include<stdio.h>
int main()
{
    int day = 0;
    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;
 
   }
    return 0;
}//这样写来表达我们想要的代码


//当我们的case语句中没有case语句被执行时,我们可以加上一个default语句;
//每一个switch语句中只能有一个default语句,当没有case语句执行时就会执行default语句;

3 循环语句

while循环

for循环

3.1do while循环

        在我的博客 初识C语言main开始的地方 就讲过了 while循环和for循环的结构;

        这里我们就跳过,讲do while循环的结构和break,continue在循环中的作用;

在我们需要先执行至少一次代码时就可以使用do while循环,它是先执行,再判断是否需要循环;

下面是它的结构

#include<stdio.h>
int main()
{
    
    do
    {

        语句;

    }while(表达式);

    return 0;
}

用法和while一样,只不过它至少执行一次,再判断循环;

3.2break语句 和 continue语句

在循环中如果达到了某种条件我们就不想让循环继续下去,而是跳出循环就可以使用break语句;

//break 代码实例
#include <stdio.h>
int main()
{
    int i = 1;
    while(i<=10)
    {
        if(i == 5)
            break;

        printf("%d\n",i);
        i=i+1;
    }
    return 0;
}
//1 2 3 4  代码执行完结果是1234而不是其他的;当i=5是就break跳出循环;
//1 2 3 4 5
//1 2 3 4 5 6 7 8 9 10
//1 2 3 4 6 7 8 9 10
总结:
break在while循环中的作用:
其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
所以:while中的break是用于永久终止循环的。

而对于continue来说,就不是跳出循环了;

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

        if(i==5)
            continue;

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

//这次代码的答案是多少??
//是 2 3 4 6 7 8 9 10;
//continue执行时是终止本次循环,直接跳转到switch判断的部分进行下一次循环;
//也就是说continue执行时,continue后面的代码不会再执行;

break和continue在for循环中的意义是一样的;

接下来,敬请期待,很有用!

举报

相关推荐

0 条评论