重庆出版社出版李勇主编的大一C语言第5章

上传人:平*** 文档编号:33922980 上传时间:2018-02-19 格式:PPT 页数:28 大小:1.11MB
返回 下载 相关 举报
重庆出版社出版李勇主编的大一C语言第5章_第1页
第1页 / 共28页
重庆出版社出版李勇主编的大一C语言第5章_第2页
第2页 / 共28页
重庆出版社出版李勇主编的大一C语言第5章_第3页
第3页 / 共28页
重庆出版社出版李勇主编的大一C语言第5章_第4页
第4页 / 共28页
重庆出版社出版李勇主编的大一C语言第5章_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《重庆出版社出版李勇主编的大一C语言第5章》由会员分享,可在线阅读,更多相关《重庆出版社出版李勇主编的大一C语言第5章(28页珍藏版)》请在金锄头文库上搜索。

1、第5章 循环结构程序设计,教学要求:通过本章的教学,掌握循环结构三种语句while、do_while和for的基本特点,及其循环控制的具体过程;掌握循环程序设计方法,能运用循环结构的三种语句熟练进行循环结构程序设计;掌握break和continue语句在循环结构中的不同作用;掌握多重循环程序的结构特点,能设计简单的多重循环结构程序。教学提示:C语言中for语句的使用最为灵活,功能更强,凡是用while、do_while循环能完成的,用for循环一定能够实现。另外,在循环结构中应有使循环趋向于结束的处理语句,否则循环将无休止的执行下去。多重循环是实际应用中常用的循环结构,熟练掌握单重循环程序设计

2、是进行多重循环程序设计的基础。,第5章 循环结构程序设计,教学内容:循环结构是C语言的三种基本结构之一,前两章分别对顺序结构和选择结构进行了介绍,接下来,本章将介绍循环结构及其循环结构程序设计的相关知识,内容主要包括:【1】实现循环结构的三种语句(while语句、do_while语句和for语句)的语法格式、结构特点、功能,以及使用它们进行循环结构程序设计的方法;【2】break和continue语句的用法;【3】多重循环的概念、结构特点及其应用。,第5章 循环结构程序设计,在实际应用中,我们会遇到大量的需要按一定规律重复处理的问题。比如,计算前100个自然数之和,求10的阶乘等等。这些都需要

3、用到循环结构。几乎所有实用的程序都包含循环,因此熟练掌握循环结构的概念及其使用是程序设计的最基本的要求。循环结构是结构化程序设计的三种基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。在C语言中,用来实现循环结构的语句有while、do-while和for语句。,第5章 循环结构程序设计,5.1 while语句 while 语句的一般形式为:while (表达式)语句 while语句的执行过程:首先计算条件表达式的值,如果表达式的值为非0(真),则执行循环体语句;重复上述操作,直到表达式的值为0(假)时才结束循环。,第5章 循环结构程序设计,例5.1求main() int

4、 n,sum=0; n=1; while (n50”,因此在循环体中应该有使n增值以最终导致n50的语句,在此,我们是用“n+;”语句来达到此目的。如果无此语句,则n的值始终不改变,循环永不结束。循环体还可以是空语句(单独一个分号),此时表示什么也不执行,一般用作延时用。 【趣味例题】:guess.c,第5章 循环结构程序设计,5.2 do-while语句do-while 语句的一般形式为: do 语句 while (表达式);,第5章 循环结构程序设计,提醒:do-while语句中的“语句”为循环体,它可以是一个简单语句也可以一个复合语句。在设计do-while语句时,在循环体中也应有使循环

5、趋向于结束的语句,否则循环将无休止的进行下去,从而形成死循环。do-while语句的执行过程:首先执行do后面的循环体语句(无条件执行一次),然后判别while后圆括号内表达式,当表达式的值为非0(“真”) 时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时才循环结束。,第5章 循环结构程序设计,例5.2用do-while语句求main() int n, sum=0; n=1; do sum=sum+n; n+; while (n=50); printf(sum=%d,sum); 运行结果为;sum=1275,第5章 循环结构程序设计,do-while与while语句的区别是

6、:while循环的特点是先判断,后执行;只有当表达式的值为非0时,才执行循环体;如果表达式的值一开始就为0,则循环体一次也不执行;而do-while循环的特点是先执行,后判断,无论表达式一开始的值是0还是非0,循环体至少都要被执行一次。因此,一个循环问题,如果循环体重复执行的次数有可能为0的话,则只能用while语句,如果循环体重复执行的次数1,则既可以用while语句又可以用do-while语句。换句话说来说就是,凡是可以用do-while循环实现的,一定可以用while循环实现;反过来,则不一定,即凡是可以用while循环实现的未必能用do-while循环实现。【举例】,第5章 循环结构程

7、序设计,5.3 for语句 C语言中for语句的使用最为灵活,它完全可以代替while、do-while语句for语句的一般形式为: for (表达式1 ; 表达式2 ; 表达式3) 语句,第5章 循环结构程序设计,for语句的执行过程如图所示,可以用文字描述如下:(1)先求解表达式1。(2)求解表达式2,若其值 为非0(真),则执行循环体语句,然后执行下面第(3)步。若为0(假),则结束循环,转到第(5)步。(3)求解表达式3。(4)转回上面第(2)步继续执行。(5)循环结束,执行for语句下面的一个语句。,for (表达式1 ; 表达式2 ; 表达式3) 语句,第5章 循环结构程序设计,f

8、or语句中的三个表达式起着不同的作用表达式1一般用于给循环控制变量赋初值(循环控制变量即控制循环次数的变量,简称循环变量)表达式2一般作为循环结束的判断条件表达式3一般用来修改循环控制变量的值,使循环能正常的结束。例:计算#includemain()int n,sum=0;for(n=1;n=50;n+)sum=sum+n;printf(%dn,sum);P7071提示,第5章 循环结构程序设计,P71例5.3提示:由于程序中调用了字符输入、输出函数,所以应将stdio.h头文件应包含在程序中。从终端键盘向计算机输入数据时,是在按Enter键以后才送到内存缓冲区中去的。即不是从终端敲入一个字符

9、马上接收一个字符,而是按Enter键后数据才送入内存缓冲区,然后每次从缓冲区读一个字符。从上面介绍可以知道c语言中的for语句比其他语言中的for语句使用更加灵活,功能更加强大。可以把循环体和一些与循环控制无关的操作放在for语句的表达式1或表达式3中,这样可以使程序简洁、短小精炼。但过分地利用这一特点往往又会降低程序可读性,使程序晦涩难懂。建议不要把与循环控制无关的内容放到for语句中。,第5章 循环结构程序设计,重点:三种循环的比较for、while和do-while三种循环结构语句各有特点,归纳起来主要有以下几方面:三种不同的循环语句都能实现循环控制,但不同的循环语句,在进行循环控制时灵

10、活性不一样。其中使用最多的是for语句,for语句使用最为灵活,功能更强。凡是用do-while能完成的,都可以用while实现。凡是用while、do-while循环能完成的,都可以用for循环实现。反之则不一定。任何循环都可以用for语句实现。用while和do-while循环时,循环变量初始化的操作一般应在while和do-while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。while循环和for循环都是先判断循环条件,然后决定是否执行循环体,当一开始就不满足循环条件时,循环体1次也不执行;而do-while语句是先执行一次循环体后,再判断循环条件,因此,循环体执行

11、的次数最少都为1次。,第5章 循环结构程序设计,5.4 多重循环5.4.1 多重循环的概念在循环体结构中,如果一个循环体内又包含另一个或另几个完整的循环结构,就构成了多重循环,也称为循环的嵌套。嵌在循环体内的循环被称为内循环,嵌有内循环的循环被称为外循环。显然,在多重循环中,内循环和外循环的概念具有相对性,一个内循环的循环体中还可以嵌入其他的循环结构。设计多重循环程序的关键,是首先要明确每一重循环完成的任务,通常外循环用来对内循环进行控制,内循环用来实现具体的操作。当循环嵌套层数较多时,循环控制就会变得比较复杂。,第5章 循环结构程序设计,例5.4设计一个乘法表程序,输出如下所示的九九乘法表。

12、1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*9=9 2*9=18 3*9=27 4*9=36 9*9=81,第5章 循环结构程序设计,分析乘法表的特点是:共有9行; 每行的式子数很有规律,即:第几行,就有几个式子;对于每一个式子,既与所在的行有关,又与所在的行上的位置(列)有关。我们先看输出其中一行的情况:假设要输出的是第i行,我们知道i行共有i个式子,可用如下程序段实现。 for (j=1;j=i;j+) printf(%d*%d=%-3d,j,i,j*i); printf(n);如果给上述程序段加一个外循环,使i从

13、1取到9,每执行一次内循环,就输出了乘法表中的,第5章 循环结构程序设计,例5.4main() int i,j; for (i=1;i=9;i+) for (j=1;j=i;j+) printf(%d*%d=%-3d,j,i,j*i); printf(n); ,第5章 循环结构程序设计,5.4.2 多重循环的结构C语言的三种循环语句(while语句、do-while语句和for语句)可以互相嵌套,任何一种循环语句都可以出现在其他循环语句的循环体中。例如,下面几种都是合法的形式: (1) while( ) (4) for(; ;) while( ) while( ) (2) do (5) do do for (; ;) while( ); while( ); while( ); (6) while( ) (3) for(;) do for(; ;) while( ); ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号