【C语言】-选择结构-if语句
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语句的更多相关文章
- Golang的选择结构-switch语句
Golang的选择结构-switch语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ( ...
- Golang的选择结构-if语句
Golang的选择结构-if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ()登录Q ...
- 选择结构if语句和switch语句的区别
------- android培训.java培训.期待与您交流! ---------- 1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if( ...
- C语言---选择结构和循环结构
C语言的两种选择语句,1) if语句; 2) switch语句; 在if判断语句中,一般使用关系表达式. 关系运算符: <.<=.>.>=.==.!= 关系表达式:用关系运算符 ...
- C语言----选择结构(基础篇三)
大家好,忙里抽空更新一下自己的博客,算是自己的一个进步,C语言视频启蒙我早就看完啦,只是觉得这个视频真不错,所以给大家分享一下,同时自己还有很多没有理解透彻,写写博客算是一个笔记更是对自己所学的知识的 ...
- C语言------选择结构
仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4.小结 1 .实训名称 实训4:选 ...
- 03-03 java 顺序语句结构,选择结构if语句
顺序结构: /* 流程控制语句:可以控制程序的执行流程. 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行. */ class ShunXuJieGouDemo { public ...
- 怎么绘制C语言选择和循环语句的思维导图
C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...
- C#语言————选择结构
int[] num = new int[] {23,76,54,87,51,12 }; //冒泡排序 for (int i = 0; i < num.Length - 1; i++) { for ...
随机推荐
- oracle 增加字段
之前很多表增加很多相同的字段,一个一个添加太慢烦了,于是用了以下的方法alter table t_xmlc_batch_out_head_bak add ( SENDRECEIVEFLAG ) , S ...
- 李洪强iOS开发之OC常见错误汇总
// // main.m // 16 - 常见错误汇总 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All r ...
- IntelliJ IDEA 添加jar包的三种方式
一.直接复制:(不推荐)方法:直接将硬盘上的jar包复制粘贴到项目的lib目录下.
- socket关闭动作以及socket状态的总结
主要部分,四次握手: 断开连接其实从我的角度看不区分客户端和服务器端,任何一方都可以调用close(or closesocket)之类的函数开始主动终止一个连接.这里先暂时说正常情况.当调用close ...
- 概率图模型之有向图与无向图之间的关系 I map D map perfect map(完美图) 概念
我们已经讨论了有向图和无向图框架下的概率模型,那么我们有必要讨论一下它们二者的关系.
- Android开发之音乐播放器的实现
Android音乐播放器 使用到Android的Actiivity和Service组件 播放音频的代码应该运行在服务中,定义一个播放服务MusicService,服务里定义play.stop.paus ...
- 1650. Billionaires(线段树)
1650 简单题 线段树的单点更新 就是字符串神马的 有点小繁琐 开两个map 一个存城市 一个存名字 #include <iostream> #include<cstdio> ...
- 中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2721 题意: 给定n个左标,跟那n个坐标 ...
- Missing artifact com.sun:tools:jar:1.5.0的解决方案
今天在用maven的时候遇到一个问题pom.xml提示Missing artifact com.sun:tools:jar:1.5.0 试过改eclipse的eclipse.ini文件,也试过在ecl ...
- 手机3D游戏开发:自定义Joystick的相关设置和脚本源码
Joystick在手游开发中非常常见,也就是在手机屏幕上的虚拟操纵杆,但是Unity3D自带的Joystick贴图比较原始,所以经常有使用自定义贴图的需求. 下面就来演示一下如何实现自定义JoySti ...