- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
3.5选择结构程序设计;①if后面的条件表达式必须放在圆括号()中
②条件表达式的运算结果只有“真”或“假”两个值。
③条件表达式一般是关系表达式或者逻辑表达式,
例如:if(x==y)、if(ab)||(cd))、if(a+bc)等。
但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量或者常量。例如:“if(a=5)”和“if(a)”都是允许的。只要表达式的值为非0,即为“真”。
④[语句组1]可以只包含一个简单语句,也可以是复合语句。如果是复合语句,则需要用{}括起来,并且‘{’和‘}’必须成对出现。;?例3-19:输入一个数,如果该数大于等于0,则输出它的平方根,如果它小于0,则不做任何处理。;1、语法格式:
if(表达式)
[语句组1]
else
[语句组2]
2、执行流程:
①如果表达式的值为真,则执行语句1,然后退出选择结构。
②如果表达式的值为假,则执行语句2,然后退出选择结构。
双分支if语句的执行流程如图所示。;3、说明:
①不要误认为if和else是2个独立的语句,它们都属于if语句中的一部分,else是if语句的子句。
②双分支if语句同样要注意复合语句必须加{}。
例如:if(xy)
{x=y;y=x;}
else
{x++;y++;}
思考分析:上例如果不加{},结果如何?;?例3-20:从键盘输入两个整数,输出两者中的最大数,用双分支if语句实现。;3.多分支if语句
1、语法格式:
if(表达式1)
[语句组1]
elseif(表达式2)
[语句组2]
elseif(表达式3)
[语句组3]
…
elseif(表达式n)
[语句组n]
else
[语句组n+1];2、执行流程:
依次判断表达式的值,当出现某个表达式的值为真时,则执行其对应的语句。然后跳到if语句之外继续执行程序。如果所有的表达式均为假,则执行语句n+1,然后退出选择结构,继续执行后续程序。;?例4-16:从键盘输入字符,判断其类型。ASCII码值小于32为控制字符,在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母,在“a”和“z”之间为小写字母,其余则为其它字符。例如:输入为“g”,输出显示它为小写字符。;?例4-17:用多分支if结构来实现分段函???:
2*x(x≤-10)
y=x+5(-10x≤2)
x-3(2x≤10)
x/10(x10);程序代码:
#includestdio.h
voidmain()
{intx,y;
printf(inputx=);
scanf(%d,x);
if(x=-10)
y=2*x;
elseif(x=2)
y=x+5;
elseif(x=10)
y=x-3;
elsey=x/10;
printf(y=%d\n,y);
};4.if语句的嵌套
1、一般形式:嵌套的if语句有以几种形式。;if(表达式1)
语句1
else
{if(表达式3)
语句3内嵌if
else
语句4};2、说明:
①在书写上,应将处于同一层的if和其对应的else缩进对齐以增强程序可读性。如图所示。;②特别注意if和else的配对问题。为了避免这种二义性,C语言规定,else总是与它上面、距它最近、且尚未匹配的if配对。并且,为明确匹配关系、避免匹配错误,强烈建议将内嵌的if语句,一律用花括号括起来。
例如:
if(表达式1)
if(表达式2)语句1;
else?语句2;
其中的else究竟是与哪一个if配对呢?;?例3-23:用嵌套的if结构来实现分段函数:
2*x(x≤-10)
y=x+5(-10x≤2)
x-3(2x≤10)
x/10(x10)
分析:用嵌套的if结构来实现分段函数时,就如同切西瓜,先将整个瓜劈成两半,再分别各切成两半。该分段函数在数轴上分段
文档评论(0)