(中职)编程语言基础-C语言模块3教学课件_第1页
(中职)编程语言基础-C语言模块3教学课件_第2页
(中职)编程语言基础-C语言模块3教学课件_第3页
(中职)编程语言基础-C语言模块3教学课件_第4页
(中职)编程语言基础-C语言模块3教学课件_第5页
已阅读5页,还剩49页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、YCF正版可修改PPT(中职)编程语言基础C语言模块3教学课件模块3控制语句任务1 语句概述任务2 if语句任务3 条件运算符和条件表达式任务4 switch语句任务5 循环语句任务6 break语句与continue语句任务1语句概述语句是C语言源程序的重要组成部分。C语言的语句可以分为5大类。1)表达式语句赋值语句。自加减运算符构成的表达式语句。逗号表达式语句。2)空语句仅包含一个分号”;”,它表示什么也不做。下一页返回任务1语句概述3)复合语句由”和”把一些变量说明和语句组合在一起,称之为复合语句(Block ),又称为语句块,例如:上一页返回下一页任务1语句概述4)函数调用语句它是由一

2、个函数调用加上一个分号组成的一个语句,如:5)控制语句上一页返回任务2 if语句使用if语句构成的选择结构在C语言中应用最为广泛,是C程序中的重要结构单元。根据实现功能和实现形式的差异,if语句包括以下3种形式。if结构:根据一定条件选择执行一条(或一组)语句。if-else结构:根据一定条件从两条(或两组)语句中选择执行一条(或一组)语句。if-else if-else结构:根据一定条件从多条(或多组)语句中选择执行一条(或一组)语句。上一页返回下一页任务2 if语句3.2.1 单分支形式一其语句形式为:if(表达式)语句其中“表达式”一般为逻辑表达式或关系表达式,可以是任意的数据类型(整型

3、、实型、字符型、指针型)。举例说明。系统对表达式的值进行判断,若为0,按“假”处理,若为非0,按“真”处理,并执行指定的语句。其流程图如图3-1(a)所示。上一页返回下一页任务2 if语句上一页返回下一页任务2 if语句3.2.2 单分支形式二其语句形式为: if(表达式)语句1 else语句2其中表达式同上,流程图如图3-1(b)所示。举例说明。上一页返回下一页任务2 if语句修改【例3-1】,在程序中补充以下内容:若输入成绩在80分以下则输出字符串上一页返回下一页任务2 if语句3.2.3 多分支形式前两种形式的if语句,一般都用于两个分支的情况。当有多个分支选择时,可采用多分支形式,其一

4、般形式为:if-else if-else结构的流程图如图3-2所示。上一页返回下一页任务2 if语句上一页返回下一页任务2 if语句3.2.4 if语句应注意的事项(1)在三种形式的if语句中,在if关键字之后均为表达式。该表达式通常是逻辑表达式或关系表达式,但也可以是其他表达式,如赋值表达式等,甚至也可以是一个变量。注意区分关系运算符”=”和赋值运算符”=”。(2)在if语句中,条件判断表达式必须用括号括起来。(3)在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用括起来组成一个复合语句。但要注意的是在之后不能再加分号。(4)在单分

5、支if语句中,如果在满足条件时执行的是复合语句,但是没有用括起来,尽管编译不出错,但存在逻辑错误。举例说明。上一页返回下一页任务2 if语句上一页返回下一页任务2 if语句(5)在if和else之间如果只有一条语句,则可不用括起来,但多于一条语句则必须用括起来,否则会产生编译错。举例说明。上一页返回任务3条件运算符和条件表达式如果在条件语句中,只执行单个的赋值语句时,常可使用条件表达式来实现,不但使程序简洁,也提高了运行效率。条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的

6、值,否则以表达式3的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。上一页返回下一页任务3条件运算符和条件表达式条件语句:可用条件表达式写为使用条件表达式时,还应注意以下几点:条件运算符的优先级低于关系运算符和算术运算符,但高于赋值符。条件运算符?和:是一对运算符,不能分开单独使用。条件运算符的结合方向是自右至左。上一页返回下一页任务3条件运算符和条件表达式条件表达式通常用于双分支结构并且给一个变量赋值的情况。条件表达式应用。上一页返回任务4 switch语句C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:返回下一页任务4 switch语句其执行过程为:当swit

7、ch后面“表达式”的值与case后的“常量表达式”的值相等时,就执行其后的语 句,如果该语句后没有break语句,不再进行判断,继续执行后面所有case后的语句;如果该语句后有break语句,则执行完break语句跳出整个switch结构,后面的case 都不执行。如表达式的值与所有case后的常量表达式值均不相同时,则执行default后的语句。上一页返回下一页任务4 switch语句上一页返回下一页任务4 switch语句上一页返回下一页任务4 switch语句在使用switch语句时还应注意以下几点:在case后的各常量表达式的值不能相同,一般为整型或字符型,如果表达式的值为浮点型,则想

8、办法转换为整型或字符型。否则会出现错误。在case后,允许有多个语句,可以不用括起来。各case和default子句的先后顺序可以变动,而不会影响程序执行结果。多个case子句可以共用同一语句(组)。default子句可以省略不用。switch语句可以嵌套。上一页返回任务5循环语句3.5.1 while循环while语句可以实现“当型”循环结构,即当条件满足,就反复执行循环体。1. 格式上一页返回下一页任务5循环语句2. 流程首先计算表达式(循环条件),若为真(非0),执行其后的语句1(循环体),然后流程返回while重新计算表达式。只要表达式值为真就反复执行循环体,直到表达式值为假(0),流

9、程跳到循环体的后面继续执行语句2while语句的执行流程如图3-3所示。3. 说明(1)循环体如果包含一个以上的语句,应该用大括号括起来,以复合语句形式出现。如果不加大括号,则while语句的范围只到while后面的第一个分号处。上一页返回下一页任务5循环语句(2)在循环体中应有使循环趋向于结束的语句,如果无此语句,循环结构中的条件始终得不到改变,或者虽在改变,但始终不可能从一个状态跳到另一个状态,那么这种循环称为无限循环或死循环。一个合理的循环结构,最终应会使循环条件由一个状态转变为另一个状态,使循环正常终止。上一页返回下一页任务5循环语句4. 举例【例3-5】在屏幕上连续输出5个”$”字符

10、。上一页返回下一页任务5循环语句3.5.2 do-while循环do-while循环与while循环类似,只是先执行循环体,后判断条件是否成立(循环体至少要执行一次)1. 格式上一页返回下一页任务5循环语句2. 流程do-while语句执行流程如图3-4所示,当执行到do-while语句时,先执行一次循环体语句。然后判断条件。如果条件为真,则转回循环体执行,直到表达式的值为假时,退出循环,执行do-while的下一条语句。其特点是:先执行循环体,再判断循环条件是否成立。3. 说明一般情况下,对同一个问题既可以用while语句处理,也可以用,do-while语句处理。do-while语句结构可以

11、和while结构相互转换。只要while后面的表达式的第一次的值为“真”时,两种循环得到的结果就相同;否则只有while后面的表达式的第一次的值为“假”时,两种循环得到的结果才不相同(指二者具有相同的循环体的情况)。上一页返回下一页任务5循环语句4. 举例下面使用,do-while循环来实现前面的示例的功能。上一页返回下一页任务5循环语句3.5.3 for循环for语句格式紧凑、清晰、使用灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句,是最常用的一种循环语句。1. 格式for(表达式1;表达式2;表达式3)语句;上一

12、页返回下一页任务5循环语句2. 流程求解表达式1,只执行一次。求解表达式2,若为真(非0),执行循环体语句,然后求解表达式3,完成一次循环。再次求解表达式2,只要为真,就执行循环体,直到表达式2为假(0),流程转到循环体后面继续执行。 for语句执行流程如图3 -5所示。上一页返回下一页任务5循环语句3. 说明(1)表达式1和表达式可以是逗号表达式,但圆括号内的分号只有两个,且必须有两个,分隔开三个表达式。(2)表达式2可以是各种类型表达式,只要其值非0,就执行循环体。(3)圆括号内的3个表达式均可以省略,也可写到程序的其他位置。(4)一般情况下,表达式1为循环变量赋初值,表达式2设置循环条件

13、,表达式3是循环变量增值语句。上一页返回下一页任务5循环语句4. 举例上一页返回下一页任务5循环语句3.5.4 三种循环的比较C语言提供的三种循环语句可以用来处理同一问题,一般情况下可以互换。但其功能和灵活程度不同,for语句功能最强,最方便灵活,使用最多,任何循环都可以用语句来实现;其次是while ; do-while用的最少。while和do-while的循环变量初始化是在循环语句之前完成,而for语句循环变量的初始化是在for中的表达式1中实现。上一页返回下一页任务5循环语句for循环中的第一个和第三个表达式可以是逗号表达式,这是for语句的一个很有用的特性。它扩充了for的作用范围。

14、使它有可能同时对若干参数(如循环变量,重复计算参数等)进行初始化和修改等。for和while循环是先判断循环条件,后执行循环体;而,do-while循环则是先执行一次循环体,然后才判断循环条件。因此,后者不管在什么情况下,都至少要执行一次循环体。上一页返回下一页任务5循环语句3.5.5 循环的嵌套前面分绍了3种类型的循环,它们自己本身可以嵌套,如在for循环中包含另一个for循环。也可以互相嵌套,例如可以在for循环中包含一个while循环或者do-while循环等。下面通过几个例子来分绍循环嵌套的概念和应用。【例3 -8】求整数3100中的素数。如果n是一个大于等于2的整数,并且只有1和n本

15、身是它的因子,没有别的正因子,则称n是一个素数(质数),即除1和它本身之外不能被其他整数整除。为了检查某数是否是素数,采用的方法是,从i =2起不断增加i,直到n -l,逐个相除,只要有一个数能整除,就说明该数不是素数。【例3-8】的流程图如图3-6所示。上一页返回下一页任务5循环语句上一页返回下一页任务5循环语句上一页返回任务6 break语句与continue语句3.6.1 break语句在前面的学习中,我们已在switch语句中使用过break语句,其作用是使流程跳出switch语句体。其实,break还常常使用在循环语句中,其作用是使流程跳出循环体,退出循环。1. 使用格式break语

16、句的使用形式为:break;返回下一页任务6 break语句与continue语句其语义为跳出当前的switch语句或循环语句。它对if-else语句不起作用。break语句有两种用法,第一种用法是终止switch语句,这在前面已经提到了;第二种用法是,立即强制性地终止一个循环,下面分绍这种用法。当一个循环体内的break语句被执行时,循环立即中断,并转向循环体外的下一条语句,例如,有时需要一些特定的条件来终止循环,如,do-while循环的条件是1,永远为真,是一个无穷循环,若想终止此程序,可以用if语句和break配合退出循环。break语句对于减少循环次数、加快程序执行起着重要的作用。上

17、一页返回下一页任务6 break语句与continue语句2. 应用实例上一页返回下一页任务6 break语句与continue语句3. 用法说明有关break语句的说明如下。break后面不跟任何表达式或语句,使用简单方便,其形式为:break;break语句只用在switch选择分支结构和循环结构中。上一页返回下一页任务6 break语句与continue语句3.6.2 continue语句continue语句是循环结构中的特殊语句,也可以用于控制循环的流程,但是与break语句不同,程序执行到continue语句后仅仅结束本次循环,并不会结束整个循环。1. 使用格式continue语句的

18、使用形式为:continue;其语义为结束本次循环,即跳过循环语句中的尚未执行的语句,接着进行循环条件的判定。continue语句只用在for 、while 、 do-while等循环体中,常与if语句一起使用,用来加速循环。上一页返回下一页任务6 break语句与continue语句2. 基本用法continue语句的作用是结束本次循环。程序执行到continue语句后的流程如下:跳过本次循环体中continue语句后余下尚未执行的语句。接着修改循环控制变量。进行循环语句表达式的判断,若表达式的值为“真”,则继续循环体的执行,若表达式的值为“假”,则结束对循环体的执行。注意:执行continue语句后只结束本次循环并不一定结束整个循环体的执行,是否结束对整个循环体的执行要由条件表达式的“真”与“假”来决定。上一页返回下一页任务6 break语句与continue语句3. 应用实例下面通过一个实例说明continue语句的用法。例3-10编写程序求整数110中所有奇数的和。上一页返回下一页任务6 break语句与continue语句4. 用法说明在使用continue语句时注意以下向点。continue语句后面不跟任何表达式或语句,使用简单方便,其形式为:continue;con

温馨提示

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

评论

0/150

提交评论