运 50 score=凵50.0-Fai 再次运行: 80≠ score=凵80.0--Pass 在第二个i语句中,jf( score>=60.0)是不能缺少的,否 则不管 score是否小于60,都将打印出第二行的结果
运行: 50 score= 50.0---Fail 再次运行: 80 score= 80.0---Pass 在第二个if语句中,if(score>=60.0)是不能缺少的,否 则不管score是否小于60,都将打印出第二行的结果
方法二:用if~else语句实现: main i float score scanf("%f", &score) if( score<60.0)printf("score=05. 1f---Failln"score) else printf("score=%5. If---PassIn" score) 运行: 50 score=L 50.0---Fail 再次运行 80 score=凵80.0--Pass
方法二: 用if~else语句实现: main( ) { float score; scanf(″%f″, &score); if(score<60.0) printf(″score=%5.1f---Fail\n″, score); else printf(″score=%5.1f---Pass\n″, score); } 运行: 50 score= 50.0---Fail 再次运行: 80 score= 80.0---Pass
2.条件运算符的使用 reise结构中的语句是表达式语句时,就可以使用条 件运算符“?:”了,即下列 ifelse语句: f表达式1)表达式2;else表达式3; 用条件运算符写成通用形式即为 表达式1?表达式2:表达式3 这是一个条件表达式,其功能是:当表达式1的值为真(非零) 时,整个条件表达式的值就取表达式2的值;当表达式1的值 为假(零〕时,整个条件表达式的值就取表达式3的值
2. 当if~else结构中的语句是表达式语句时, 就可以使用条 件运算符“? : ”了,即下列if~else语句: if(表达式1) 表达式2; else 表达式3 表达式1? 表达式2: 表达式3 这是一个条件表达式,其功能是:当表达式1的值为真(非零) 时,整个条件表达式的值就取表达式2的值;当表达式1的值 为假(零)时, 整个条件表达式的值就取表达式3的值
如下列语句段: X=10 if(x>9)y=100;ely=200; 可以写成: =10: y=x>9?100:200;
如下列语句段: x=10; if(x>9) y=100; else y=200; 可以写成: x=10; y=x>9? 100: 200;
例4.3输入x的值,当x>0时调用sqrt(x),否则调用fbs(x) t include <math . h> naine f float,y scanf("%f",&x); # y=x>0? sqrt(x) fabs(x) printf(x=%f, y=%fn"x,y); 运行: 9.0 X=9.00000=3.00000 再次运行: 9.0 X9.000000y=9.000000
例 4.3 输入x的值, 当x>0时调用sqrt(x),否则调用fabs(x)。 #include <math.h> main( ) { float x, y; scanf(″%f″, &x); #= y=x>0? sqrt(x): fabs(x); printf(″x=%f, y=%f\n″, x, y); } 运行: 9.0 x=9.000000, y=3.000000 再次运行: -9.0 x=-9.000000, y=9.000000