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. Bugku-CTF加密篇之affine(y = 17x-8 flag{szzyfimhyzd})

    affine y = 17x-8 flag{szzyfimhyzd} 答案格式:flag{*} 来源:第七届山东省大学生网络安全技能大赛  

  2. bugku 头等舱

    先查看题目发现页面是这一个 然后打开后台F12 发现后台什么也没有 然后使用抓包burpsuit 然后发现答案就在其中 (首先右键转到repeater然后点击go)

  3. Go键盘输入和打印输出

    package main import ( "fmt" "bufio" "os" ) func main() { /* 输入和输出: fmt ...

  4. bit Buffer

    在音频流解析过程中,常常会涉及到顺序读取某些bit的操作. #include<stdio.h> typedef struct _BIT_BUF { unsigned char buffer ...

  5. tomcat使用中的笔记

    1.修改tomcat命令窗口的名字 平时在使用tomcat的时候,经常会在一台机器上启动多个tomcat,但是默认的情况下启动多个就不好区分对应启动了什么应用,这时我们就可以通过修改tomcat窗口名 ...

  6. 解决springboot 出现异常: java.net.BindException: Address already in use: bind

    解决springboot 出现异常: java.net.BindException: Address already in use: bind 这是引文在启动springboot 的时候,没有关闭端口 ...

  7. 「JSOI2015」染色问题

    「JSOI2015」染色问题 传送门 虽然不是第一反应,不过还是想到了要容斥. 题意转化:需要求满足 \(N + M + C\) 个条件的方案数. 然后我们就枚举三个数 \(i, j, k\) ,表示 ...

  8. window下进程退出后自动重启

    设计思想:编写批处理脚本监控进程的运行状态,如果发现进程停止,则自动重启该进程.批处理脚本(jk.bat)和进程脚本(hello.bat)如下: 1.jk.bat @echo off rem 定义需监 ...

  9. win10中,vscode安装go插件排雷指南

    最近学习go,想着使用强大的vscode编写go,在安装go插件过程中,遇到了很多问题.下面记录解决方案. 1)win10环境,安装go,vscode,git 配置GOPATH环境变量,在我的电脑-& ...

  10. EasyUI tree的三种选中状态

    EasyUI中tree有三种选中状态,分别是checked(选中).unchecked(未选中).indeterminate(部分选中). 其中indeterminate状态比较特殊,主要表示只有部分 ...