分支循环语句

C语言是一门结构化的程序设计语言,里面包含三总结构
1.顺序结构
2.选择结构
3.循环结构
就后面两种C语言给出了对应的分支循环语句


1.分支语句 (选择结构)

什么是语句?:C语言中用分号隔开的就是一条语句

if语句

  • if 语句格式:
     if (表达式) 
      语句1
          else   
           语句2
          
    如果有多个判断条件可以用else if(表达式)
    如果执行语句里面有多条语句要用代码块{}
    在这里插入图片描述
  • if 语句常见案例
    1.悬空else
    在这里插入图片描述

上面的代码什么都没有输出 为什么呢? 因为if只与最近的未匹配的else匹配,当a==2为假是直接跳到return 0结束
所以在写代码时一定要有好的代码风格,不要乱写!!!
在这里插入图片描述

  1. 赋值与判断
    在这里插入图片描述
    大家可以看看这个代码运行的结果是什么
    在这里插入图片描述
    代码运行结果是“帅哥”,原因是“=” “==”前者是赋值后者是判断相等,而赋值后表达式的返回值是1,即真,所以以上if语句执行的是输出"帅哥"
    在这里插入图片描述
    在编辑时将5写左边a写右边就可以避免这个问题——因为a压根就没法赋值给5,到这时候你就知道写错了

switch语句

当if语句有多个条件需要判断时,多个else if 就显得繁琐,这时候我们就可以使用switch case 语句

  • switch语句语法结构
    switch(整形表达式
    {case 整形常量表达式
    语句1;
    case 整形常量表达式
    语句2;
    case 整形常量表达式
    语句3;
    case 整形常量表达式
    语句4;

    }

在这里插入图片描述
上面输出的结果是“小笼包 水饺 麻辣烫 刀削面”显然不是我们想要的,这是因为在case语句中没有写break——它的作用是终止switch语句。switch语句中没有continue
在这里插入图片描述
注意到switch语句的最后有一个default——这个是为了避免一些非法值的出现,功能类似于else对于其余剩于情况的处理,不同的是case 和 default并没有先后之分,你可以把case写在default的后面
在这里插入图片描述
当然也不是每条case语句的后面都需要加上break
在这里插入图片描述

  1. switch语句的套用:
    在这里插入图片描述

循环语句 (循环结构)

while语句

  1. while语句的语法结构
    while(表达式)
    {
    循环体
    }
  2. while语句写出1-100之间的偶数
    在这里插入图片描述
  3. while语句里的break和continue
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. while小游戏之学我说话
    在这里插入图片描述
    可以看到在最后输入EOF是循环并没有停止——这是因为getchar是一个一个接受字符的,一次一个字符打印
    在这里插入图片描述
    要想结束这个程序利用ctrl+z可以输入EOF——end of file
    在这里插入图片描述
  5. 利用while语句清空输入缓冲区
    在这里插入图片描述
    可以看到当我们输入密码后回车,并没有按照预期的再次输入Y/N,而是直接提示输入失败,要解决这个问题要先了解输入缓冲区这个概念
    在这里插入图片描述
    所以为了使程序在执行getchar时都停顿等待我们输入,就要利用while循环清空输入缓冲区
    在这里插入图片描述

for循环

建议:
1.尽量不要在循环体内修改变量,否则会造成死循环
2.尽量采取前闭后开的形式,这样会使参数更有意义
3.在不熟练的情况下不要轻易初始化、判断、调整语句!!!

  • for循环的语法结构
    for(表达式1;表达式2;表达式3)
    循环语句;

表达式1——初始化
表达式2——判断
表达式3——调整

  • 利用for输出1-10的数字
    在这里插入图片描述
  • for循环里面的break与continue
    在这里插入图片描述
  • for循环的变种
  1. 省略初始化、判断、调整在这里插入图片描述
    当判断语句省略时for循环的判断结果恒为真,使得循环编程死循环
  2. 在这里插入图片描述
    for内的变量可以时多个
  3. 在这里插入图片描述
    当判断语句是"b=0"这个赋值语句时,其返回值为假,所以上面代码的循环一次未执行

do while语句

  • do while的语法结构

do
循环语句
while(表达式)
它不同于while语句是把循环语句拿到判断语句的前面,就是先做再判断,无论如何至少执行一次

  • do while语句的break与continue
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值