if语句:也可称条件语句,是根据所给定条件的值是真还是假决定执行不同的分支。

if语句有单分支、双分支、多分支以及if语句的嵌套等多种形式。

单分支if语句:

if (条件表达式)
{
语句组1;
}

例1:

if (a)
{
...
}

当条件表达式的值为“真”时,执行语句组;当值为“假”时,跳过语句,直接执行if语句后面的其他语句。

注意:

(1)if后面的“表达式”,除了可以是关系表达式或逻辑表达式外,也可以是其他类型的数据,如普通的整型、实型、字符型的常量或变量,但这些数据都看作逻辑值。如例1中,如果a不为0,执行语句。否则执行if语句后面的语句。

(2)if语句中的“表达式”必须用“(”和“)”括起来。

(3)当if下面的语句组只有一条语句时,可以不适用复合语句的形式,即花括号去掉,但多条语句必须使用复合语句形式。

双分支if语句:

if (条件表达式)
{
语句组1;
}
else
{
语句组2;
}

双分支if语句的执行过程

当条件表达式的值为“真”时,执行语句组1;当条件表达式的值为“假”时,执行语句组2;两组语句只能执行其中一个,执行完毕后,执行if语句后面的语句。

注意:

在双分支if结构中,else子句是if语句的一部分,必须与if配对使用,不能单独使用。

多分支选择结构:

一般用于某一事件可能出现的多种情况的处理。通常表现为“如果满足某种条件,就进行某种处理,否则判断是否满足另一种条件,执行另一种处理等”。

if (表达式1)
{
语句组1;
}
else if (表达式2)
{
语句组2;
}
else if (表达式3)
{
语句组3;
}
...
else
{
语句组n;
}

多分支if语句的执行过程:

if语句的嵌套:

如果在if语句中又包含一个或多个if语句,则称为if语句的嵌套。

格式1:

if (表达式1)
{
if (表达式2)
{
语句组1;
}
else
{
语句组2;
}
}
else
{
语句组3;
}

格式2:

if (表达式1)
{
语句组1;
}
else
{
if (表达式2)
{
语句组2;
}
else
{
语句组3;
}
}

注意:

  • C语言规定,在if语句的嵌套结构中,else子句总是和在它上面、据它最近、且尚未匹配的if配对。
  • 内嵌的if语句,一律用花括号括起来。
  • 书写时,可以采用缩进形式以清楚地表达层次关系。
  • if语句中嵌套层数不宜太多(2~3层)。

【C语言】-选择结构-if语句的更多相关文章

  1. Golang的选择结构-switch语句

    Golang的选择结构-switch语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ( ...

  2. Golang的选择结构-if语句

    Golang的选择结构-if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ()登录Q ...

  3. 选择结构if语句和switch语句的区别

    ------- android培训.java培训.期待与您交流! ---------- 1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if( ...

  4. C语言---选择结构和循环结构

    C语言的两种选择语句,1) if语句; 2) switch语句; 在if判断语句中,一般使用关系表达式. 关系运算符: <.<=.>.>=.==.!= 关系表达式:用关系运算符 ...

  5. C语言----选择结构(基础篇三)

    大家好,忙里抽空更新一下自己的博客,算是自己的一个进步,C语言视频启蒙我早就看完啦,只是觉得这个视频真不错,所以给大家分享一下,同时自己还有很多没有理解透彻,写写博客算是一个笔记更是对自己所学的知识的 ...

  6. C语言------选择结构

    仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4.小结 1 .实训名称 实训4:选 ...

  7. 03-03 java 顺序语句结构,选择结构if语句

    顺序结构: /* 流程控制语句:可以控制程序的执行流程. 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行. */ class ShunXuJieGouDemo { public ...

  8. 怎么绘制C语言选择和循环语句的思维导图

    C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...

  9. C#语言————选择结构

    int[] num = new int[] {23,76,54,87,51,12 }; //冒泡排序 for (int i = 0; i < num.Length - 1; i++) { for ...

随机推荐

  1. java:复写equals实例

    class User { String name; int age; /* *比较过程思路: *1.两个对象指向位置相同,那么他们就相等,return后跳出函数,不再往下执行 *2.指向位置不同,有3 ...

  2. 【HDOJ】2242 考研路茫茫——空调教室

    tarjan缩点,然后树形dp一下可解.重点是重边的处理. /* 2242 */ #include <iostream> #include <sstream> #include ...

  3. default parameter value for ‘color’ must be a compile-time constant

    定义了一个函数,函数有一个参数是Color类型的可选参数,想要设置其默认值为Color.Black http://stackoverflow.com/questions/2804395/c-sharp ...

  4. 使用ANT打包Android应用

    大家好,今天来分享一下如何使用ANT打包Android应用. 通常我们习惯用eclipse来开发Android程序,它会自动帮我们打包当前的应用程序.如果在Navigator视图下,我们可以看到以下几 ...

  5. sizeof(结构体)的计算

    摘要: 经常被计算结构体的sizeof给搞晕,于是找了个时间,静下心来,搞定它. 一.为什么结构体计算这么乱? 答案是字节对齐,计算机存储系统中以Byte为单位存储数据,不同数据类型所占的空间不同,如 ...

  6. C语言中的malloc和free

    最近在研究php自定义函数的实现,其中php自定义函数在传递参数时,是放到人为的一个栈中,这个跟写C程序时,参数入栈的这个栈还不一样,其中延伸到了 malloc 以及free 有人说在free(p)后 ...

  7. JavaScript NodeList和Array

    原文引用脚本之家作者:Jeff Wong,谢谢大神提供资源 在Web前端编程中,我们通常会通过document.getElementsByTagName或者document.getElementsBy ...

  8. sencha touch 2 tabpanel中List的不显示问题,解决方案

    笔者在做sencha项目的时候碰到一个需求,就是"好友列表"中分为"未确认好友"和"已确认好友",两个都是一个list,自然想到的就是使用t ...

  9. 从算法入手讲解如何在SQL Server中实现最优最简

    算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键.在计算机世界中,算法无处不在.数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储.查询.统计.以解决现实世 ...

  10. 【JSP】让HTML和JSP页面不缓存从Web服务器上重新获取页面

    用户退出后,如果点击浏览器上的后退按钮,Web应用将不能正确保护受保护的页面——在Session销毁后(用户退出)受保护的JSP页重新在浏览器中显示出来. 然而,如果用户点击返回页面上的任何链接,We ...