- 31
- 0
- 约1.14万字
- 约 57页
- 2016-12-28 发布于北京
- 举报
5、条件表达式中,表达式1的类型可以与表达式2和表达式3的类型不同 如:x为整形变量 x?’a’:’b’ 表达式2和表达式3的类型也可以不同,此时条件表达式的值的类型为二者中较高的类型. 如: xy?1:1.5 1→1.0 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例如: if (number 500) const = 0.15; else if (number 300) const = 0.10; else if (number 100) const = 0.075; else if (number 50) const = 0.05; else const = 0; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 说明: 1.if (表达式)中的“表达式”为逻辑表达式或关系表达式,例、 if (a==b x==y) printf(a=b,x=y); 也可以为任意的数值类型(整型,实型,字符型,指针型),如、 if (3) printf(O.K.); if (a) printf(%d, a); 2.注意语句应以分号结束。例: if (x0) printf( %f, x);else printf( %f, -x); Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3.语句可以是复合语句,例: if (a+bc b+ca c+ab) { s = 0.5*(a+b+c); area = sqrt(s*(s-a)*(s-b)*(s-c)); printf(area=%6.2f,area); } else? printf(it is not a trilateral); 注意:大括号{ }本身是一个完整的复合语句,不需要分号。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. [例5.1] 输入两个实数,按代数值由小到大输出这两个数。 main() { float a,b,t; ? scanf(%f,%f,a,b);? if (ab)? { t = a; a = b; b = t;} ?printf(%5.2f,%5.2f,a,b);; }? 运行示例、 3.6 ,-3.2↙ -3.2, 3.6 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. [例5.2] 输入三个数,按由大到小输出。 main( ) { float a,b,c,t;? scanf(%f,%f,%f,a,b,c);? if (ab) {t = a; a = b; b = t;} ?if (ac)? {t = a; a = c; c = t;} ?if (bc) ?{t = b; b = c; c = t;} ?printf(%5.2f,%5.2f,%5.2f,a,b,c); } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 5.3.2 if语句的嵌套 在一个if语句中又包含另一个或多个if语句称为if语句的嵌套 。 一般形式如下: if ( )? if ( ) 语句1 内嵌if ? else 语句2 else? if ( ) 语句3
原创力文档

文档评论(0)