C语言程序设计 课件 任务2.3 选择结构的使用_第1页
C语言程序设计 课件 任务2.3 选择结构的使用_第2页
C语言程序设计 课件 任务2.3 选择结构的使用_第3页
C语言程序设计 课件 任务2.3 选择结构的使用_第4页
C语言程序设计 课件 任务2.3 选择结构的使用_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

高级语言程序设计模块二程序设计基础任务2.3选择结构的使用C语言程序设计基础与实践课程组04技能点拓展03技能点详解02技能点分析目录CONTENTS任务2.3选择结构的使用01问题引入05技能点检测一问题引入

大千世界,茫茫人海。变幻的世界,让我们在人生的旅途中不断地选择,其实,人的一生就是在不断地选择。每当我们站在人生的十字路口时,交警是我们自己,自己选择要去的方向。人生绽放光彩,总是在我们做出完美的选择时。在计算机的世界里,我们需要根据某些条件来选择执行指定的操作,这就需要选择结构。04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务2.3选择结构的使用二技能点分析1.了解实现选择结构的两种语句:if语句和switch语句2.掌握if语句和switch语句的语法3.能够使用这两种语句进行选择结构编程学习目标1.什么是选择结构?实现选择结构的语句有哪些?2.if语句的使用形式有哪些?3.什么情况下使用嵌套if语句?4.switch语句的使用注意事项有哪些?学期预习04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务2.3选择结构的使用三技能点详解选择结构要求程序员指定一个或多个要评估或测试的条件,以及条件为“真”时要执行的语句(必需的)和条件为“假”时要执行的语句(可选的)。C语言把任何非零和非空的值假定为“真”,把零或null假定为“假”。下面是大多数编程语言中典型的选择语句的流程图:图2.3.1选择语句流程图三技能点详解常用选择语句对应关系,如表2.3.1所示:表2.3.1选择语句描述对照表三技能点详解——1

if语句1.if语句一个if语句由一个布尔表达式后跟一个或多个语句组成。C语言中if语句的语法:如果布尔表达式为“真”,则if语句内的代码块将被执行。如果布尔表达式为“假”,则if语句结束后的第一组代码将被执行。C语言把任何非零和非空的值假定为“真”,把零或null假定为“假”。if语句流程图如图2.3.2所示:图2.3.2if语句流程图三技能点详解——2

if...else语句2.if...else语句一个if语句后可跟一个可选的else语句,else语句在布尔表达式为“假”时执行。C语言中if...else语句的语法:三技能点详解——2

if...else语句如果布尔表达式为“真”,则执行if块内的代码。如果布尔表达式为“假”,则执行else块内的代码。C语言把任何非零和非空的值假定为“真”,把零或null假定为“假”。if...else语句流程图如图2.3.3所示:图2.3.3if...else语句流程图三技能点详解——3

if...elseif...else3.if...elseif...else语句一个if语句后可跟一个可选的elseif...else语句,这可用于测试多种条件。当使用if...elseif...else语句时,以下几点需要注意:一个if后可跟零个或一个else,else必须在所有elseif之后。一个if后可跟零个或多个elseif,elseif必须在else之前。一旦某个elseif匹配成功,其他的elseif或else将不会被测试。

三技能点详解——3

if...elseif...elseC语言中的if...elseif...else语句的语法:三技能点详解——3

if...elseif...elseif...elseif...else语句流程图如图2.3.4所示:图2.3.4if...elseif...else语句流程图三技能点详解——4

C嵌套if语句4.C嵌套if语句在C语言中,嵌套if-else语句是合法的,这意味着您可以在一个if或elseif语句内使用另一个if或elseif语句。C语言中嵌套if语句的语法:您可以嵌套elseif...else,方式与嵌套if语句相似。嵌套if语句流程图如图2.3.5所示:图2.3.5嵌套if语句流程图三技能点详解——5

switch语句5.switch语句一个switch语句允许测试一个变量等于多个值时的情况。每个值称为一个case,且被测试的变量会对每个case进行检查。C语言中switch语句的语法:三技能点详解——5

switch语句switch语句必须遵循下面的规则:1)switch语句中的表达式是一个常量表达式,必须是一个整型或枚举类型。2)在一个switch中可以有任意数量的case语句。每个case后跟一个要比较的值和一个冒号。3)case后的常量必须与switch中的变量具有相同的数据类型,且必须是一个整数或字符常量。4)当被测试的变量等于case中的常量时,case后跟的语句将被执行,直到遇到break语句为止。5)当遇到break语句时,switch终止,控制流将跳转到switch语句后的下一行。6)不是每一个case都需要包含break。如果case语句不包含break,控制流将会继续后续的case,直到遇break为止。7)一个switch语句可以有一个可选的defaultcase,出现在switch的结尾。defaultcase可用于在上面所有case都不为“真”时执行一个任务。defaultcase中的break语句不是必需的。三技能点详解——5

switch语句switch...case语句流程图如图2.3.6所示:图2.3.6switch...case语句流程图三技能点详解——6嵌套switch语句6.嵌套switch语句您可以把一个switch作为一个外部switch的语句序列的一部分,即可以在一个switch语句内使用另一个switch语句。即使内部和外部switch的case常量包含共同的值,也没有矛盾。C语言中嵌套switch语句的语法:案例2.3.1if语句在这个案例中,我们要先定义一个整型变量,并对其赋值,然后判断其值是否小于20,如果是则输出“a小于20”,再输出它的值。/****************************************内容简述:判断输入的值是否小于20。

***************************************/#include

<stdio.h>

//头函数

intmain(void){

inta=10;//变量赋值

if(a<20)//条件判断 { printf("a小于20\n"); }

printf("a的值是%d\n",a);//输出变量a

return0;}三技能点详解——案例案例2.3.2if...else语句在这个案例中,我们要先定义一个整型变量,并对其赋值,然后判断其值是否小于20,如果是则输出“a小于20”,否则输出“a大于20”再输出它的值。/*********************************内容简述:判断a值的大小。

*********************************/#include

<stdio.h>

//头文件

intmain(void){

inta=100;//定义a值

if(a<20)//小于20 { printf("a小于20\n"); }

else

//不小于20 { printf("a大于20\n"); }

printf("a的值是%d\n",a);

return0;}三技能点详解——案例案例2.3.3if...elseif...elseif...else语句我们要先定义一个整型变量,并对其赋值,然后判断其值是否为10,20或者30,并输出相应的结果,如果都不是则输出“没有匹配的值”,最后再输出它的值。/***************************************内容简述:输入数值,与设定值进行数值匹配

***************************************/#include

<stdio.h>intmain(void){

inta=100;//定义变量值

if(a==10)//判断是否与10相等{printf("a的值是10\n");}

else

if(a==20)//判断是否与20相等{printf("a的值是20\n");}

else

if(a==30)//判断是否与30相等{printf("a的值是30\n");}

else

//以上都不匹配{printf("没有匹配的值\n");

}printf("a的准确值是%d\n",a);

return0;}三技能点详解——案例案例2.3.4嵌套if语句在这个案例中,我们先定义两个整型变量,并对它们各自赋值,然后先判断第一个变量的值是否满足条件,在满足条件的情况下再去判断第二个变量的值是否也满足条件,如果两个变量的值都满足条件,则输出一句话,说明两个变量的值是多少,最后再输出这两个变量的值加以验证。/***************************************内容简述:判断两个条件都满足时候的条件

***************************************/#include

<stdio.h>

//头文件

intmain(void){

inta=100;//定义变量值

intb=200;

if(a==100)//条件1满足 {

if(b==200)//条件2满足 { printf("a的值是100且b的值是200\n"); } }

printf("a的准确值是%d\n",a); printf("b的准确值是%d\n",b);

return0;}三技能点详解——案例案例2.3.5switch语句我们要根据某学生考试所得成绩去输出相应的结果提示,最后再输出其成绩。三技能点详解——案例/***************************************************内容简述:根据某学生考试所得成绩去输出相应的结果提示

***************************************************/#include

<stdio.h>

//头文件

intmain(void){

chargrade='B';//分数等级

switch(grade) {

case'A'://如果是A等级 printf("很棒\n");break;

case'B'://如果是B等级

case'C'://如果是C等级 printf("做得好\n");break;

case'D'://如果是D等级 printf("您通过了\n");break;

case'E'://如果是E等级 printf("最好再试一下\n");break;

default://以上等级都不是 printf("无效的成绩\n"); }

printf("您的成绩是:%c\n",grade);

return0;}三技能点详解——案例案例2.3.6嵌套switch语句的应用在这个案例中,我们先定义两个整型变量,并对它们各自赋值,然后先用一个switch...case语句去判断a的值,在此case分支内再去嵌套一个switch...case去判断b的值,最后再输出这两个变量的值加以验证。三技能点详解——案例/***************************************************内容简述:根据某学生考试所得成绩去输出相应的结果提示

***************************************************/#include

<stdio.h>

intmain(void){

inta=100;//定义变量值

intb=200;

switch(a)//根据a的值进行选择{

case100:printf("a的值是100。\n");

switch(b)//根据b的值进行选择 {

case200:printf("a的值是100,且b的值是200。\n");break;

default:printf("没有找到符合b的值。\n");}

break;

default:printf("没有找到符合a的值。\n");}

printf("a的准确值是%d\n",a);printf("b的准确值是%d\n",b);

return0;}三技能点详解——案例04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务2.3选择结构的使用四技能点拓展——1?:运算符(三元运算符)我们已经在前面的章节中讲解了条件运算符?:,可以用来替代if...else语句。它的一般形式如下:Exp1?Exp2:Exp3;其中,Exp1、Exp2和Exp3是表达式。请注意,冒号的使用和位置。?表达式的值是由Exp1决定的。如果Exp1为“真”,则计算Exp2的值,结果即为整个?表达式的值。如果Exp1为“假”,则计算Exp3的值,结果即为整个?表达式的值。其执行示意图如图2.3.13所示:图2.3.13三元运算符执行示意图四技能点拓展——1?:运算符(三元运算符)以下实例通过输入一个数字来判断它是否为奇数或偶数四技能点拓展——1?:运算符(三元运算符)输出结果为:四技能点拓展——2If语句和switch语句的区别if语句和switch语句可以从使用的效率上来进行区别,也可以从实用性角度区分。如果从使用效率上区分:在对同一个变量在不同值做条件判断时,可以使用switch语句,也可以使用if语句,使用switch语句的效率更高一些尤其是判断的分支越多越明显。如果从语句的实用性的角度去区分,那switch语句肯定不如if条件语句。if条件语句是应用最广泛和最实用的语句。在程序开发的过程中,具体如何使用if和switch语句哦,需要根据实际的情况来定,应尽量做到物尽其用,不要因为switch语句的效率高就一味的使用,也不要因为if语句常用就不应用switch语句,根据实际情况,具体问题具体分析,使用最适合的条件语句。一般情况下,对于判断条件较少的,可以使用if条件语句,但是在实现一些多条件的判断中,就应该使用switch语句。04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务2.3选择结构的使用五技能点检测1)以下if语句书写正确的是(

)。A)if(x=0;)B)if(x>0)

printf(“%f”,x);{x=x+1;printf(“%f”,x);}

温馨提示

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

评论

0/150

提交评论