四:C语言-条件分支语句

四:条件分支语句

C语言是结构化的程序设计语言,这里的结构指的是顺序结构选择结构循环结构

我们可以使用ifswitch实现分支结构;使用forwhiledo while实现循环结构

1.if语句:

语法格式:

if(表达式)
    代码块;

若表达式成立(为真),则代码块执行;表达式不成立(为假),则代码块不执行

在C语言中,0为假;非0表示真。也就是如果表达式里的结果是0的话,则语句不执行;表达式里的结果如果不是0,则语句执行

示例:输入一个整数,判断是否为奇数

#include <stdio.h>
int main()
{
   
    int num = 0; //初始化
    scanf("%d",&num);
    if(num % 2 == 1)
        printf("%d 是奇数\n",num);
    return 0;
}

注意: 变量在创建的时候最好给其一个值(初始化),防止报错

2.else

语法格式:

if(表达式)
    代码块1;
else
    代码块2;

如果if语句成立,则执行代码块1;如果if不成立,则执行else语句中的代码块2

注意: else后面不可以加判断条件;但可以加if

示例1:输入一个整数,判断是否为奇偶数

#include <stdio.h>
int main()
{
   
    int num = 0; //初始化
    scanf("%d",&num);
    if(num % 2 == 1)
        printf("%d 是奇数\n",num);
    else
        printf("%d 是偶数\n",num);
    return 0;
}

示例2:输入一个年龄,如果大于或等于18就输出成年;否则就输出未成年

#include <stdio.h>
int main()
{
   
    int age = 0;
    scanf("%d",&age);
    if(age >= 18)
        printf("成年\n");
    else
        printf("未成年\n");
    return 0;
}

3.分支中包含多条语句:

在C语言中,if或者else只能包含一条语句,每一条语句都是独立存在的。如果想要包含多条语句,则需要把想要包含的语句包裹在{}

#include <stdio.h>
int main()
{
   
    int age = 0;
    scanf("%d",&age);
    if(age >= 18)
    {
   
        printf("成年\n");
        printf("可以谈恋爱了\n");
    }
    else
    {
   
        printf("未成年\n");
        printf("最好不要谈恋爱\n");
    }
    return 0;
}

像这样,被{}包裹的代码叫做代码块也叫程序块,或者复合语句

4.嵌套if

if...else...语句中,else可以与另一个if语句连用,构成多重判断

示例1:输入一个整数,判断输入的整数是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;        
}

示例1:嵌套if语句的第二种写法:

#include <stdio.h>
int main()
{
   
    int num = 0;
    scanf("%d",&num);
    if(num == 0)
        printf("输入的数字是0\n");
    else 
    {
   
        if(num > 0) 
        	printf("输入的数字是正数\n");
    	else
        	printf("输入的数字是负数\n");
    }
    return 0;        
}

示例2:输入一个整数,如果是正数,再判断是奇数还是偶数,并输出;如果不是正数,则输出不是正数

#include <stdio.h>
int main()
{
   
    int num = 0;
    scanf("%d",&num);
    if(num>0)
    {
   
        if(num % 2 == 0)
            printf("此数是偶数\n");
        else
            printf("此数是奇数\n");
    }
    else
        printf("此数不是正数\n");
    return 0;
}

示例3:输入一个人的年龄,如果该年龄小于等于18岁,打印“少年”;如果年龄在1844岁之间,打印“青年”;如果年龄在4559岁之间,打印“中年”;如果年龄在60~89岁之间,打印“老年”;如果年龄在90及90岁以上,打印“神仙”

#include <stdio.h>
int main()
{
   
    int age = 0;
    scanf("%d",&age);
    if(age <= 18)
        printf("少年\n");
    else if(age < 45)
        printf("青年\n");
    else if(age < 60)
        printf("中年\n");
    else if(age < 90)
        printf("老年\n");
    else if(age > 90)
        printf("神仙\n");
    return 0;
}

5.悬空else问题:

如果有多个ifelseelse总是跟最接近的if匹配 —— 就近原则

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

注意: 此时不会输出任何东西。所以代码一定要注意缩进问题

相关推荐

  1. C语言-条件分支语句

    2024-01-30 12:30:06       41 阅读
  2. C# —— 条件分支语句

    2024-01-30 12:30:06       8 阅读
  3. [C语言]条件编译

    2024-01-30 12:30:06       7 阅读
  4. c语言分支语句

    2024-01-30 12:30:06       30 阅读
  5. C语言分支循环语句

    2024-01-30 12:30:06       32 阅读
  6. C语言条件编译详解

    2024-01-30 12:30:06       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-30 12:30:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-30 12:30:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-30 12:30:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-30 12:30:06       18 阅读

热门阅读

  1. 【前端】防抖和节流

    2024-01-30 12:30:06       42 阅读
  2. nginx项目部署+项目优化

    2024-01-30 12:30:06       39 阅读
  3. L1-032 Left-pad

    2024-01-30 12:30:06       41 阅读
  4. 美易官方《盘前:道指期货跌0.04% 风险周降临》

    2024-01-30 12:30:06       38 阅读
  5. 随机森林和决策树区别

    2024-01-30 12:30:06       38 阅读
  6. ID3算法 决策树学习 Python实现

    2024-01-30 12:30:06       37 阅读
  7. ST表板子 类似归并的有条理暴力 sparse-table

    2024-01-30 12:30:06       39 阅读
  8. 2024年最新版 在AlmaLinux上安装MongoDB

    2024-01-30 12:30:06       38 阅读
  9. 紫外工业相机的优势与应用

    2024-01-30 12:30:06       37 阅读