【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 ...
随机推荐
- android 从系统相册获取一张图片
package net.viralpatel.android.imagegalleray; import android.app.Activity; import android.content.In ...
- POJ 1036 Rails 模拟堆栈
水题,主要是思路清晰,判断明确. 记x为A站最前方的车,y表示下一列要进入B站的车厢,初识时,x=1;y=a1;C=[]; 在调度过程中: if(y==0)那么调度成功,退出模拟过程:否则 if(x= ...
- Android开发之全屏显示的两种方法
1.通过修改清单文件中Theme,实现全屏 <application android:name=".MyApplication" android:allowBackup=&q ...
- 1019.Line Painting(线段树 离散化)
1019 离散化都忘记怎么写了 注意两个端点 离散化后用线段树更新区间 混色为-1 黑为2 白为1 因为N不大 最后直接循环标记这一段的颜色查找 #include <iostream> ...
- freemarker得到数组的长度
取得list的长度:${fields?size}.用?size不是用?length,代码如下所示: <#list properties as item> <#assign layer ...
- Fiddler的基本介绍
fiddler 简介: 一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视.设置断 ...
- PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析
现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...
- ORACLE DATAGURARD配置手记
经过多次实践,参阅网上N多文章……最后还是配不成,可能本人悟性太低,无法体会高手的笔记.最终还是在前辈的帮助下完成.特用最平实的手法记录下来,以便如吾辈菜鸟能 看得懂. 运行Data Guard的条件 ...
- 【转】FragmentTest学习笔记1
原文网址:http://blog.csdn.net/hishentan/article/details/20734489 源码部分: BookContent.java package com.exam ...
- InnoDB关键特性之doublewrite
部分写失效 想象这么一个场景,当数据库正在从内存向磁盘写一个数据页时,数据库宕机,从而导致这个页只写了部分数据,这就是部分写失效,它会导致数据丢失.这时是无法通过重做日志恢复的,因为重做日志记录的是对 ...