第五章.运行起始--选择执行

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

运行起始—选择执行Bylizaib运行起始运行起始运行起始运行起始—选择执行选择执行选择执行选择执行在C语言中,有两种返回值相同的运算符与表达式,返回的值为”真(1)”或”假(0)”,分别是关系运算符与逻辑运算符,最后,我们将见到最常见的分支结构if语句。1.1关系运算符与逻辑运算符关系运算符与逻辑运算符关系运算符与逻辑运算符关系运算符与逻辑运算符首先,我们来看看它们之间的差异性。图1从图1可看出关系运算很简单,主要用于比较两个量的大小。接下来特别的说明便是逻辑运算符和表达式。关于逻辑运算符关于逻辑运算符关于逻辑运算符关于逻辑运算符::::注意:逻辑运算符中”!(非)”为仅一的单目运算符,且为右结合性。&&(与):当两边都为真时(即两边的结果不为0),那么结果为真,否则为假!例如例如例如例如::::50&&4250&&4250&&4250&&42||(或):只要一边为真时(即一边的结果为1),那么结果为真,两边为假时,结果为假!!例如例如例如例如::::50||5850||5850||5850||58!(非):参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如例如例如例如::::!(50)!(50)!(50)!(50)1.2if语句语句语句语句用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。运行起始—选择执行Bylizaib1.3if语句的嵌套语句的嵌套语句的嵌套语句的嵌套当if语句中的执行语句又是if语句时,则构成了if语句嵌套的情形。其一般形式可表示如下:if(if(if(if(表达式表达式表达式表达式))))ifififif语句语句语句语句;;;;或者为if(if(if(if(表达式表达式表达式表达式))))ifififif语句语句语句语句;;;;elseelseelseelseifififif语句语句语句语句;;;;运行起始—选择执行Bylizaib1.41.41.41.4条件运算符和条件表达式条件运算符和条件表达式条件运算符和条件表达式条件运算符和条件表达式如果在条件语句中,只执行单个的赋值语句时,常可使用条件表达式来实现。不但使程序简洁,也提高了运行效率。条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:表达式表达式表达式表达式1?1?1?1?表达式表达式表达式表达式2222::::表达式表达式表达式表达式3333其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。例如条件语句:if(ab)max=a;if(ab)max=a;if(ab)max=a;if(ab)max=a;elsemax=b;elsemax=b;elsemax=b;elsemax=b;可用条件表达式写为max=(ab)?a:b;max=(ab)?a:b;max=(ab)?a:b;max=(ab)?a:b;执行该语句的语义是:如ab为真,则把a赋予max,否则把b赋予max。使用条件表达式时,还应注意以下几点:1)1)1)1)条件运算符的运算优先级低于关系运算符和算术运算符条件运算符的运算优先级低于关系运算符和算术运算符条件运算符的运算优先级低于关系运算符和算术运算符条件运算符的运算优先级低于关系运算符和算术运算符,,,,但高于赋值符但高于赋值符但高于赋值符但高于赋值符。。。。因此max=(ab)?a:b可以去掉括号而写为max=ab?a:b2)2)2)2)条件运算符条件运算符条件运算符条件运算符????和和和和::::是一对运算符是一对运算符是一对运算符是一对运算符,,,,不能分开单独使用不能分开单独使用不能分开单独使用不能分开单独使用。。。。3)3)3)3)条件运算符的结合方向是自右至左条件运算符的结合方向是自右至左条件运算符的结合方向是自右至左条件运算符的结合方向是自右至左。。。。例如:ab?a:cd?c:d应理解为ab?a:(cd?c:d)这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条件表达式。1.5switch1.5switch1.5switch1.5switch语句语句语句语句与if一样,同为灵活的选择结构。switch(switch(switch(switch(表达式表达式表达式表达式){){){){casecasecasecase常量表达式常量表达式常量表达式常量表达式1:1:1:1:语句语句语句语句1;1;1;1;casecasecasecase常量表达式常量表达式常量表达式常量表达式2:2:2:2:语句语句语句语句2;2;2;2;…casecasecasecase常量表达式常量表达式常量表达式常量表达式n:n:n:n:语句语句语句语句n;n;n;n;default:default:default:default:语句语句语句语句n+1;n+1;n+1;n+1;}}}}定义:先计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。例如:main(){intk;printf(1+1等于多少等于多少等于多少等于多少????);scanf(%d,&k);switch(k){case1:printf(哇哇哇哇!你真是天才你真是天才你真是天才你真是天才,,,,前途无量前途无量前途无量前途无量\n);break;case2:printf(和你没话说和你没话说和你没话说和你没话说!!\n);break;default:printf(回家玩去回家玩去回家玩去回家玩去!);}}

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功