- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
说明:本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符;在“0”和“9”之间的为数字;在“A”和“Z”之间为大写字母;在“a”和“z”之间为小写字母;其余则为其他字符。也可以如程序注释那样,用判断字符的库函数来表达所属字符条件。 这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示“This is a small letter”(它为小写字母)。 在使用if语句中还应注意以下问题: (1)在三种形式的if语句中,在if关键字之后均为表达式。该表达式通常是逻辑表达式或关系表达式,但也可以是其他表达式,如算术表达式、赋值表达式等,甚至也可以是一个变量。 例如: if(a=5) 语句; if(b) 语句; 都是允许的。只要表达式的值为非0,即为“真” ,都能执行到其后的语句。 如在“if(a=5)…; ”中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。 理解它 又如,有程序段: if(a=b) //请注意a=b为赋值表达式,而不是关系表达式 printf(%d,a); else printf(a=0); 本语句的语义是,把b值赋予a,如果为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。 注意:“=”与“==”使用中的不同,例如:“int a=0,b=1;if(a=b) printf(“a equal to b?\n”);” 与“int a=0,b=1;if(a==b) printf(“a equal to b\n”);”是完全不同的。 (2)在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。 例如:if x==y printf(“x等于y”) 是错误的,应改为:if (x==y) printf(“x等于y”); (3)在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在右大括号“}”之后不能再加分号(;)。 例如: if(ab) { a++; b++; } //注意:此处不能有“;”号。 else { a=0; b=10; } 5.3.2 if语句的嵌套 当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。 其一般形式可表示如下: if (表达式) if 语句; 或者为 if (表达式) if 语句; else if 语句; 5.3.2 if语句的嵌套 在嵌套内的“if语句”可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。例如: if(表达式1) if(表达式2) 语句1; else 语句2; 其中的else究竟是与哪一个if配对呢? 5.3.2 if语句的嵌套 5.3.2 if语句的嵌套 为了避免这种二义性,C语言规定,else 总是与它前面最近的还未配对的if子句相配对,因此对上述例子应按前一种情况理解。当然我们完全可以通过加“{……}”来实现后一种逻辑的表达的。如下所示: if(表达式1) { if(表达式2) 语句1; } else 语句2; 5.3.2 if语句的嵌套 【例5-6】 比较并显示两数的大小关系(if-else形式实现)。 main(){ int a,b; printf(please input A,B: ); scanf(%d%d,a,b); if(a!=b) if(ab) printf(AB\n); else printf(AB\n); else printf(A=B\n); } 比较两个数的大小关系。本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择即AB、AB或A=B。这种问题用if-else-if语句也可以完成。而且程序更加清晰。因此,以使程序更便于阅读理解,在一般情况下较少使用if语句的嵌套结构。 5.3.2 if语句的嵌套 【例5-7】
文档评论(0)