第3章 三种基本结构程序设计.ppt

大学实用C语言程序设计教程-陈建铎-课件PPT

收藏

资源目录
跳过导航链接。
大学实用C语言程序设计教程-陈建铎-课件PPT.zip
实用C语言程序设计教程-陈建铎-PPT演示文稿
压缩包内文档预览:(预览前20页/共52页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21835855    类型:共享资源    大小:13.47MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 实用 语言程序设计 教程 陈建 课件 ppt
资源描述:
大学实用C语言程序设计教程-陈建铎-课件PPT,大学,实用,语言程序设计,教程,陈建,课件,ppt
内容简介:
2019/9/6,第三章 三种基本结构程序设计,3.1 顺序结构程序设计,3.2 选择结构程序设计,3.3 循环结构,2019/9/6,3.1 顺序结构程序设计,顺序结构程序:就是执行时依语句排列顺序一条接着一条地执行,不发生控制流的转移。,特点:每个程序都是按照语句的书写顺序依次执行的,它是最简单的结构。不可或缺的若干语句,用把它们括起来,这样的语句体称为复合语句。复合语句在逻辑上等价于一条语句,复合语句内部还可嵌套复合语句。,2019/9/6,3.1.1 程序设计简例,main() char ch= a; /*定义变量并赋值 */ int a= 98; unsigned b=1000; long c= 123456789; float x= 3.14; double y=1.2345678; printf (1) a= % d,a= % c,ch= % d,ch= % cn,a,a,ch,ch);/*输出*/ printf (2) b= % u n,b); printf (3) c= % ld n,c); printf (4) x= % f,y= % fn,x,y); printf (5) x= % e,y= % e n,x,y); printf (6) y= % - 10.2fn,y); ,【例 1】 分析下列程序,观察运行结果,运行结果,(1) a=98,a= b,ch=97,ch= a (2) b=1000 (3) c=123456789 (4) x=3.140000,y=1.234567 (5) x=3.14000e+00,y=1.23456e+ 00 (6) y=1.23,2019/9/6,程序设计简例,【例 2】 输入一个三位的整数,分解它的符号、百位数字、十位数字和个位数字,然后依次输出。,#include #include /* 程序中使用了数学函数 abs */ main() char c1,c2,c3,c4; /* 定义变量 */ int x; printf(please input a numer: n);/* 输入提示信息 */ scanf(“%d“, /* 输出符号位,百位,十位,个位 */ ,程序的执行结果: please input a numer: -321 -,3,2,1,2019/9/6,程序设计简例,【例 3】 在屏幕输出 “please input your name:”,再从键盘上输入一个名字,然后显示“Hello!”,在下一行显示输入的名字。,# include main () char name 10;/* 存放名子的变量在后面章节再详细介绍 */ printf(please input you rname: n);/* 输出提示信息 */ scanf(% s,name); /* 读入名字 */ printf(Hello! n); /* 输出 Hello!*/ printf(% s,name); /* 输出读入的名字 */ ,程序的执行结果: please input your name: Li gang Hello! Li gang,2019/9/6,程序设计简例,【例 4】 读入一个小写字母,将其转换成大写字母后输出,同时输出其对应的 ASCII 编码。,# include main() char ch1, ch2 ; printf (“ Enter a lower letter : “ ) ; ch1=getchar ( ) ; /*利用字符输入函数,实现键盘输入一个字符,赋给字符变量 ch1 */ printf (“letter: %c , ASCII:%dn“,ch1,ch1 ); /* 屏幕显示键盘输入的字符,并显示该字符的 ASCII 代码值*/ ch2=ch1-32; /*将小写字母转换成对应的大写字母 */ printf (“letter: %c , ASCII:%dn“,ch2,ch2 ); /*屏幕显示转换后的字符,及该字符的 ASCII 代码值*/ ,程序运行情况: Enter a lower letter: a letter: a, ASCII: 97 letter: A, ASCII: 65,2019/9/6,程序设计简例,【例 5】 在100.0g苯中加入13.76g联苯(MB),所形成溶液的沸点为82.40(t2),计算联苯的相对分子量。已知纯苯的沸点为80.10(t1),Kb=2.57。,# include main() float mA,mB,MB,Kb,t1,t2; /*定义变量*/ printf(please input:mA,mB,Kb ,t1,t2n);/*输出“输入数据”提示信息*/ scanf(% f,% f,% f,%f,% f, /*打出分子量的单位*/ ,程序运行情况: please input:mA,mB,Kb ,t1,t2 100.0,13.76,2.57,80.10,82.40 MB=153.75 g/mol,2019/9/6,3.1.2 格式输入输出的一般形式格式,、格式输出函数printf(),printf() 函数调用的形式: printf(“格式控制字符串”,输出项表) 或 printf(字符串),在该函数调用时,在其后面加上分号,就构成了格式输出语句。 printf 中的输出项是和前面的格式控制字符串按顺序一一对应的。“项”可以是常量、变量、表达式、数组和函数调用,其值应和格式说明相容。,1格式控制字符串 该字符串放在一对双引号中,它可以包含以下三部分内容。 (1)按原样输出的字符: (2)转义字符: (3)与输出项对应的“格式说明符”:要求以%开头,格式说明符在个数和类型上应该与输出项相对应。,2019/9/6,输出格式字符表,注意:m、n 均是正整数, m 主要用于控制输出数据的总宽度,n 用于控制输出实数的小数位数或控制输出字符串时可以输出的实际字符数。,2019/9/6,格式输入输出的一般形式格式,2输出项表,printf函数中的 “输出项表”部分由表达式组成,这些表达式应与 “格式控制字符串”中的格式说明符的类型一一对应,若 “输出项表”中有多个表达式,则每个表达式之间应由逗号隔开,各输出项可以是任意合法的表达式(包括常量、变量和函数调用)。因此 printf 函数也具有计算的功能。,printf (“ %dn “, 100) ; /*输出显示100*/ printf (“ %dn “, 1234000+5678) ; /*输出显示:1234+5678*/ printf (“ %fn “, (x=123.0)+(y=0.4567) ; /*输出显示:123.456700*/ printf (“ %6.2fn “, 123.4567) ; /*输出显示:123.46*/ printf (“ %.3fn “, 123.4567) ; /*输出显示:123.457*/,2019/9/6,格式输入输出的一般形式格式,3 printf函数的控制字符的附加说明,2019/9/6,格式输入输出的一般形式格式,二. 格式输入函数 scanf(),scanf()调用的格式: scanf(“格式控制字符串“,输入地址项表列);,该函数具有按格式字符串中规定的格式,在键盘上输入各输入项的数据,并依次赋给各输入项,且具有对从输入流中接收到的数据进行格式转换的功能。因为要求在内存中保存所接收到的数据,因此,需要提供接收数据的变量的地址。地址运算符&用于取得指定变量的地址。当以数值格式从输入流中读取数据时,scanf()可以跳过空格、换行及跳格符(在输入流中,数值型数据须以这些空白字符 分隔)。,2019/9/6,格式输入输出的一般形式格式,1格式控制字符串,2019/9/6,格式输入输出的一般形式格式,2输入地址表列 scanf函数中的 “地址表列”部分是由变量的地址组成的,如果有多个变量,则各变量之间用逗号隔开。地址运算符为 “&”,如变量 a的地址可以写为 &a。输入项表中的各输入项,应该是存放输入数据存储单元的地址。使用时一定注意,各输入项之间用“,”号分隔开,各变量名前一定要加“&”求地址运算符。,3说明,(1)在 scanf函数 “格式控制”部分中的每个格式说明符都必须在 “地址表”中有一个变量与之对应,格式说明符必须要与相应变量的类型一致。而且,输入的数据必须是常量,不能是表达式,而且按输入项的前后次序顺序输入数据。,(2)在输入数据时,各数据之间要使用 “空格”、“Tab”或 “回车”键(Enter 键)作为分隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符做间隔。,2019/9/6,格式输入输出的一般形式格式,(3)在输入字符型数据时,由于 “空格”也作为有效字符输入,因此,不需要用 “空格”做分隔,只要输入一个字符即可。故输入字符型数据时,数据之间不用分隔符。,(4)在格式说明符的前面指定输入数据所占的列数时,系统将自动按此列数来截取所需的数据。,(5)如果在格式控制字符串中,含有不属于格式说明的其他字符,在输入数据时,必须在对应位置上原样输入这些字符。,(6)如果在% 后有一个 “*”附加说明符,表示跳过它指定的列数。,(7)在scanf函数中不使用u说明符,对unsigned型数据,以d或o、x格式输入。,(8)在用scanf函数输入数据时,不能规定精度。,2019/9/6,3.1.3 字符输入、输出函数,1字符输入函数,格式: getchar()或getch(),调用函数时,当程序执行到 getchar 函数调用语句时,将等待输入,只有当用户输入字符,并按 Enter键后,才接收输入的第 1 个字符,并在屏幕上回显该字符,同时送到内存的缓冲区,准备赋给指定的变量。并且对空格符、制表符(Tab 键)和回车符(Enter 键)都被当作有效字符读入。getch()函数是立即接收用户来自键盘上的输入,不把字符回显到屏幕上。,2字符输出函数 putchar,格式:putchar(ch),其作用是将参数代表的字符在标准输出设备(通常是显示器)上加以输出。参数 ch 可以是字符常量、字符变量或整型表达式,其功能等价于:printf(“%c“,ch)。,2019/9/6,3.2 选择结构程序设计,分支语句有两类:一类是 if语句,另一类是 switch语句。条件语句的作用是使程序按某种条件有选择地执行一条或多条语句。其中,条件可以用表达式来描述,如关系表达式和逻辑表达式。,选择结构程序中的语句(段)是否执行,取决于某个“条件”是否成立。选择结构的程序又有三种形式:单分支结构、双分支结构和多分支结构。,2019/9/6,3.2.1 程序设计简例,【例 6】 输入 2 个数,如果它们的值不相等,则交换并输出它们的值;否则,输出“equal”。,# include void main( ) int a, b, t ; printf(“input a, b:n“); scanf(“d,d“, /*语句2*/,程序的执行结果1: input a, b: 10,12 a=12,b=10 程序的执行结果2: input a, b: 10,10 equal,2019/9/6,程序设计简例,【例 7】 输入 3 个整数,输出其中的最大值。,# include void main( ) int a,b,c,max; /*max中放最大值*/ printf(“inputa,b,c:n“); scanf(“ddd“, ,运行: input a,b,c: 32 90 65 max is 90,2019/9/6,程序设计简例,【例 8】 解方程 ax2+ bx+ c=0。,分析:(1)若 b2-4ac0,方程有两个不等的实根;(2)若 b2-4ac=0,方程有两个相等的实根;(3)若 b2-4ac0,方程有两个复根。,2019/9/6,程序设计简例,main() float a,b,c,delta,x1,x2,realpart,imagepart; printf(请输入 a,b,c:n); scanf(% f,% f,% f,&a,&b,&c); if(fabs(a)1e-6),2019/9/6,程序设计简例, x1= (- b+ sqrt(delta)/(2*a); x2= (- b- sqrt(delta)/(2*a); printf(有两个不等的实根:x1= % 8.4f和 x2= % 8.4fn,x1,x2); else realpart= - b/(2*a); imagepart= sqrt(- delta)/(2*a); printf(有两个虚根:); printf(% 8.4f+ % 8.4fin,realpart,imagepart); printf(% 8.4f- % 8.4fin,realpart,imagepart); ,程序运行: 请输入 a,b,c: 3.00,4.00,5.00 有两个虚根: -0.6667+ 1.1055i - 0.6667- 1.1055i,2019/9/6,程序设计简例,【例 9】 从键盘输入一个月份 (1 12),并显示该月份的英文名称。,main() int month; printf(Enter a month); scanf(% d,&month); switch(month) /*根据 month 的当前取值,做出多分支选择*/ case 1:printf(Januaryn);break; case 2:printf(Februaryn);break; case 3:printf(Marchn);break; case 4:printf(Apriln);break; case 5:printf(Mayn);break; case 6:printf(Junen);break; case 7:printf(Julyn);break; case 8:printf(Augusn);break; case 9:printf(Septembern);break; case 10:printf(Octobern);break; case 11:printf(Novembern);break; case 12:printf(Decembern);break; default:printf(Data Error!n);break ,2019/9/6,3.2.2 单分支与双分支结构,1.单分支结构程序,格式: if (表达式) 语句 1;,语句 1 若多于一条,则需用复合语句。if 语句的功能如图 3-2 所示。语句中的“表达式”项可以是算术表达式、关系表达式或逻辑表达式,甚至可以是任意类型的数值。,if 语句的执行过程是:遇到 if 关键字,首先计算圆括号中的表达式的值,如果表达式的值(或数值的)值不为 0(真)时,就执行其后的语句 1;表达式值为 0(假)时,就跳过其后的语句 1,控制转移到下一条语句。,2019/9/6,单分支与双分支结构,2.双分支结构程序,格式:if(表达式)语句 1; else 语句 2;,语句 1、语句 2 若多于一条语句,则应使用复合语句。其执行过程如图 3-3所示。,该语句遇到关键字 if,首先运算小括号中的表达式,如表达式的值为非 0,则执行紧跟其后的语句 1,执行完语句 1 后,执行 if-else 结构后面的语句;如果表达式的值为 0,则执行关键字 else 后面的语句 2,接着执行 if-else 结构后面的语句。,2019/9/6,3.2.3 多分支结构, 嵌套形式 1 格式: if(表达式 1) if(表达式 2)语句 1; else 语句 2; else 语句 3;,1.if-else 语句嵌套结构,执行流程如图 3-4所示,在if-else 语句中包含另一 if-else 语句,即第一个 else与第二个 if结合,而最后一个 else与第一个 if结合。,2019/9/6,多分支结构, 嵌套形式 2 格式: if(表达式 1) if(表达式 2)语句 1 ; else语句 2;,执行流程如图 3-5所示,在if-else 语句中包含一个单分支结构复合语句。即else与第一个 if结合。因为第二个 if在复合语句中,复合语句是一条语句,不能与复合语句外的 else结合。如果把去掉,则 else与第二个 if结合。,2019/9/6,多分支结构, 嵌套形式 3 格式: if(表达式 1)语句 1; else if(表达式 2)语句 2; else语句 3;,执行流程如图 3-6所示,在if-else 语句的else后紧跟另一个if-else 语句。C 语言规定:else总是与它前面最近的同一复合语句内的不带 else 的 if结合。在 if语句嵌套形式 2中可以看到,else与 if在同一复合语句内才能结合。,嵌套形式语句结构执行过程是:从上到下逐一对 if 后面的表达式进行运算。当某一个表达式的值为真(非 0) 时,就执行紧跟其后的相关子句中的语句,而后面的其余部分均被跳过。当有 n 个 if 语句,就有 n+1 个分支。,2019/9/6,多分支结构,2switch 语句,switch 语句的格式: switch (表达式) case 常量表达式 1: 语句组 1; break; case 常量表达式 2: 语句组 2; break; case 常量表达式 n: 语句组 n; break; default: 语句组 n+1;break; ,2019/9/6,多分支结构,2019/9/6,多分支结构,注意,(1)switch 关键字后面的表达式,可以是任意合法的表达式。,(2)一定要用圆括号把 switch 后面的(表达式)括起来。否则会给出出错信息。,(3)所有 case 子句后所列的常量表达式值都不能相同,且每个 case 关键字后面的常量表达式的类型,必须与 switch 关键字后面的表达式类型一致。,(4)break 语句的作用是退出 switch 语句。如果“语句组i”的后面没有安排 break 语句,那么执行完后,会继续往下执行。,(5)default 可以省略。如果有它,其位置不一定放在整个语句的最后。,2019/9/6,多分支结构,(6)一定要用花括号将 switch 里的 case、default 等括起来。在case后面中虽然包含一个以上执行语句,但可以不必用花括弧括起来,会自动顺序执行本case后面所有的执行语句。当然加上花括弧也可以。,(7)执行 switch 语句时,首先计算其后的表达式的值,然后自上而下顺序寻找一个 case 后面的常量与该值相匹配,找到后按顺序执行此 case 后面的所有语句,包括后续的 case 子句,而不再进行判断。如果所有 case 中的常量值都不能与 switch 后面的表达式的值相等,就执行default 关键字后面的语句;若既没有相匹配的 case,也没有 default 关键字,则直接跳过 switch语句。,2019/9/6,多分支结构,3if 语句与 switch 语句的区别,if 语句的嵌套形式和 switch 语句都能实现多分支选择,在某种场合也可以互换替代,但 if 语句适应于各种条件的选择,能够计算关系或逻辑表达式;switch 语句只适用于检验表达式与哪个值相等的情形。,2019/9/6,3.3 循环结构,for 循环语句 while 循环语句 do-while 循环语句 continue/break 语句 goto 语句和语句标号,2019/9/6,3.3.1 程序设计简例,【例 10】计算 1+2+3+99+100。,# includestdio.h main( ) int s,i; s=0; /*累加和的变量初值为0 */ i=1; /*累加数从1开始 */ loop:if(i=100) /*累加数不大于100 */ s= s+ i; /*进行累加* / i+; /*产生下一个累加数*/ goto loop;/*使程序流程转到if语句,以便继续累加下一个数*/ printf(s=1+2+100= % d n,s);/*输出累加* / ,程序运行结果: s=1+2+ +100=5050,2019/9/6,程序设计简例,【例 11】输入任意一个大于等于2的自然数n,判断该数是否是素数并输出相应的结果。,# includestdio.h main( ) int i,n,tag; printf(请输入一个大于2的自然数n:); scanf(% d,&n ); tag=1;/*若标志变量 tag等于 0,n不是素数,若 tag不等于 0,则 n是素数。*/ for( i=2;i n;i+ ) /*i循环中分别检测n能否被 i整除,i=2,3,n-1 */ if( n% i=0 ) tag=0;break;/* n能被 i整除,n不是素数,令tag=0 */ if(tag=1 )printf(% d 是素数n,n); else printf(% 不是素数 n,n); ,2019/9/6,程序设计简例,【例 12】用递推法求菲波拉契(Fibonacci)数列的前 20项。,main( ) long f,f1,f2; int i; f1 = f2 = 1; printf(% 10ld% 10ld,f1,f2); i=3; while(i=20)/*产生第 3到 20项*/ f= f1+ f2;/*递推出第 i项*/ printf(% 10ld,f); if( i% 4=0 ) printf(n);/*每行输出 4个数换行*/ f1= f2;f2= f;/*为下一步递推做准备*/ i=i+1 ; ,运行程序,输出结果是: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765,2019/9/6,程序设计简例,【例 13】将100 元人民币换成面值 1 元、2 元、5 元的钞票,给出所有可能的兑换方案。,#include main( ) int i,j,k,n=0; printf(“给出所有可能的兑换方案:n“); for(i=0;i=100;+i) /*第一层(最外层)循环*/ for(j=0;j=50;+j) /*第二层(中间层)循环*/ for(k=0;k=20;+k) /*第三层(最内层)循环*/ if (i*1+j*2+k*5=100) printf(“方案%8d: %8d(1)%8d(2)%8d(5)n“, +n,i,j,k); ,2019/9/6,程序设计简例,【例 14】求自然对数底的近似值,公式为:e=1+1/1!+1/2!+1/n!+。,#include main( ) int i=1; double e=1.0,u=1.0; while (u1e-6) /* while 循环语句*/ u=u/i; e=e+u; i+; printf(“ne=%12.10f“,e); i=1;e=1.0,u=1.0; do /*do while 循环语句*/ u=u/i; e=e+u; i+; while (u1e-6); printf(“ne=%12.10f“,e); for(i=1,e=1.0,u=1.0;u1e-6;+i) /* for循环语句*/ u=u/i; e=e+u; printf(“ne=%12.10f“,e); ,2019/9/6,程序设计简例,【例 15】找出两个自然数平方之和的所有三位数。,#include “stdio.h“ #include “math.h“ main ( ) int k,j,m,n,flag; for (n100;n1000; n) /*第一层(最外层)循环*/ ksqrt(1.0*n);/*第一层(最外层)循环复合句开始*/ flag0; j1; while(jk)&(flag0) /*第二层(中间层)循环*/ m1; /*第二层(中间层)循环复合句开始*/ while(mk)&(m*m!nj*j) mm1;/*第三层(最内层)循环*/ if (m*mj*jn) flag1; printf(“%d%d*%d%d*%dn“,n,j,j,m,m); jj1; /*第二层(中间层)循环复合句结束*/ /*第一层(最外层)循环复合句结束*/ ,2019/9/6,3.3.2 当型循环与直到型循环,一“当型”循环,在执行循环语句时,首先判断循环控制表达式是否为“真”,若为“真”,则反复执行循环体。若为“假”,则结束循环。如图 3-10所示。,1while语句,格式: while(表达式) 语句(循环体部分),功能:当表达式的值为真时,执行 while语句中的循环体。,(1)循环体如果包含一个以上的语句,则必须用花括弧括起来,以复合语句的形式出现,否则 while 语句范围只到while后面第一个分号处。,2019/9/6,当型循环与直到型循环,(2)在循环体中应有使循环趋向于结束的语句,即设置修改循环条件的语句。,(3)while语句先判断表达式的值,然后执行循环体中的语句,如果表达式的值一开始为假 (值为 0),则不执行循环体,直接执行循环体以外的语句。表达式是控制循环的条件,它可以是任何类型的表达式。,2for语句,格式:for (表达式 1;表达式 2;表达式 3) 语句,功能:首先计算表达式 1 的值;其后检测表达式 2 的值,若其值为“真”,则执行循环体语句,执行完毕后,再计算表达式 3,至此完成了一次循环;然后,再次测试表达式 2 的值是否为“真”,若为“真”,继续执行循环体语句,直到计算表达式 2的值为 0,即为“假”,则终止循环,执行 for语句下面的一个语句。如图 3-11所示,2019/9/6,当型循环与直到型循环,(1)for语句中条件测试总是在循环开始时进行;如果循环体部分是多个语句组成的,则必须用左、右花括号括起来,使其成为一个复合语句。,(2)for语句中,表达式 1通常是为循环变量赋初值的表达式;表达式2是控制循环的表达式;表达式 3通常是改变循环变量值的表达式。表达式1和表达式3既可以是一个简单的表达式,也可以是逗号表达式。,(3)for 语句的表示形式相当灵活,可以部分或全部省略,但 “;”不能省略,如 for (;)。,2019/9/6,当型循环与直到型循环,二“直到型”循环,格式: do 语句(循环体部分) while(表达式);(分号必不可少),功能:先执行语句,后判断表达式的值。它的执行过程是:先执行一次指定的语句,然后判断表达式的值,当表达式的值为非零(“真”)时,返回重新执行该语句,如此反复,直到表达式的值等于 0为止,此时循环结束。如图 3-12所示。,2019/9/6,当型循环与直到型循环,(1)do while语句的表达式是任意表达式,是控制循环的条件。,(2)先执行后判断。因此,循环体至少执行一次,直到表达式为“假”才退出循环。因此,在循环体语句中一定要有改变表达式的值的操作,最终使其表达式的值变为 0,结束循环。否则将成为“死”循环。,(3)如果 do while语句的循环体部分是多个语句组成的话,则必须用左右花括号括起来,使其形成复合语句。,(4)在关键字 while 的小括号的后面,一定要加分号“;”,千万不能忘记,它表示 do while语句到此结束。,2019/9/6,当型循环与直到型循环,三goto 语句,格式:goto 语句标号;,功能:程序执行到 goto语句时,转到语句标号指定的语句去执行。,(1)使用goto语句时,需要预先指定一个有标号的可执行语句作为目的位置,这个有标号的语句必须与 goto 语句在同一个函数内。语句标号必须用标识符表示,不能用整数作为标号。,(2)与 if语句一起构成循环结构。从结构化程序设计角度考虑,大多数现代的编程方法都认为 goto 语句是有害的结构,因此不提倡使用 if和 goto语句构造循环。,(3)goto语句为无条件转向语句,会跳过程序中的一段代码并转到一个指定的目的位置。,2019/9/6,3.3.3 各种循环语句的比较,(1)4种循环语句均可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用 goto语句和if语句构成的循环。,(2)while和 do while循环,只在 while后面指定循环条件,在循环体中包含反复执行的操作语句,包括使循环趋于结束的语句 (如 i+ + ,或 i= i+ 1等)。 for循环可以在表达式 3中包含使循环趋于结束的语句,甚至可以将循环体中的操作全部放到表达式 3中。因此 for语句的功能更强,凡用 while循环能完成的,用 for循环都能实现。,(3)while语句和do while语句只有一个表达式,用于控制循环是否进行。for语句有三个表达式,不仅可以控制循环是否进行,而且能为循环变量赋初值及不断修改循环变量的值。 for语句比 while和 do while语句功能更强,更灵活。for语句中三个表达式可以是任何合法的C语言表达式,而且可以部分省略或全部省略,但其中的两个分号不能省略。,2019/9/6,各种循环语句的比较,(4)用while和 do while循环时,循环变量初始化的操作应在 while和 do while语句之前完成。for语句可以在表达式 1中实现循环变量的初始化。,(5)for 循环和 while 循环语句结构均是先判断循环条件,条件成立,才执行循环体,具有“先判断,后执行”特点,for语句和 while语句可能一次也不执行循环体;而 do while 循环语句
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学实用C语言程序设计教程-陈建铎-课件PPT
链接地址:https://www.renrendoc.com/p-21835855.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!