第4章选择结构程序设计 1、熟练掌握i语句的3种形式与使用,并理 解ⅱ语句嵌套的二义性; 2、熟练掌握 switch语句的使用方法; 3、了解用条件运算符实现选择的方法; 4、通过比较几种选择结构实现方法,了解 各种选择结构的特性; 5、学会选择结构程序的综合运用
第4章 选择结构程序设计 1、熟练掌握if语句的3种形式与使用,并理 解if语句嵌套的二义性; 2、熟练掌握switch语句的使用方法; 3、了解用条件运算符实现选择的方法; 4、通过比较几种选择结构实现方法,了解 各种选择结构的特性; 5、学会选择结构程序的综合运用
C语言程序设计 我们一起来回忆:条件表达式 一般形式:表达式1?表达式2表达式3 ☆功能:相当于条件语句,但不能取代一if语旬 非0 0 表达式 表达式2 表达式3 第四章选择结构设计 选例if(a>b) printf(%d”,a); printf("%d, a>b?a: b); else printf(od”,b);
我们一起来回忆:条件表达式 ❖一般形式: 表达式1 ?表达式2 :表达式3 ❖功能:相当于条件语句,但不能取代一般if语句 例 if (a>b) printf(“%d”,a); else printf(“%d”,b); printf(“%d”,a>b?a:b); 表达式1 表达式2 表达式3 非0 =0 语 言 程 序 设 计 第 四 章 选 择 结 构 设 计 C
选择型程序设计 ★if语旬(选择执行语旬) 表达式 0 if语旬的三种形式 非0 ●形式一: 语句 ◆格式:if(表达式) 语句 mal: if(x>y printf(edx) 非0表达式=0 语句1[语句1 语句2 eise 语句2 例:if(x>y)max=x; ese max-y
选择型程序设计 if语句(选择执行语句) ❖if语句的三种形式 ⚫形式一: ◆格式:if (表达式) 语句 表达式 语句 非0 =0 例:if (x>y) printf(“%d”,x); 表达式 语句1 语句2 ⚫形式二(条件执行语句) 非0 =0 ◆格式:if (表达式) 语句1 else 语句2 例:if (x>y) max=x; else max=y;
if(表达式1) 语句1 ●形式三: ◆格式 else if(表达式2)语句2 else if(表达式3)语句3 ◆执行过程: ese 语句n 例:if( salary>1000) index=0. 4; else if (salary>800) index=0.3 else if(salary>600) index=0.2 else if (salary>400) index=0.1 eise index=0 语句1语句2语句3语句n
⚫形式三: ◆格式: if ( 表达式1 ) 语句1 else if (表达式2 ) 语句2 else if (表达式3 ) 语句3 …... [ else 语句n ] 表达式1 语句1 非0 =0 表达式2 表达式3 语句2 语句3 语句n 非0 非0 =0 =0 ◆执行过程: 例:if (salary>1000) index=0.4; else if (salary>800) index=0.3; else if (salary>600) index=0.2; else if (salary>400) index=0.1; else index=0;
●说明: ◆if后面的表达式类型任意 ◆语旬可以是复合语旬 :i(a=b&&x=:y) printf(“a=b,x=y”); 3)prit(“OK”); 例考慮下面程序的输出结果 #include maino i int x, y; scanf(%od, %d", &x, &y); x-y,y-x, Compile error! eise x++;y++; printf(“%d,%dn”,xy);
如:if(a==b&&x==y) printf(“a=b,x=y”); if(3) printf(“OK”); if(‘a’) printf(“%d”,’a’); ⚫说明: ◆if后面的表达式类型任意 ◆语句可以是复合语句 ◆ if(x) if(x!=0) if(!x) if(x==0) 例 考虑下面程序的输出结果: #include main() { int x,y; scanf(“%d,%d”,&x,&y); if(x>y) x=y; y=x; else x++; y++; printf(“%d,%d\n”,x,y); } Compile Error!
例求一个数的绝对值 井 include main int x,y5 printf( " Enter an integer scanf(%d", &x); y-x, if(yabsolute value: %d\n"x, y); 运行: Enter an integer:12 integer: -12--->absolute value: 12
#include main() { int x,y; printf("Enter an integer:"); scanf("%d",&x); y=x; if(yabsolute value:%d\n",x,y); } 例 求一个数的绝对值 运行:Enter an integer:-12 integer:-12--->absolute value :12
例输入两个数并判断两数相等否 Include main int a. b: printf(" Enter integer a:"运行: Enter integer a12 scanf(%od", &a); Enter integer b: 12 printf( Enter integer b: a==b scanf(odor &b) if(a==b) 运行: Enter integer a:12 printf(a==bn) Enter integer b: 9 ese al=b printf("a!=bIn");
#include main() { int a,b; printf("Enter integer a:"); scanf("%d",&a); printf("Enter integer b:"); scanf("%d",&b); if(a==b) printf("a==b\n"); else printf("a!=b\n"); } 例 输入两个数并判断两数相等否 运行:Enter integer a:12 Enter integer b:12 a==b 运行:Enter integer a:12 Enter integer b:9 a!=b
例判断输入字符种类 Include main k char c; printf( Enter a character: ) c=getchar if(c=0&&c='a'&&c=a&&c<=z)printf( The character is a lower letterin") else printf( The character is other characterIn); 运行: Enter a character:F1d The character is other character
#include main() { char c; printf("Enter a character:"); c=getchar(); if(c='0'&&c='A'&&c='a'&&c<='z') printf("The character is a lower letter\n"); else printf("The character is other character\n"); } 例 判断输入字符种类 运行:Enter a character: The character is a control character :8 The character is a digit 运行: Enter a character: D The character is a capital letter 运行: Enter a character: h The character is a lower letter 运行: Enter a character:F1 The character is other character
心if语旬嵌: ●一般形式 f(表达式1) if(表达式1) if(表达式2)内嵌if if(表达式2) 语旬1 语旬1 内嵌if else ese 语旬3 语句2 if(表达式1) 语旬1 if(表达式1) if(表达式2)语旬1 eise 内嵌if els 语旬2 f(表达式3) else 语旬3 内嵌if if(表达式3)语旬3 else 内嵌if 语句4 语旬4
❖if语句嵌套: ⚫一般形式: if (表达式1) if (表达式2) 语句1 else 语句2 else if(表达式3) 语句3 else 语句4 内嵌if 内嵌if if (表达式1) if (表达式2) 语句1 else 语句2 内嵌if if (表达式1) if (表达式2) 语句1 else 语句3 内嵌if if (表达式1) 语句1 else if(表达式3) 语句3 else 语句4 内嵌if
例输入两数并判断其大小关系 Include main (0 nt x,y printf("Enter integer x, y: "iEiT: Enter integer x, y: 12, 23 scanton od,%d",&x,&y) XY if(x>y printf(x>Yin Enter integer x, y: 12, 12 else printf("X<Yn); Y else printf( X==Yin")
例 输入两数并判断其大小关系 #include main() { int x,y; printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y) if(x>y) printf("X>Y\n"); else printf("XY Enter integer x,y:12,12 X==Y