if语句—超详解

这篇具有很好参考价值的文章主要介绍了if语句—超详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

语法结构:

 ps:表达式详解:

ps:单条语句与多条语句:

ex:下面我们写几个例子来加深一下理解:


if语句是分支语句(循环结构)的一种:

语法结构:

1.

if (表达式)

   语句;

#include <stdio.h>

int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age < 18)
    
       printf("未成年\n");
    
}

 当age满足 <18 这个条件时,就可以继续执行下面的语句,打印出 "未成年"。

if语句—超详解

 2.

if (表达式)

   语句1;

else

   语句2;

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

当age满足条件 <18 时,执行if下面的语句,打印出"未成年",

否则,就会执行 else 下面的语句,打印出"成年" 。

 if语句—超详解

 3.

//多分支

if (表达式1)

       语句1;

else if (表达式2)3.

       语句2;

else

       语句3;

#include <stdio.h>
int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age < 18)
    {
        printf("少年\n");
    }
    else if (age >= 18 && age < 30)
    {
        printf("青年\n");
    }
    else if (age >= 30 && age < 50)
    {
        printf("中年\n");
    }
    else if (age >= 50 && age < 80)
    {
        printf("老年\n");
    }
    else
    {
        printf("老寿星\n");
    }
}

多分支语句:

从上到下依次判断,若符合 if 条件,就执行if下面的语句;若不符合 if ,就看是否满足下一条 else if 的条件;

直到找出符合条件的为止,若所有条件都不符合,就执行 else 的语句。

if语句—超详解

if语句—超详解 

 if语句—超详解

 ps:表达式详解:

如果满足表达式,即表达式为真,则执行语句;

若不满足表达式,即表达式为假,不执行语句。

那何为真假呢?

0表示假,非0表示真

ps:单条语句与多条语句:

想必大家也注意到了,这里我所写的语句都是单条语句,只有一个printf语句,

当我们要写多条语句时,要用到{},将代码括起来。

if  (age < 18)

    printf("未成年\n");

    printf("不能喝酒\n");

else

    printf("成年");

if语句—超详解 

if语句默认只会执行一条语句,像这样输入多条语句时,编译器会认为if else 中间多出了一条外来语句,不符合if语句的语法 ,所以会报错。

我们必须要用{}括起来才行!

if语句—超详解

#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;
}

 if语句—超详解

这里当我们输入15时,本想再else中输出的语句也会打印出来,这就说明else的第二条语句不包含在else中;

所以要用{}括起来。

为了避免这种错误,我们要养成加{}的习惯!!!


ex:下面我们写几个例子来加深一下理解:

1.悬空else

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

这段代码的结果是什么都不打印!

ps: else的匹配:else是和它离的最近的if匹配的。

2.if书写形式的对比

//代码1

if (condition)

{

   return x;

}

return y;

这段代码的意思也是if...else

return 一次之后就会结束函数,如果符合condition 返回x, 不符合,返回y

逻辑不是很清晰。

//代码2

int num = 1;

if (num == 5)

{

   printf("hehe\n");

}

这里if的表达式为判断是否相等,判断是否相等的符号为"==",

但是我相信几乎每个人都会犯这样的错误:

 if (num = 5)

这样一来就不是判断了,而是将5赋值给num!!!

为了避免这样的错误,我们可以将"=="两边的表达式交换一下:

if (5 == num)

这样写的话,就算你只写了一个=,编译器就会报错,就可以及时得改正过来。文章来源地址https://www.toymoban.com/news/detail-418540.html

到了这里,关于if语句—超详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Golang通过栈实现表达式运算(中缀表达式转后缀表达式解析语法)

    需求背景:将string表达式数组 [title == AUSU ( header == Wecome || brand != AC68U )] 解析并使用ES查询得到运算结果。 分析:带有括号的表达式,需要根据优先级解析,可将中缀表达式转换为后缀表达式,去除括号

    2024年02月14日
    浏览(50)
  • Java 之正则表达式语法及常用正则表达式汇总

    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称

    2024年02月09日
    浏览(71)
  • 表达式和语句

    可以被求值的代码,并将其计算出一个结果 一段可以执行的代码,是一个行为,例如分支语句和循环语句 以前写的代码,写几句就 从上往下执行 ,---顺序结构 有时候要 根据条件 选择执行代码----分支结构 某段代码**重复执行---循环结构 根据条件判定真假, 选择性 的执行

    2024年02月09日
    浏览(37)
  • Rust-语句和表达式

    Rust中if-else表达式的作用是实现条件分支。if-else表达式的构成方式为:以if开头,后面跟上条件表达式,后续是结果语句块,最后是可选的else块。条件表达式的类型必须是bool。 if-else结构还可以当表达式使用 在Rust中,使用loop表示一个无限死循环。示例如下: 我们可以

    2024年01月16日
    浏览(58)
  • 正则表达式的常见语法

           目录 一、基本的正则表达式语法 1.1 字符类 1.2 单个字符的特殊表示 1.3 量词表示  1.4 边界匹配 1.5 分组与捕获  二 、java中的使用   在Java中使用正则表达式进行字符串匹配可以说是一个很重要的技能,尤其对于需要进行文本处理或者字符替换的程序来说,更是必

    2024年04月28日
    浏览(51)
  • 深入理解Rust语句和表达式

       团队博客: 汽车电子社区   语句会执行一些操作但是不会返回一个值,而表达式会在求值后返回一个值,因此在上述函数体的三行代码中,前两行是语句,最后一行是表达式。   以上都是语句,它们完成了一个具体的操作,但是并没有返回值,因此是语句。   由

    2024年01月23日
    浏览(50)
  • Java 正则表达式【基本语法】

    首先我们需要了解的是正则表达式中的各种元字符的功能,主要分为以下几种: 限定符 选择匹配符 分组组合和反向引用符 特殊字符 字符匹配符 定位符 需要注意的是:在 Java正则表达式中,两个斜杠 \\\\ 相当于其它语言中的一个斜杠 。 符号 含义 示例 解释 [ ] 可以匹配的字

    2024年02月13日
    浏览(55)
  • sh 脚本循环语句和正则表达式

    目录 1、循环语句 1、for 2、while 3、until 2、正则表达式 1、元字符 2、表示次数 3、位置锚定 4、分组 5、扩展正则表达式 循环含义 将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件 重复运行次数 循环次数事先已知 循环次数事先未知 for 为 已知循环数 相对于

    2024年02月12日
    浏览(40)
  • Lambda表达式:简介、语法和用法

    Lambda表达式是Java 8中引入的一个重要特性,它允许开发者以更加简洁的方式编写函数式代码。在本文中,我们将深入探讨Lambda表达式的概念、语法和用法,并为每个实例提供代码演示,同时对比与传统方法的区别和优势。 Lambda表达式是一种匿名函数,它主要用于表示简单的行

    2023年04月19日
    浏览(114)
  • 正则表达式概念以及语法的使用

    目录 1.概念 2. 为什么使用正则表达式? 3. 语法 1.普通字符 非打印字符 2. 特殊字符 3. 限定符 4. 定位符 5. 运算优先级 3.匹配规则 1. 基本模式匹配 2. 字符簇 3. 确定重复出现 正则表达式(Regular Expression) 是一种文本模式 , 包括普通字符(例如,a 到 z 之间的字母) 和特殊字符(

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包