混淆c语言分支循环语句?一分钟搞定!

前情提要:
c语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构
当我们明白这一点的时候就可以开始学习c语言分支循环语句啦~


一、if 语句

以下为语法形式:

if (表达式)
    语句

若表达式为真,则语句成立;若表达式不成立,则语句不执行

1、else

if.else语句中,else可以与另一个if语句连用,构成多重判断
比如:要求输入和一个整数,判断输入的整数是0,还是正数还是负数,并输出;如果不是正数则输出:负数.

#include <stdio.h>
int main()
{
    int num = 0;
    scanf("%d", &num);
    if(num == 0)
        printf("输入的数字是0\n")else if(num > 0)  //这里的if相当于嵌套在else语句中,形成了嵌套结构
        printf("输入的数字是正数\n");
    else
        printf("输入的数字是负数\n");

    return 0;
}

上图中橙色背景的代码就是嵌套在else子句中的,构成了嵌套的if语句。 以上就是嵌套 if 语句的语法,有了嵌套if语句,就可以完成更多复杂的逻辑判断。

2、悬空 else 问题

如果有多个 ifelse ,可以记住这样一条规则,else 总是最接近的 if 匹配。


二、switch 语句

除了 if 语句外,c语言还提供了 switch 语句来实现分支结构。
switch语句是一种特殊形式的if…else结构,用于判断条件有多个结果的情况。它把多重的else if改成更易用、可读性更好的形式。

switch(expression)
{
    case value1: statement
    case value2: statement
    default: statement
}

switch 后的 expression 必须是整型表达式
case 后的值,必须是整形常量表达式
case 和后面的数字之间必须有空格
每一个case 语句中的代码执行完成后,需要加上 break,才能跳出这个 switch 语句

1、default

在使用switch语句的时候,发现switch 后的表达式中的值无法匹配代码中的case 语句的时候,这时候要不就不做处理,要不就得在switch 语句中加入 default字句。

switch 语句中的case 和 default 没有顺序要求的,
不过我们通常是把 default 的句子放在最后处理的。


三、 while 循环

while 语句的语法结构和 if 语句非常相似

请添加图片描述
如果是不太理解的话,我们来实践一下
练习:在屏幕上打出1~10的值
参考代码:

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

四、for 循环

for 循环是三种循环中使用最多的,for 循环的语法形式如下:

for(表达式1; 表达式2; 表达式3)
语句;    //如果循环体想要包含更多的语句的话,可以加上括号

表达式1 用于循环变量的初始化
表达式2 用于循环结束条件的判断
表达式3 用于循环变量的调整

练习:在屏幕上打印1~10 的值
参考代码

#include <stdio.h>
int main()
{
    int i = 0;
    for(i = 1; i <= 10; i++)
    {
        printf("%d", i);
    }
    return 0;
}

for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,但是 for 循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候 while 循环的三个部分就比较分散,所以从形式上 for 循环要更优一点


五、do_while 循环

在循环语句中 do _while 语句的使用最少

do
    语句;
while(表达式);

该语句先直接进入循环体,执行循环语句,然后再执行 while 后的判断表达式

意思是指:循环体至少表达一次

练习:在屏幕上打印1~10 的值
参考代码

#include <stdio.h>
int main()
{
   int i = 1;
   do
   {
       print("%d", i);
       i = i + 1;
   }while(i <= 10);

   return 0;
}


以上便是c语言的全部分支循环语句了,当然还有一下补充~

六、 goto 语句

c语言提供了一种非常特别的语法,就是 goto 语句和跳转标号,goto 语句可以实现在同一函数内跳转到设置好多标号处

例如:

#include<stdiop.h>
int main()
{
    print("hello world\n");
    goto flag:     //标识符可以是任意无意义的单词
    print("hello\n");
flag:
    printf("world\n");   //可以看到该代码跳过了`hello` 的打印
    return 0;
}
注意:goto语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以我们的建议是能不用尽量不去使用;但是 goto 语句也不是一无是处,在多层循环的代码中,如果想要快速跳出,使用 goto 再好不过了。

结尾:

以上便是本次的全部内容了喔~
首先非常感谢你的观看,希望能对你有一点点小小的帮助~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值