C语言-分支与循环

C语言之分支与循环

前言

C语言是一门结构化的程序设计语言,主要分为三种结构:

1.顺序结构

2.选择结构

3.循环结构

下面我们主要探讨的是选择结构和循环结构。

分支语句和循环语句

分支语句

  • if
  • switch

循环语句

  • while
  • for
  • do while

goto语句

问:那什么是语句?C语言中由一个分号(;)隔开的就是一个语句。

一、分支语句(选择结构)

举个栗子:当你站在学习的分岔口时,你可以选择是否学习,然后当有一天你遇到了改变你命运的机会,那么这个时候:
好好学习+机遇=人生巅峰;不好好学习+机遇=回家放羊;
这就是选择,我们的每一个选择都决定着我们的人生(这个时候请富二代自行划走)。

1.if语句

if语句的三种情况:    if(表达式)    //如果表达式为真,则执行语句语句;    if(表达式)语句1;    else(表达式)语句2;    if(表达式)语句1;    else if(表达式)语句2;    else语句3;
#include <stdio.h>#include <stdlib.h>int main(){    int age=10;     if(age>0&&age<18)       printf("少年
");     else if(age>=18&&age<30)       printf("青年
");     else if(age>=30&&age<50)       printf("壮年
");     else if(age>=50&&age<150)       printf("老年
");     else      {        printf("输入错误
");        printf("请更改
");  }    return 0;}
1.解释(如果表达式为真,则执行语句):在C语言中如何表示真假,0表示假,非0表示真2.if语句怎样使用多条语句:使用代码块{ },将语句放置在花括号中

错误示例:

int main(){    int x=0;    int s=1;     if(x==1)//==判断相等 =赋值        if(s==1)         printf("文字
");        else         printf("数字
");    return 0;}
注意: 这种情况程序不执行!      第一个表达式(x=1)不为真,并且没有else与之匹配。      else与离它最近且未匹配的if进行配对。

2.switch语句

switch语句也是分支语句的一种,它常常用于多分支的情况。
就是因为一直使用else if太麻烦了,所以有了switch语句。

switch(整型表达式) {  语句项; } 问:那什么是语句项?  case 整形常量表达式:    语句;
#include <stdio.h>#include <stdlib.h>int main(){    int win = 0;    scanf("%d",&win);     switch(win)     {     case 1:         printf("IG");         break;     case 2:         printf("FPX");         break;     case 3:         printf("EDG");         break;     case 4:         printf("RNG");         break;     case 5:         printf("TES");         break;     default:         printf("输入错误");         break;     }    return 0;}
注意:1.想输出单个分支内容在switch语句中,我们没办法直接实现分支,所以需要搭配 break 使用,break的实际效果就是把语句结束。2.default语句:如果输入的东西与所有的case标签都不一样,可以加入一条default语句,程序就会执行default语句的内容,每个switch语句只能有一个default子句,但是它可以出现在语句列表的任何位置,语句流会向贯穿case标签一样贯穿default子句。

二、循环语句

再举个栗子:当你再次站在学习的分岔口时,这个时候你不一样了,你有身份,你是世界第二富的儿子,你还是可以选择是否学习:
好好学习+机遇=人生巅峰;不好好学习+自己制造机遇=人生巅峰;不好好学习+金钱的力量=人生巅峰;

1.while循环

当满足条件时,if语句的执行只会执行一次,但实际上,同一件事,我们需要完成很多次,这个时候就需要用到while语句来帮助我们实现循环。

while(表达式) 循环语句;

image

#include <stdio.h>#include <stdlib.h>int main(){    int s = 1;    while(s<=10)   {   /*   if(s==9)   continue;  如果加上,会进入一个死循环,因为s++写在后面,  当s等于9时,跳过了后面的代码,包括s++,  所以s数值不变,返回循环是依然是9。   */    printf("%d
",s );    s++;    }    return 0;}
补充:    continuecontinue用于终止循环中本次循环continue后的代码,直接跳到下一次循环入口。    breakbreak用于停止后面的所有循环,直接终止。

2.for循环

for(表达式1;表达式2;表达式3)  循环语句;  1.表达式1为初始化部分,用来初始化循环变量  2.表达式2为条件判断部分,用于判断循环什么时候终止  3.表达式3为调整部分,用于循环条件的调整
#include <stdio.h>#include <stdlib.h>int main(){    int s = 0;    for(s=1;s<=10;s++)    printf("%d
",s);    return 0;}

对比for循环与while循环

1.在while循环中依然存在循环的三个必要条件,但由于风格问题使它们离的比较远,所以修改不够集中和方便,与之相比,for循环风格更好,所以for循环的使用频率较高。

2.for循环中也可以使用break和continue,意义和while循环中的一样,只不过因为for循环的条件判断部分在前边,所以当使用continue是不会陷入死循环。

建议:
不可以在for循环体内修改循环变量,防止fo 河南干部培训 www.bjganxun.cn r循环失去控制
for循环的循环控制变量的取值采用“前闭后开区间”写法

3.do while循环

do    循环语句;while(表达式);
#include <stdio.h>#include <stdlib.h>int main(){    int s = 1;    do    {    printf("%d
",s);    s++;    }    while(s<=10);    return 0;}
do语句特点:循环至少执行一次,使用的场景有限,所以不是经常使用

结尾

分支与循环的内容就到此结束了,但是学习是不可以停止的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值