c语言分支结构(2)

c语言分支结构(2)

ID:20748776

大小:32.50 KB

页数:6页

时间:2018-10-15

c语言分支结构(2)_第1页
c语言分支结构(2)_第2页
c语言分支结构(2)_第3页
c语言分支结构(2)_第4页
c语言分支结构(2)_第5页
资源描述:

《c语言分支结构(2)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、4.在使用if语句中还应注意以下问题  (1)在三种形式的if语句中,在if关键字之后均为表达式。该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如:if(a=5)语句;if(b)语句;都是允许的。只要表达式的值为非0,即为“真”。如在if(a=5)…;中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。  又如,有程序段:if(a=b)printf("%d",a);elseprintf("a=0");本语句的语义是,把

2、b值赋予a,如为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。  (2)在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。  (3)在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号。  例如:if(a>b){ a++; b++;}else{a=0; b=10;}  if语句的嵌套  当if语句中的执行语句又是if语句时,则构成了if语句嵌套的情形。其一般形式可表

3、示如下:  if(表达式)   if语句;  或者为  if(表达式)   if语句;  else   if语句;  在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。例如:  if(表达式1)  if(表达式2)   语句1;  else   语句2;  其中的else究竟是与哪一个if配对呢?  应该理解为:   还是应理解为:  if(表达式1)   if(表达式1)   if(表达式2)    if(表达式2)    语句1;      

4、语句1;   else     else    语句2;    语句2;  为了避免这种二义性,C语言规定,else总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。voidmain(){inta,b;printf("pleaseinputA,B:");scanf("%d%d",&a,&b);if(a!=b)if(a>b)printf("A>B");elseprintf("A

5、canf("%d%d",&a,&b);if(a!=b) if(a>b)printf("A>B");  elseprintf("AB、A

6、:"); scanf("%d%d",&a,&b); if(a==b)printf("A=B"); elseif(a>b)printf("A>B"); elseprintf("A

7、条件表达式的值,否则以表达式2的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。  例如条件语句:if(a>b)max=a;elsemax=b;  可用条件表达式写为max=(a>b)?a:b;执行该语句的语义是:如a>b为真,则把a赋予max,否则把b赋予max。  使用条件表达式时,还应注意以下几点:  1.条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此max=(a>b)?a:b可以去掉括号而写为max=a>b?a:b  2.条件运算符?和:是一对运算符,不能分开单独使用。  3.条件运算

8、符的结合方向是自右至左。  例如:a>b?a:c>d?c:d应理解为a>b?a:(c>d?c:d)这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条件表达式。voidmain(){ inta,b,max; printf("inputtwonumbers:"); scanf("%d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。