c语言ifcase分支选择结构_第1页
c语言ifcase分支选择结构_第2页
c语言ifcase分支选择结构_第3页
c语言ifcase分支选择结构_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C 语言 if case 分支选择结构C 语言 if case 分支选择结构复合语句在 C 语言中,用 一对花括号“ ”将若干条语句括起来成为一个语句组,称为 复合语句,其一般形式如下:语句1 ;语句2;语句3 ; 语句 n ;花括号内语句的数量、类型不限,可以是声明语句、赋值语句等;一个复合语句在语法上被视为一条语句。 例如: #include <stdio.h& gt;main() int a,b,c; /*变量 a,b,c 只能在此复合语句内使用 */a=10; b=20;c=a+b;printf (“ %d, %d,n” ,a,b,c ); 注意,复合语句内的定义变量语句要出现在

2、执行语句之前,且复合语句内定义 的变量只能在该复合语句内部有效。 4.2 二分支选择结构一、 简单的二分支选择结构 C语言的if语句有两种基本形式。1、 独立if结构(1 )语法形式if (表达式)语句其中,if是C语言的关键字;表达式可以是任意的表达式且一对圆 括号不可缺省; 语句可以是一条简单语句或复合语句。 ( 2) 执行过程首先计算表达式的值,然后根据其真假来决定程序 的走向。 若表达式为真 (值为非零) 则执行语句, 若为假(值 为零)则不执行语句。退出分支结构后程序继续执行 if 结构 后面的语句。图 4.1 if 结构流程图( 3)举例 if(a>b)b+; 若 a 的初值

3、为 20, b 的初值为 10,则表达式 (a>b) 为真, 执行语句“ b+; ” a则的结果为20,b的结果为11。若a的初 值为 10 ,b 的初值为 20 ,则表达式 (a>b) 为假,不执行语 句“ b+; ” a卿b均保留初值:10和20。如果语句为复合语 句,将以上程序段改为:if(a>b) b+;a+; 贝畀若a的 初值为20 , b的初值为10,则表达式(a>b)为真,执行语 句“ b+; ”和“ a+a”的结果为21,b的结果为11。而若a 的初值为 10, b 的初值为 20,则表达式 (a>b) 为假,语句“ b+; ”和“ a+; ”均不

4、被执的结果仍为10,b的结果仍为 20。若将复合语句的一对花括号去掉则程序段成为: if(a>b)b+;a+;此时,语句“ a+; ”已不再属于结构,不 管条件为真或为假,对于整个程序来说它都将被执行。 2、 if-else结构(1)语法形式if (表达式)语句lelse语句2其 中,if和else是C语言的关键字,表达式及语句1、语句2解释同上;else不能独立存在,它必须与if语句配对、组合方可使用,否则会产生语法错误;else后面绝对不能跟 条件表达式,它执行的条件是隐含的,即与之配对的if的反面。( 2)执行过程 首先计算表达式的值,然后根据其真假 来决定程序的走向。若表达式为真

5、(值为非零)则执行语句 1 ,若为假(值为零)则执行语句 2。退出分支结构后程序继 续执行 if-else 结构后面的语句。 图4.2 if-else 结构流程图(3) 举例 if(a>b)b+;elsea+; 若 a 的初值为 20, b 的初值为 10 ,则表达式(a>b)为真,执行语句“ b+; ” ,然后退lf-felse 结构,则 a 的结果为 20,b 的结果为 11。若 a 的初值为 10,b 的初值为 20,则表达式 (a>b) 为假,执行语句“ a+; ”然, 后退出 if-else 结构,则 a 的结果为 11,b 的结果为 20 。前文 曾提到过语句 1

6、 和语句 2 都可以是复合语句, 但如果不慎将 语句 1 的花括号丢了,则编译时会出现语法错误,如下例: main()int a=1,b=2;if(a>b) a+; b-;else a-; 该程序执行时会出现错误提示信息:“ Error:Misplaced else in function main ”,因为此时else不能与if合法匹配,而else又不能独 立存在,所以出现了上述错误。二、嵌套的二分支选择结构1、在if语句中嵌套分支结构(1)语法形式if (表达式1) if(表达式2) 语句1 else 语句2else 语句3其中, 表达式1、2均可以是任意的表达式;语句 1、2、3均可 以是一条简单语句或复合语句; 内层 if-else 语句书写时注 意格式缩进以培养良好的程序设计风格; 内层 if-else 结构 仍然可以继续嵌套,以此类推。( 2)执行过程首先计算表达式 1 的值, 若表达式 1 为真则执行内层 if-else 语句, 若表达 式 1 为假则执行语句 3。若执行内层 if-else 语句,则计算表 达式 2 的值,若表达式 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论