if语句是实现分支结构的常用分支语句之一,另外还有条件运算符、switch语句等。

if语句的功能是:根据给定条件,选择程序执行方向。

if语句的基本格式

“if语句”又称条件语句,其基本格式为:
    if(表达式)      语句1;
    else           语句2;
其中:

  • 表达式——条件表达式,可以是C++中任意合法表达式,如算术、关系、逻辑或逗号表达式等。表达式的值为0则为“假”;非0则为“真”。
  • 语句1、2——内嵌语句,可以是单一、复合或者空语句,在语法上各自表现为1个语句。

执行流程


if语句的执行流程示意图如上图所示,描述如下:
(1) 计算条件表达式的值;
(2) 若表达式的值为真(或非0),执行语句1;否则,即表达式的值为假(或为0),则执行语句2。
图中的“块”即代表语句。

注意:if分支中的语句1也可以是空语句。如:
    if(x<0)  ;
 注意与前面的简化格式区别开,使用时千万记得空语句也要以分号与其他语句分隔!

简化格式

当语句2为“空语句”时,往往可以将else语句省略,得到基本格式的简化形式:
    if(表达式)      语句1;
执行流程变为:当条件表达式的值为假时,程序将直接执行分支语句之后的语句。

例如,对于下列分支函数:

(1)用标准if语句描述,格式如下:
        if(x<0)      y=0;
        else        y = x*x*x+3*x; y = 0;
(2)用无else的简化格式,其思想是:令y的值为0,如x>=0,重新计算y的值,否则(即x<0),y的值不变。 则可描述为:
        if(x>=0) y = x*x*x+3*x;

应用举例

【例2.4】 输入一个年份,判断是否为闰年。
#include <iostream>
using namespace std;
int main( ){
    int year;
    cout<<"输入年份:"<<endl;
    cin>>year;
    if (year%4==0&&year%100!=0||year%400==0)
        cout<<year<<"是闰年"<<endl;
    else  cout<< year<<"年不是闰年"<<endl;
    return 0;
}

【例2.5】 从键盘上输入三个整数,输出其中的最大数。
#include <iostream>
using namespace std;
int main(){
    int a, b, c, max;
    cout<<"输入三个整数:";
    cin>>a>>b>>c;
    cout<<"a="<<a<<'\t'<<"b="<<b<<'\t'<<"c="<<c<<endl;
    if(a>=b) max=a;
    else max=b;
    if(c>max) max=c;
    cout<<"最大数为:"<<max<<endl;
    return 0;
}

说明:‘ \t’ 为水平制表符,一般相当与敲一个Tab的效果(也就是4个或者8个空格),即空格效果。(注意用单引号或双引号)

条件语句(if语句)的用法的更多相关文章

  1. sql语句中charindex的用法 可用于截取字符串

    使用CHARINDEX和PATINDEX函数来搜索文字列和字符串.这两个函数是如何运转的,解释他们的区别.同时提供一些例子,通过这些例子,你可以可以考虑使用这两个函数来解决很多不同的字符搜索的问题. ...

  2. SQL语句一些特殊的用法

    SQL语句一些特殊的用法 一.基础 1.说明:创建数据库 CREATE DATABASE database-name  2.说明:删除数据库 drop database dbname 3.说明:备份s ...

  3. Shell编程之循环语句与echo的用法

    Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...

  4. python之最强王者(3)——变量,条件、循环语句

    1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...

  5. java break语句的三种用法

    1.用于switch语句当中,用于终止语句 2.用于跳出循环,此为不带标签的break语句,相当与goto的作用 e.g while(i<j&&h<k){ if(h< ...

  6. Python新手学习基础之条件语句——elif语句

    elif语句 (相当于C语言的else if) 在Python中,当我们需要有更多的判断条件时,我们往往会使用另外一种语法表达,即使用elif: if 判断条件1: 执行语句1 elif 判断条件2: ...

  7. Python 2.7 学习笔记 条件与循环语句

    本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...

  8. 第二部分 条件控制执行语句、循环语句、switch语句、跳转语句和其它语句

    条件控制执行语句: if语句 if....else....语句 循环语句: while语句 do....while语句 for语句 switch语句: 跳转语句: break; continue; r ...

  9. Python中的条件和循环语句

    条件和循环语句 1. 条件语句 if单用 格式:if 条件表达式 例如:if 5 > 3: print('True') >>> 'True' #当条件满足时才会执行上述操作. ...

  10. #7 Python顺序、条件、循环语句

    前言 上一节讲解了Python的数据类型和运算,本节将继续深入,涉及Python的语句结构,相当于Python的语法,是以后编写程序的重要基础! 一.顺序语句 顺序语句很好理解,就是按程序的顺序逻辑编 ...

随机推荐

  1. Innovus 对multibit 的支持

    如果在综合阶段没有做multibit merge, 或综合阶段由于缺失物理信息multibit cell merge 不合理,那就需要PR 工具做multibit merge 或split. Inno ...

  2. 迅速看一下jdk8

    一直在看java并发的感觉说的有点多,就看点简单的放松一下吧!这次来简单说一下jdk8,很久没用,都陌生了,仔细看看还挺有意思的,让我们大脑转化一个角度来写代码:因为我们现在平常大部分用jdk7写代码 ...

  3. 红帽RHCE培训-课程3笔记目录

    目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...

  4. 安装搭建appium运行环境

    整体步骤: 1.安装appium依赖的Python包(Appium-Python-Client): 2.安装Appium Desktop(集成了appium server和node.js,所以不需要额 ...

  5. 【PAT甲级】1081 Rational Sum (20 分)

    题意: 输入一个正整数N(<=100),接着输入N个由两个整数和一个/组成的分数.输出N个分数的和. AAAAAccepted code: #define HAVE_STRUCT_TIMESPE ...

  6. Javascript中forEach的异步问题

    某天尝试了下在 forEach函数中调用 await Promise() 方法,如下: var arr = [1,2,3] arr.forEach(async (v,i,a)=>{ await ...

  7. 洛谷 P3956 棋盘(记忆化搜索)

    嗯... 题目链接:https://www.luogu.org/problem/P3956 这是一道比较好搜的题,注意一些剪枝.预处理和魔法的处理问题(回溯). AC代码: #include<c ...

  8. mysql DATE_FORMAT 函数使用

    使用DATE_FORMAT 查询数据库中时间类型显示 SELECT a.name ,a.uuid ,p.assess_price as assessPrice ,p.assess_date as as ...

  9. MongoDB-1 入门

    基础概念 MongoDB 是非关系型数据库,也就是nosql,存储json数据格式会非常灵活,要比mysql更好,同时也能为mysql分摊一部分的流量压力.另外呢,对于非事务的数据完全可以保存到Mon ...

  10. Windows配置本地Hadoop运行环境

    很多人喜欢用Windows本地开发Hadoop程序,这里是一个在Windows下配置Hadoop的教程. 首先去官网下载hadoop,这里需要下载一个工具winutils,这个工具是编译hadoop用 ...