预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共33页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第5章选择结构程序设计引例 计算函数值 关系运算符和表达式 关系运算:对两个量进行“比较运算” 关系运算符 种类:<<===>=>!= 结合方向:自左向右 优先级别:关系运算注意:例注意区分“=”与“==” inta=0,b=1; if(a==b) printf(“aequaltob”); else printf(“anotequaltob”);a例a=4;b=5; !a a&&b a||b !a||b 4&&0||2 5>3&&2||8<4-!0 ‘c’&&‘d’短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符如:判断某年year是否为闰年 (闰年:能被4整除,但不能被100整除;或能被400整除)选择结构程序设计 if语句(条件选择语句) if语句的三种形式 形式一:条件执行 格式:if(expression) A 执行过程:形式三:多重分支 格式:如:if(a==b&&x==y)printf(“a=b,x=y”); if(3)printf(“OK”); if(‘a’)printf(“%d”,’a’);#include<stdio.h> voidmain() {floatx,y; printf("Enterx:"); scanf("%f",&x); if(x==0.)y=1; elsey=(x*5+1)/x; printf("\nx=%4.1f\ty=%4.1f\n”,x,y); }#include<stdio.h> voidmain() {inta; printf(“\tinputanumber:"); scanf("%d",&a); if(a%2==0) printf(“\n\t%diseven\n“,a); else printf(“\n\t%disodd\n“,a); }将3个整数按从大到小的顺序排列#include<stdio.h> voidmain() { inta,b,c,t; scanf("%a%b%c",&a,&b,&c); if(a<b) { t=a; a=b; b=t; } if(a<c) { t=a; a=c; c=t; }例:设平面上一点M,其坐标为(x,y),若M落在圆心在坐标原点的单位圆上,则置key=1,落在圆外置key=2,落在圆内置key=0if语句嵌套:例if~else配对原则:缺省{}时,else总是和它上面离它最近的未配对的if配对例:if(a==b) if(b==c) printf(“a==b==c”); else printf(“a!=b”);例考虑下面程序输出结果: main() {intx=100,a=10,b=20; intv1=5,v2=0; if(a<b) if(b!=15) if(!v1) x=1; else if(v2)x=10; x=-1; printf(“%d”,x); }条件运算符与表达式 一般形式:expr1?expr2:expr3 执行过程例:任意输入一个字符,若是大写字母将其转换成小写字母switch语句(开关分支语句) 亦称多分支选择语句。它比用嵌套的if语句实现多路分支问题,结构清晰、易读。 一般形式:说明: E1,E2,…En是常量表达式,且值必须互不相同 语句标号作用,必须用break跳出 case后可包含多个可执行语句,且不必加{} switch可嵌套 多个case可共用一组执行语句例switch(score) {case5:printf(“Verygood!”); case4:printf(“Good!”); case3:printf(“Pass!”); case2:printf(“Fail!”); default:printf(“dataerror!”); }例voidmain() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0:a++;break; case1:b++;break; } case2:a++;b++;break; case3:a++;b++; } printf(“\na=%d,b=%d”,a,b); }#include<stdio.h> main() {intc; printf("Entermornorhorother:"); c=getchar(); switch(c) {case'm':printf("\nGoodmorning!\n");break; case'n':printf("\nGoodnight!\n");break; case'h':printf("\nHello!\n");break; default:printf("\n?