C语言选择结构PPT课件_第1页
C语言选择结构PPT课件_第2页
C语言选择结构PPT课件_第3页
C语言选择结构PPT课件_第4页
C语言选择结构PPT课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一一 、if if 语句(条件选择语句)语句(条件选择语句)1 1、最基本的、最基本的if if 语句语句表达式表达式语句组语句组或语句或语句真真假假基本基本 if if 语句的通常形式是:语句的通常形式是:if ( if ( 表达式表达式 ) ) 语句;语句;if ( if ( 表达式表达式 ) ) 语句;语句; 语句;语句; if ( x y ) /* 简单语句简单语句 */ z = x ;可以为逻辑表达可以为逻辑表达式或关系表达式式或关系表达式if ( x y ) /* 复合语句复合语句 */ z=x; x=x+1; printf(“%dn”,z); 第1页/共20页复合语句:是由一对花

2、括号包围起来的一条或多条语句。复合语句:是由一对花括号包围起来的一条或多条语句。复合语句的形式:复合语句的形式:选择结构选择结构循环结构循环结构 语句语句1 1; 语句语句2 2; 语句语句3 3; IfIf( 条件条件 ) 语句语句1 1; 语句语句2 2; 语句语句3 3; whilewhile( 条件条件 ) 语句语句1 1; 语句语句2 2; 语句语句3 3; 复合语句复合语句逻辑上我们把复合语句看作是一条语句。逻辑上我们把复合语句看作是一条语句。第2页/共20页例1:要求用户输入一个实数,然后程序求出这个实数的绝对值并输出。#include main( ) float x,y; pr

3、intf(“Please input x:”); scanf(“%f”,&x); y = x; if(y=0 x=0则则y=xy=x,如果,如果x0 x=0)If ( x=0) y=x; y=x;if (x0)if (x=0)If ( x=0) 语句语句1 1; ;elseelse 语句语句2 2; ;第4页/共20页注意:如果使用了复合语句,一定要用大括号把它们括起来。注意:如果使用了复合语句,一定要用大括号把它们括起来。If( x0 )If( x0 ) printf( printf(“x x为正数为正数nn”);); x=x+1; x=x+1;elseelse printf( printf

4、(“x x为负数为负数nn”););If( x0 )If( x0 ) printf( printf(“x x为正数为正数nn”);); x=x+1; x=x+1; elseelse printf( printf(“x x为负数为负数nn”););#include #include main( )main( ) int x,y; int x,y; scanf( scanf(“%d,%d%d,%d”,&x,&y); ,&x,&y); If( xy ) If( xy ) printf( printf(“xynxyn”);); else else printf( printf(“xyx y ) pri

5、ntf(“ x大于yn ”);else if ( x y ) printf(“ x小于yn ”);else printf(“ x等于yn ”);第6页/共20页/*example2.c*/#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 lettern); else printf(The character is other charactern);运行:运行:Enter a character:8 The ch

6、aracter is a digit运行:运行: Enter a character: D The character is a capital letter运行:运行: Enter a character: h The character is a lower letter第7页/共20页#define RATE1 1.0#define RATE2 0.8#define RATE3 0.7#define RATE4 0.5#include main( ) int num; /* 商品的购买量 */ float price,money; /* 商品的单价和应付金额 */ printf(“请输入

7、商品的购买量:”); scanf(“%d”, ); printf(“请输入商品的单价:”); scanf(“%d”, ); If( ) /* 构物少于10件的不打折 */ money=RATE1 * price * num ; else if ( ) /* 10件以上8折 */ money=RATE2 * price * num ; else if ( ) /* 20件以上7折 */ money=RATE3 * price * num ; else /* 50件以上5折 */ ; printf(“应付金额为%.2 f元n”, ); &num&pricenum10num 20num b) max

8、 = a ; else max = b ;max = ( a b ) ? a : b第10页/共20页一般形式:表达式1 ? 表达式2 :表达式3表达式1为真,结果为表达式2的值 表达式为假,结果为表达式3的结果; 运算符 “ ?:”的优先级只在逗号和赋值运算 符之前;表达式2和表达式3只可能执行一个;这是C语言中的唯一一个三目运算符;条件运算符的结合方向为“自右自左”。第11页/共20页例:已知a=5,b=6,c=7,d=8,n=2 ; 执行以下语句后表达式的值为多少? n的值为多少? (a b?a:cd?c:dab?a:(cd?c:d)表达式值为15,n=2第12页/共20页六、六、 sw

9、itch 语句语句switch 语句是多分支的选择语句又称开关语句。语句是多分支的选择语句又称开关语句。switch switch 的一般形式为:的一般形式为:注意:常量表达式必须是整型、字符型。注意:常量表达式必须是整型、字符型。switch switch 语句的工作流程:语句的工作流程:第13页/共20页执行过程:执行过程: (1 1)当)当switchswitch后面后面“表达式表达式”的值,与某个的值,与某个casecase后面的后面的“常量表达式常量表达式”的值相同时,就执行该的值相同时,就执行该casecase后面的语句;后面的语句;当执行到当执行到breakbreak语句时,语句

10、时,跳出跳出switchswitch语句语句。 (2 2)如果没有任何一个)如果没有任何一个casecase后面的后面的“常量表达式常量表达式”的值,的值,与与“表达式表达式”的值匹配,则执行的值匹配,则执行defaultdefault分支后面的语句。分支后面的语句。第14页/共20页例例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 第1

11、5页/共20页例: 根据考试成绩的等级“a,b,c,d”,打印出“优”, “良”等评语。#include #include main( )main( ) char char grade; grade; printf( printf(“请输入成绩等级请输入成绩等级(a,b,c,d)(a,b,c,d):”);); scanf(scanf(“%c%c”, &grade); , &grade); switch switch(greade)(greade) case case a a: printf(: printf(“优秀优秀nn”);); break;break; case case b b: pr

12、intf(: printf(“良好良好nn”);); break;break; case case c c: printf(: printf(“中等中等nn”);); break;break; case case d d: printf(: printf(“差等差等nn”);); break;break; default default: : printf( printf(“ 输入错误输入错误n n ”);); 第16页/共20页lcase后可包含多个可执行语句,且不必加后可包含多个可执行语句,且不必加 l多个多个case可共用一组执行语句可共用一组执行语句如:如: case A: case B: case C: printf(“score60n”); break; .第17页/共20页例: 根据输入的月份值,打印出1998年的某月有多少天。 case 9: case 11: day=30; break; case 2: day=28; break; default: day=-1; if ( day!=-1) printf(“1998年的%d月有%d 天”,mouth,day); else printf(“月份输入错误!n”); #include main( ) int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论