【C语言】一、分支语句和循环语句(1)——跟着鹏哥学习c语言

【C语言】一、分支语句和循环语句(1)——跟着鹏哥学习c语言,第1张

【C语言】一、分支语句和循环语句(1)——跟着鹏哥学习c语言

本文由课件及笔记整理完成

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

//最简
if(表达式
      语句;

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

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

具体示例:

#include
int main() 
{
    int score = 0;
    scanf("%d ", & score);
    if (score >= 0 && score < 60) 
    {
        printf("不及格n");
    }
    else if (score >= 60 && score < 85) 
    {
        printf("良好n");
    }
    else 
    {
        printf("优秀n");
    }
    return 0;
}

注意点:
  • 表达式为真,语句就会执行。【在C语言中,0表示假,非0表示真】
  • 作为判断的表达式不可以写成(60<=score<85)。如果score为1,不满足大于等于60,但是满足小于85,会造成矛盾。
  • 最后一个else是不必须存在的。
  • “{  }”代表一个代码块,if后的“{  }”并不是必要的。没有的话只会执行一条语句,有的话能够控制“{  }”中的所有语句。
1.1.2 悬空else

如下:

#include
int main()
{
    int a = 1;
    int b = 2;
    if (a == 2)
        if (b == 2)
            printf("Rightn");
        else
            printf("Wrongn");
    return 0;
}

当你写出这个代码,是不会有打印结果的。

为什么?

因为这里的else是与最近的if匹配。

解决:

#include
int main()
{
    int a = 1;
    int b = 2;
    if (a == 2)
    {
        if (b == 2)
        {
            printf("Rightn");
        }
    }
        else
        {
            printf("Wrongn");
        }
    return 0;
}

这说明:

适当的“{  }”对代码有很大的作用,可以使代码逻辑更加清楚。

1.1.3 书写形式

//代码1
int main() 
{
    int a = 2;
    if (a = 2) //“ = ” 表示赋值,把1赋值给a
    {
        printf("Rightn");
    }
    return 0;
}
//代码2
int main()
{
    int a = 2;
    if (a == 2)//“ == ” 表示判断,判断a是否为2
    {
        printf("Rightn");
    }
    return 0;
}

 代码1与代码2的区别在于if后面的表达式

二者所表达的意思截然不同,尽管在这个地方能够运行,但

为保证不会出现这种情况,可以采取以下方法:

int main()
{
    int a = 1;
    if (1 == a)//因为a是个变量,在 1 = a 这样的情况下,编译器会报错,变量不可以给常量赋值,因此可以规避少了一个“ = ”的错误。
    {
        printf("Rightn");
    }
    return 0;
}

1.2 switch语句

switch语句常用于多个分支的情况。

1.2.1 语句结构

 switch (整型表达式)
{
    case 整型常量表达式;
        语句;
}

 1.2.2 switch语句中的break

break语句将语句划分为不同的分支

#include
int main()
{
    int a = 1;
    switch(a)//a必须为整型常量表达式(即int),不能为float等,字符属于整型的一种(因为机器中字符由ASCII码值表示)
    {
        case 1;//case决定入口
            printf("一n");
        break//break决定出口 (与case一起实现分支)

       case 2;
            printf("二n");
        break
    }
    return 0;
}

 最好在最后一个case语句后加一个break语句。

1.2.3 switch语句中的default
  • default是switch语句中输错的提示
  • 可以把default写在任意case可以出现的位置
  • 每个switch语句只能出现一条default
  • 习惯上将其放在最后。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4994448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存