1、C 语言程序设计基础篇1ppt课件C语言程序设计基础篇本章内容提要本章内容提要2ppt课件C语言程序设计基础篇n在三种基本结构的基础上,结合本章介绍流在三种基本结构的基础上,结合本章介绍流程控制的其他几个语句:程控制的其他几个语句:switch语句、语句、break语句和语句和continue语句及循环的嵌套,语句及循环的嵌套,实现复杂的算法,设计出结构清晰、功能强大实现复杂的算法,设计出结构清晰、功能强大的程序的程序,对,对C语言程序开发设计有比较深刻的语言程序开发设计有比较深刻的认识。认识。3ppt课件C语言程序设计基础篇1、语句形式:、语句形式:switch (表达式)表达式)case
2、常量常量1:语句语句1;case 常量常量2:语句语句2;case 常量常量3:语句语句3;.case 常量常量n:语句语句n;default:语句语句n+1;。数值型数值型或或字符型字符型常量表达式的值必须常量表达式的值必须互不相同,否则执行互不相同,否则执行时将出现矛盾,即同时将出现矛盾,即同一个开关值,将对应一个开关值,将对应多种执行方案。多种执行方案。千万不千万不能接能接(;)号号4ppt课件C语言程序设计基础篇2、语句执行流程:、语句执行流程:指语句的最指语句的最后一条是否后一条是否为为break简单语句或简单语句或复合语句复合语句breakbreakbreakbreak有有无bre
3、akbreak有无有计算表达式计算表达式常量常量1 1常量常量2 2常量常量n n=语句语句1 1=语句语句2 2语句语句n n其它其它=语句语句n+1n+1无值值casecase语句出语句出现的次序并现的次序并不影响执行不影响执行结果。结果。5ppt课件C语言程序设计基础篇 【例【例7.17.1】编写程序,对学生成绩进行等级评定。将成绩分为几个编写程序,对学生成绩进行等级评定。将成绩分为几个等级:等级:0 05959分为不及格,分为不及格,60606969分为及格,分为及格,70707979分为中等,分为中等,80808989分为良好,分为良好,9090100100分为优秀。要求输入一个成绩
4、,输出其分为优秀。要求输入一个成绩,输出其对应的等级。对应的等级。请输入成绩:请输入成绩:78成绩成绩78的等级为中等的等级为中等成绩成绩78的等级为及格的等级为及格 成绩成绩78的等级为不及格的等级为不及格 出错啦!?出错啦!?6ppt课件C语言程序设计基础篇n在在“switchswitch”语句中,语句中,“case case 常量表常量表达式达式”只相当于一个语句标号,表达式只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳但不能在执行完该标号的语句后自动跳出整个出整个switch switch 语句,因此会
5、继续执行语句,因此会继续执行所有后面语句的情况。所有后面语句的情况。n为此,语言提供了一种为此,语言提供了一种breakbreak语句,语句,其功能是可以跳出它所在的其功能是可以跳出它所在的switchswitch语句。语句。7ppt课件C语言程序设计基础篇将上面的例将上面的例7.17.1修改如下:修改如下:请输入成绩:请输入成绩:78成绩成绩78的等级为中等的等级为中等8ppt课件C语言程序设计基础篇使用使用switch语句时还应注意以下几点语句时还应注意以下几点 9ppt课件C语言程序设计基础篇10ppt课件C语言程序设计基础篇在一个循环内又完整地包含另一个循环,称为在一个循环内又完整地包
6、含另一个循环,称为循环的嵌套循环的嵌套。for语句可以与语句可以与while语句、语句、do-while语句相互嵌套,构成多重循环,例如:语句相互嵌套,构成多重循环,例如:11ppt课件C语言程序设计基础篇12ppt课件C语言程序设计基础篇for(i=1;i=9;i+)打印第打印第i行行;【例【例7.2】打印乘法小九九表。打印乘法小九九表。使用一个循环使用一个循环9次的循环语句次的循环语句,每次循环打印一行:,每次循环打印一行:打印第打印第i i行,循环行,循环i i次次,每次循环打印一个表达式每次循环打印一个表达式:for(j=1;j=i;j+)打印第打印第j个表达式个表达式;打印完一行后换
7、行打印完一行后换行 13ppt课件C语言程序设计基础篇#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-3d,i,j,i*j);printf(n);程序运行情况如下:程序运行情况如下:1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4=28 7*
8、5=35 7*6=42 7*7=498*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=8114ppt课件C语言程序设计基础篇【例【例7.3】百鸡问题。百鸡问题。#includestdio.hvoid main()int x,y,z;for(x=1;x=20;x+)/*用嵌套的用嵌套的for循环依次设公鸡有循环依次设公鸡有1,2,20只只*/for(y=1;y=33;y+)/*设母鸡有设母鸡有1,2,33只只*/for(z
9、=3;z100;z+=3)/*设小鸡有设小鸡有3,6,99只只*/if(x*5+y*3+z/3=100&x+y+z=100)printf(“公鸡公鸡%d只、母鸡只、母鸡%d只、小鸡只、小鸡%d只只 n,x,y,z);程序运行结果如下:程序运行结果如下:公鸡公鸡4只、母鸡只、母鸡18只、小鸡只、小鸡78只只公鸡公鸡8只、母鸡只、母鸡11只、小鸡只、小鸡81只只公鸡公鸡12只、母鸡只、母鸡4只、小鸡只、小鸡84只只 15ppt课件C语言程序设计基础篇7.3 break语句和语句和continue语句语句在循环中的应用在循环中的应用 nbreak语句对语句对if-else的条件语句不起作用。的条件语
10、句不起作用。n在多层循环中,一个在多层循环中,一个break语句只向外跳一层。语句只向外跳一层。n使用使用break语句可以使循环语句有多个出口语句可以使循环语句有多个出口 16ppt课件C语言程序设计基础篇continue 语句语句17ppt课件C语言程序设计基础篇18ppt课件C语言程序设计基础篇【例7.4】输出100以内能被7整除的数。程序运行情况如下:程序运行情况如下:7 14 21 28 35 42 49 56 63 70 77 84 91 9819ppt课件C语言程序设计基础篇【例例7.5】判断判断m是否素数是否素数#include#include int main()int m,
11、i,k;scanf(%d,&m);k=sqrt(m);for(i=2;i=k+1)printf(%d is a prime numbern,m);else printf(%d is not a prime numbern,m);return(0);20ppt课件C语言程序设计基础篇7.4 程序举例程序举例【例【例7.6】模拟自动饮料机模拟自动饮料机 21ppt课件C语言程序设计基础篇程序运行情况如下:程序运行情况如下:=自动饮料机自动饮料机=1可口可乐可口可乐2雪碧雪碧3百事可乐百事可乐4芬达芬达5非常可乐非常可乐请按请按15键选择饮料:键选择饮料:3你获得一听百事可乐你获得一听百事可乐22p
12、pt课件C语言程序设计基础篇【例【例7.10】数组元素排序数组元素排序冒泡排序冒泡排序(以升序为例)(以升序为例)n比较第一个数与第二个数,若为逆序比较第一个数与第二个数,若为逆序a0a1,则交换;然后比较则交换;然后比较第二个数与第三个数;依次类推,直至第第二个数与第三个数;依次类推,直至第n-1个数和第个数和第n个数比较为个数比较为止止第一趟冒泡排序第一趟冒泡排序,结果,结果最大最大的数被安置在最后一个元素位置的数被安置在最后一个元素位置上上n对前对前n-1个数进行第二趟冒泡排序,结果使个数进行第二趟冒泡排序,结果使次大次大的数被安置在第的数被安置在第n-1个元素位置个元素位置n重复上述过
13、程,共经过重复上述过程,共经过n-1趟冒泡排序后,排序结束趟冒泡排序后,排序结束23ppt课件C语言程序设计基础篇例38 49 65 76 13 27 30 97 第一趟38 49 65 13 27 30 76 第二趟38 49 13 27 30 65 第三趟38 13 27 30 49 第四趟13 27 30 38 第五趟13 27 30 第六趟49 38 65 97 76 13 27 30 初始关键字n=83849769713972797309713767676273013652765306513134949304927382738303813 27 第七趟24ppt课件C语言程序设计基础
14、篇输入n 个数给a0 到 an-1for (i=0;in-1;i+)for(j=0;jaj+1真假ajaj+1输出a0 到 an-1#include main()int a10,i,j,t;printf(Input 10 numbers:n);for(i=0;i10;i+)scanf(%d,&ai);printf(n);for(i=0;i9;i+)for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;printf(The sorted numbers:n);for(i=0;i10;i+)printf(%d,ai);25ppt课件C语言程序设计基础篇【例【例7.11】数组元素排序数
15、组元素排序选择排序选择排序(以升序为例)(以升序为例)n首先通过首先通过n-1次比较,从次比较,从n个数中找出最小个数中找出最小的,的,将它与第一个数将它与第一个数 交换交换第一趟选第一趟选择排序择排序,结果,结果最小最小的数被安置在第一个元的数被安置在第一个元素位置上素位置上n再通过再通过n-2次比较,从剩余的次比较,从剩余的n-1个数中找个数中找出关键字出关键字次小次小的记录,将它与第二个数交的记录,将它与第二个数交换换第二趟选择排序第二趟选择排序n重复上述过程,共经过重复上述过程,共经过n-1趟排序后,排趟排序后,排序结束序结束26ppt课件C语言程序设计基础篇例初始:49 38 65 97 76 13 27 kji=11349一趟:13 38 65 97 76 49 27 i=22738二趟:13 27 65 97 76 49 38 三趟:13 27 38 97 76 49 65 四趟:13 27 38 49 76 97 65 五趟:13 27 38 49 65 97 76 六趟:13 27 38 49 65 76 97 kkkkjjjjjjjjjj27ppt课件C语言程序设计基础篇输入n 个数给a0 到 an-1for (i=0;in-1;i+)for (j=i+1;jn;j+)ajak真假k=j输出a0 到 an-1k=iaiaki!=k真假28ppt课件
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。