C语言b程序b设计ppt课件

上传人:博****1 文档编号:573989673 上传时间:2024-08-15 格式:PPT 页数:45 大小:1.62MB
返回 下载 相关 举报
C语言b程序b设计ppt课件_第1页
第1页 / 共45页
C语言b程序b设计ppt课件_第2页
第2页 / 共45页
C语言b程序b设计ppt课件_第3页
第3页 / 共45页
C语言b程序b设计ppt课件_第4页
第4页 / 共45页
C语言b程序b设计ppt课件_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《C语言b程序b设计ppt课件》由会员分享,可在线阅读,更多相关《C语言b程序b设计ppt课件(45页珍藏版)》请在金锄头文库上搜索。

1、3 3 流程控制语句流程控制语句流程控制语句流程控制语句 理工系理工系理工系理工系 王楠王楠王楠王楠8/15/20241C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确学习目标学习目标熟练掌握分支结构if语句和switch语句的定义格式、功能和执行过程熟练掌握循环结构for、while和do while语句的定义格式、功能和执行过程熟练掌握跳转语句break、continue、goto和return语句的定义格式、功能和执行过程会编写出符合结构化要求的C语言程序8/15/20242C语言程序设计-3在整堂课的教学中,

2、刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确3.1 顺序结构3.2 条件结构3.3 循环结构退出8/15/20243C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确3.1 顺序结构顺序结构顺序结构程序顺序结构程序就是按书写顺序执行的语句构成的程序段。语句语句1语句语句28/15/20244C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确数据输入语句数据输入语句 ch=getchar();scan

3、f(格式控制,输入项地址表);数据输出语句数据输出语句putchar(ch);printf(格式控制,输出项表);赋值语句赋值语句变量变量=表达式表达式;空语句空语句;复合语句(分程序)复合语句(分程序) 内部数据说明内部数据说明; 执行语句;执行语句; 8/15/20245C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.1复合语句举例。#includevoidmain()inta=10;printf(a=%dn,a);inta=20;printf(a=%dn,a);printf(a=%dn,a);a=10a=

4、20a=10返 回8/15/20246C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确3.2 分支结构(条件结构)分支结构(条件结构)1、基本、基本if语句(单分支结构)语句(单分支结构)2、if-else语句(双分支结构)语句(双分支结构)3、if嵌套语句(分支嵌套的一般形式)嵌套语句(分支嵌套的一般形式)4、 if-else-if语句语句 (分支嵌套的特殊形式分支嵌套的特殊形式)5、 switch-case语句语句 (分支开关结构分支开关结构)6、goto语句(无条件分支结构)语句(无条件分支结构) 返 回8/1

5、5/20247C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确1、基本、基本if语句(单分支结构)语句(单分支结构) if(表达式表达式) 语句语句注:表达式可是任意表达式,为“非0”则执行语句。语句语句表达式表达式0非非08/15/20248C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确8/15/20249C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确2、i

6、f-else语句(双分支结构)语句(双分支结构) if(表达式)表达式) 语句语句1 else 语句语句2语句语句1语句语句2表达式表达式非非008/15/202410C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.3输入一个整数,判断奇偶。#includevoidmain()intn;printf(“Inputanumbern”);scanf(“%d”,&n);if(n%2=0)printf(“Thenumberisevenn”);elseprintf(“Thenumberisoddn”);Inputanum

7、ber100ThenumberisevenInputanumber25Thenumberisodd8/15/202411C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.4求整数a的平方值。#includevoidmain()inta;printf(EnteranintegerA:n);scanf(%d,&a);if(a!=0)a=a*a;printf(a*a=%dn,a);elseprintf(a*a=0n);返 回EnteranintegerA:5a*a=258/15/202412C语言程序设计-3在整堂课的

8、教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例if(n0)if(ab)c=a;elsec=b;3、if嵌套语句(分支嵌套的一般形式)嵌套语句(分支嵌套的一般形式)if后和else后的语句可再包含if语句。注:else总是与前面最近的并且没有与其他else匹配的if相匹配。例if(n0)if(ab)c=a;elsec=b;8/15/202413C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.5 求一个点所在的象限。#include void main() fl

9、oat x,y; printf(“Input the coordinate of a point n”); printf(“x=”); scanf(“%f”,&x); printf(“y=”); scanf(“%f”,&y); if(x0) if(y0) printf(“ The point is in 1st quadrant.n”); else printf(“ The point is in 4th quadrant.n”); else if(y0) printf(“ The point is in 2nd quadrant.n”); else printf(“ The point is

10、 in 3rd quadrant.n”); Input the coordinate of a point x=5 y=3 The point is in 1st quadrant. Input the coordinate of a point x=-2 y=-7 The point is in 3rd quadrant.返 回8/15/202414C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确4、 if-else-if语句(分支嵌套的特殊形式)语句(分支嵌套的特殊形式) if(表达式表达式1) 语句语句1 el

11、se if(表达式(表达式2) 语句语句2 else if(表达式表达式n) 语句语句n else 语句语句n+1 表达式1假(0)语句2真(非0)语句1表达式2假(0)表达式n假(0)语句n+1语句n真(非0)真(非0)8/15/202415C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.6 求解符号函数。#includevoidmain()intx,sign;printf(“Pleaseinputanumbern”);scanf(“%d”,&x);if(x0)sign=1;elseif(x=0)sign=0

12、;elsesign=-1;printf(“Thesignis%dn”,sign);Pleaseinputanumber-100Thesignis1Pleaseinputanumber2Thesignis1Pleaseinputanumber0Thesignis08/15/202416C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.10设计求ax2+bx+c=0的一元二次方程解的程序。 a,b,c=? 1,2,1The equation has two equal roots: -1.0000a,b,c=? 1,

13、2,2The equation has complex roots: -1.0000+1.0000i-1.0000-1.0000ia,b,c=? 2,6,1The equation has distinct real roots: -0.1771 and -2.8229#include #include void main() float a,b,c,d,x1,x2,p,q; printf(a,b,c=?); scanf(%f,%f,%f,&a,&b,&c); printf(The equation); if(fabs(a)=1e-6) printf(is not quadratic); el

14、se d=b*b-4*a*c; if(fabs(d)1e-6) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(has distinct real roots:%8.4f and %8.4fn,x1,x2); else p=-b/(2*a); q=sqrt(-d)/(2*a); printf(has complex roots:n); printf(%8.4f+%8.4fin,p,q); printf(%8.4f-%8.4fin,p,q); 输入a,b,ca=0?“非二次方程”d=b2-4acd=0?d0?相等实根不相等实根不相等虚根返 回

15、8/15/202417C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确5、 switch-case语句语句 (开关分支结构开关分支结构) switch (表达式表达式) case 常量表达式常量表达式1: 语句组语句组1 case 常量表达式常量表达式2: 语句组语句组2 case 常量表达式常量表达式n: 语句组语句组n default : 语句组语句组n+1注:表达式和常量表达式可为任何整型或字符型。 每一个case后的常量表达式值应互不相同。default位置任意,只作入口;若无default且无匹配常量表达式

16、,则不执行任何操作。语句组不须加 break无条件转向本层复合结构的下一条语句。 计算表达式值语句组1语句组2语句组n语句组n+1常量表达式1常量表达式2常量表达式ndefault计算表达式值语句组1语句组2语句组n语句组n+1常量表达式1常量表达式2常量表达式ndefaultbreak; break; break; breakbreakbreak8/15/202418C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.7根据考试成绩的等级打印百分制分数段。 #includevoidmain()chargrade;

17、printf(inputthegrade:);scanf(%c,&grade);switch(grade)caseA:printf(85100n);break;caseB:printf(7084n);break;caseC:printf(6069n);break;caseD:printf(60n);break;default:printf(errorn);Inputthegrade:A85100Inputthegrade:kerror8/15/202419C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.8判别某

18、考试成绩等级是否大于60分。#includevoidmain()chargrade;printf(Inputthegrade:);scanf(%c,&grade);switch(grade)caseA:caseB:caseC:printf(=60n);break;caseD:printf(=60Inputthegrade:D608/15/202420C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.9在case后面嵌套switch语句的程序。#includevoidmain()intx=1,y=0,a=0,b=0

19、;switch(x)case1:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;case3:a+;b+;printf(a=%d,b=%dn,a,b);a=2,b=18/15/202421C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确程序举例:程序举例:例3.11设计输入年、月,输出该月天数的程序。返 回Input year,month=? 1994,8 year=1994,month=8,days=31 Input year,month=? 1994

20、,2 year=1994,month=2,days=28#include void main()int year,month,days; printf(input year,month=?n); scanf(%d,%d,&year,&month); switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31;break; case 4: case 6: case 9: case 11: days=30;break; case 2: if(year%4=0)&(year%100!=0)|(year

21、%400=0) days=29; else days=28;break; default: printf(month is errorn); printf(year=%d,month=%d,days=%dn,year,month,days); 年号能被4整除但不能被100整除,或者年号能被400整除的年均是闰年。8/15/202422C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确6、goto语句(无条件分支结构)语句(无条件分支结构)goto 语句标号语句标号;注:语句标号用标识符表示,用来表示程序的某个位置。 返

22、 回无条件分支结构语句无条件分支结构语句的三种形式:的三种形式: goto 语句:语句:转向标号所在位置。 continue 语句:语句:转向本层复合结构的末尾。 break 语句:语句:转向本层复合结构的下一语句。loop:if(i=100)sum=sum+i;i+;gotoloop;8/15/202423C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确3.3 循环结构(重复结构)循环结构(重复结构)循环语句循环语句:是在给定条件成立时,反复执行某个程序段(循环体循环体)。1、if-goto语句2、while语句语

23、句 3、do-while语句语句 4、for语句语句5、break语句6、continue语句 程序举例返 回8/15/202424C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确1、if-goto语句构成的循环结构 例3.12求S=1+2+100的和。#includevoidmain()inti,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;gotoloop;printf(SUM=%dn,sum);返 回SUM=50508/15/202425C语言程序设计-3在整堂课的教学中,刘教师总是

24、让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确2、while语句 while (表达式表达式) 语句语句注:先判断,后执行循环体;循环体最少执行次,即表达式不成立时;死循环:while(1),即当循环体内无改变表达式的语句(如i+)。while表达式表达式语句语句0非08/15/202426C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.13求S=1+2+10的和。#includevoidmain()inti,sum=0;i=1;while(i=10)sum=sum+i;i+;

25、printf(SUM=%dn,sum);SUM=558/15/202427C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.14求两个正数的最大公因子。返 回Pleasetypeintwopositiveintegers4921Theirgreatestcommondivisoris7Pleasetypeintwopositiveintegers50100Theirgreatestcommondivisoris50#includevoidmain()intm,n,r;printf(Pleasetypeintwop

26、ositiveintegersn);scanf(%d%d,&m,&n);while(n)r=m%n;m=n;n=r;printf(Theirgreatestcommondivisoris%dn,m);算法:输入两个正数m和n; m除以n,余数为r, n-m,r-n; 若n=0,则m是最大公因子,结束;否则转 。8/15/202428C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确3、do-while语句 do 语句语句 while (表达式表达式)注:先执行循环体,后判断;无论表达式成立不成立,循环体最少执行次;死循

27、环:while(1),即当循环体内无改变表达式的语句(如i+)。 do表达式表达式语句语句0非08/15/202429C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.15求S=1+2+10的和。#includevoidmain()inti,sum=0;i=1;dosum=sum+i;i+;while(i=10);printf(SUM=%dn,sum);SUM=558/15/202430C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例

28、3.16将一个整数的各位数字颠倒后输出。算法:提取最后一位数字,用取模10的余数求得。#includevoidmain()inti,r;printf(Inputanintegern);scanf(%d,&i);dor=i%10;printf(%d,r);while(i/=10)!=0);printf(n);返 回Inputaninteger123443218/15/202431C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确for (表达式;表达式;表达式表达式;表达式;表达式) 语句语句 4、for语句 注:表达式

29、1:变量赋初值;表达式2:循环条件;表达式3:循环后修正变量,使循环趋向结束;语句:循环体。已知循环次数或开始条件和结束条件的重复问题;表达式1和3省略时,相当于while循环。先判断,后执行;循环体最少执行0次;死循环:表达式3省略时,则循环体内应有改变表达式2的语句。表达式2省略时,无终止条件,则循环体内应有跳出循环的语句,如break,goto,exit(),return。表达式表达式2语句语句0非0表达式表达式1表达式表达式3变量赋初值循环条件修正变量循环体While循环循环8/15/202432C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的

30、梯度,由浅入深,所提出的问题也很明确例3.17求S=1+2+10的和。#includevoidmain()inti,sum=0;for(i=1;i=10;i+)sum=sum+i;printf(“SUM=%dn”,sum);SUM=558/15/202433C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.18输入10个字符,输出最大的ASCII值。#include#defineNUM10voidmain()inti,c,max;max=0;for(i=1;imax)max=c;printf(Thelargest

31、ASCIIvalueis%dn,max);12AB9xabThelargestASCIIvalueis1208/15/202434C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.19求斐波那契数列(Fibonacci)的前20个数。#includevoidmain()inti,a,b,c;a=0;b=1;printf(%10d%10d,a,b);for(i=3;i=20;i+)c=a+b;printf(%10d,c);if(i%5=0)printf(n);a=b;b=c;printf(n);返 回0112358

32、13213455891442333776109871597258441818/15/202435C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确5、break语句break语句的两个用途:跳出switch语句;跳出本层循环。表达式2break;.假(0)真(非0)for表达式1表达式3switch表达式语句组1break;语句组2break;语句组nbreak;语句组break;.常量1常量2常量ndefaultcase表达式break;假(0)真(非0)whiledobreak;.表达式假(0)真(非0)while

33、8/15/202436C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.20break语句结束循环。#includevoidmain()inti;for(i=1;i9)break;printf(n);123456789108/15/202437C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例3.21求调和级数中第多少项的值大于10。调和级数的第n项形式为:1+1/2+1/3+1/n#include#defineLIMIT10voidm

34、ain()intn;floatsum;sum=0.0;n=1;for(;)sum=sum+1.0/n;if(sumLIMIT)break;n+;printf(n=%dn,n);n=12367返 回8/15/202438C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确6、continue语句continue语句作用:立即结束本次循环,转去判断循环条件是否成立。表达式2continue;.假(0)真(非0)for表达式1表达式3真(非0)docontinue;.表达式假(0)while表达式continue;假(0)真(

35、非0)while8/15/202439C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确返 回例3.22求输入的正数之和。#includevoidmain()inti,n,sum=0;for(i=1;i10;i+)scanf(%d,&n);if(n0)continue;sum=sum+n;printf(SUM=%dn,sum);SUM=558/15/202440C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确#include void mai

36、n() int x,y,z; for(x=1;x=20;x+) for(y=1;y=33;y+) z=100-x-y; if(z%3=0)&(5*x+3*y+z/3=100) printf(cook=%dt hen=%dt chiken=%dn,x,y,z); 程序举例:程序举例:例3.23鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁,鸡母,鸡雏各几何?cock=4 hen=18 chick=78cock=8 hen=11 chick=81cock=12 hen=4 chick=84算法:不定方程问题。设算法:不定方程问题。设x、y、z分别表示翁、分别表示翁、母、雏三个量

37、,则母、雏三个量,则x最多为最多为20,y最多为最多为33,且且z=100-x-y。其解不只一组。其解不只一组。8/15/202441C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确#include void main() int m,i,n=0; for(m=101;m=200;m=m+2) if(n%10=0) printf(n); for(i=2;i=m) printf(%d ,m); n=n+1; printf(nprime number=%dn,n);程序举例:程序举例:例3.24求100200间的全部素数

38、。101 103 107 109 113 127 131 137 139 149151 157 163 167 173 179 181 191 193 197199prime number=21 算法:算法:m不能被不能被2(m-1)之间任一整数之间任一整数数除,则数除,则m为素数。为素数。8/15/202442C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确程序举例:程序举例:例3.25译密码。对英文字母AZ,az,按如下规律将电文变成密码:将字母A变成E,a变成e,即变成后第4个字母;W变成A,X变成B,Y变成C

39、,Z变成D。小写字母也按上述规律转换,非字母不变。如“China!”转换为“Glmre!”。输入一行字符,要求输出其相应的密码。 China!Glmre! #include void main() char c; while (c=getchar()!=n) if(c=a&c=A&cZ&cz) c=c-26; printf(%c,c); 返 回8/15/202443C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确上机实验上机实验 根据教材第根据教材第100页上机操作页上机操作8/15/202444C语言程序设计-3在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确作业:书上94100页练习题8/15/202445C语言程序设计-3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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