14C语言与程序设计第四讲

上传人:E**** 文档编号:89082655 上传时间:2019-05-17 格式:PPT 页数:40 大小:2.12MB
返回 下载 相关 举报
14C语言与程序设计第四讲_第1页
第1页 / 共40页
14C语言与程序设计第四讲_第2页
第2页 / 共40页
14C语言与程序设计第四讲_第3页
第3页 / 共40页
14C语言与程序设计第四讲_第4页
第4页 / 共40页
14C语言与程序设计第四讲_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《14C语言与程序设计第四讲》由会员分享,可在线阅读,更多相关《14C语言与程序设计第四讲(40页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计基础,2014.9,第1讲 概述-c程序要素与结构 第2讲 c语言的输入输出 第3讲 数据类型与关系运算 第4讲 c程序设计初步(条件判别、循环、数组初步) 第5讲 c程序设计初步(并列语句、结构的概念) 第6讲 教学回顾(变量、语句、函数与程序结构) 第7讲 函数一(概念、形参与实参、函数间的参数传递) 第8讲 函数二(变量值与地址、函数与程序设计、调用形式) 第9讲 函数三(递归算法、指针、二维数组) 第10讲 指针与函数 第11讲 链表一(指针与链表) 第12讲 链表二(结构指针与链表设计) 第13讲 文件、算法初步,课程大纲,第四讲 循环初步,运算符 本节要点-循环初步

2、循环程序回顾 for语句动作详解 用循环改善程序结构 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习,运算符一览,它代表什么运算?,第四讲 循环初步,运算符 本节要点-循环初步 循环程序回顾 for语句动作详解 用循环改善程序结构 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习,switch()语句,开胃菜 主菜 松露,长城饭店的FRENCH BISTRO法餐厅 1.开胃菜 2.主菜 松露 法式焗蜗牛 小牛排配煎鹅肝 黄油煎龙虾马赛鱼羹 鹅肝排 红酒山鸡 沙福罗鸡鸡肝 烤羊排 3. 酒水 1787年路易十六 1747年

3、拉菲 4.甜点 猫屎咖啡 Rum酒巧克力姆斯,我呸!,菜单问题,switch()语句,有多个选项,第二层还有多个选项,菜单问题,第四讲 循环初步,运算符 本节要点-循环初步 循环程序回顾 for语句动作详解 用循环改善程序结构 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习,coutk;,k =1?,输入学号检索系,ture,k =2?,输入系名检索选课人数,ture,k =3?,检索国籍,ture,exit,多级if-else语句嵌套使得程序结构不清晰,switch()语句,练习三、第二道题的选课名单表,输入一个学号,给出他所属的系别,如果是自动化系的同

4、学,请注明是否是留学生; 输入系别检索信息(自动化系、土木系),给出该系的选课学生人数; 输入“留学生”或“中国”,程序给出留学生选课人数或者是中国学生选课人数;,k1是一个常量,表达式值K,K=k1,分支1,K=k2,分支2,K=kn,分支n,若K匹配失败执行缺省语句项,default,break,break,break,break,出口,语句段中的break语句,使程序跳出整个switch 语句。,计算代数表达式值k,switch()语句,若没有缺省语句项,则程序直接退出,k逐个与case的k1,k2,kn值比较; 若k值等于ki(配对),即执行该程序体。,switch()语句,switc

5、h()语句,switch(表达式K) case常量表达式K1: 语句段1; break; case常量表达式K2: 语句段2; break; case常量表达式Kn: 语句段n; break; default : 语句段n+1; ,switch(assess=getche() case A: printf(“n物理课程教学评估为:优n“); break; /它退出了case A程序段 case B: printf(“n物理课程教学评估为:较好n“); break; /它退出了case B程序段 case C: printf(“n物理课程教学评估为:一般n“); break; /它退出了case

6、 C程序段 case D: printf(“n物理课程教学评估为:较差n“); break; /它退出了case D程序段 default : printf(“n输入错误!n“); break; /它退出了default ,switch()语句,第四讲 循环初步,运算符 本节要点-循环初步 循环程序回顾 for语句动作详解 用循环改善程序结构 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习,回顾循环程序例题,求自然级数的前n项之和:1+2+3+100,把它描述为对部分和Sn-1递推求解的过程,即: Sn=Sn-1+n,变量Sn-1的初值为0,让变量n从1开

7、始,每次增一,直到100为止,每次求得的Sn对n的下一次取值来说,就是Sn-1,for(n=1; n=100; n+) Sn=Sn+n;,变量n初始为1,n=n+1的简写,逐步加一,每次Sn的递推求和,循环条件:若n小于或等于100,继续循环;当n等于101时,循环结束。,循环有一个起点,n 是设置的循环次数,设置循环结束的条件,每次循环中的操作,Sn+=n;,重复操作、且每次操作的形式与对象相同,就可以采用循环结构,n=100;,这个循环结束条件是否正确?,若n!=100则退出循环,因此,程序根本不会进入循环体。,for( ),0,跑一圈,或者循环跑一圈,1,2,又循环跑一圈,这是5圈、20

8、00米体力测试,3,4,5,西大操场,到5了吗? 没有,总数+1,到5了吗? 没有,继续+1,到5了吗? 没有,继续+1,到5了吗? 没有,继续+1,+1,=5? 逻辑真,停止循环,退出操场,做下一项运动,什么是循环结构?,循环体,跑步,循环体内做的事情,循环计数变量 有一个初值,循环结束判别,循环操作,循环变量,=初值;,每次循环变量的增量,循环条件判别;,循环变量,第四讲 循环初步,运算符 本节要点-循环初步 循环程序回顾 for语句动作详解 用循环改善程序结构 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习,for语句详解,false 退出循环,tr

9、ue,for(循环起点;循环条件;每次循环增量)循环操作,for(i=0;i10;i+)循环操作,0,1,2,3,4,5,6,7,8,9,10,false,ture,退出循环体,注意,每次循环体内语句执行结束后,才对循环变量增量,i每次的增量值,也称之为步长,(循环条件成立)?,循环操作的程序体,设置循环变量的初值,循环变量增量(步长),for(i=0;i10;i+=5)循环操作,0,5,10,false,ture,退出循环体,i增量步长=5,增量也可以为负,for循环中的增量形式,for(i=10;i0;i-=5)循环操作,10,5,0,false,ture,退出循环体,i的步长= -5,起

10、点=10,是否还有其它形式?,从键盘读入字符,并显示在屏幕,仅当输入字符时退出。,函数返回语句return(),int main() int k; for( ; ;) coutk; switch(k) case 1: break; case 2: break; case 3: break; case 4: return(0); ,增加一个分支,仅当k=4时,退出主函数程序,return()是从函数返回语句,括弧()内是返回的值,它由函数本身的类型决定,整数型函数返回整数值,空类型函数返回值也是空类型。,break仅是退出当前的switch()语句,仍在for语句中循环,没有循环结束条件?,称之

11、为无限循环结构,第四讲 循环初步,运算符 本节要点-循环初步 循环程序回顾 for语句动作详解 用循环改善程序结构 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习,循环与数组,自41班有10名同学献血,要求献血者年龄须大于20岁,已知报名组年龄是:19,18,19,20,21,18,20,20,19,20 请挑出年龄大于等于20岁的同学数目,并输出到屏幕。,int main() int x=0, age0=19,age1=18,age2=19,age3=20,age4=21, age5=18,age6=20,age7=20,age8=19,age9=20;

12、 if(age0=20)x+; if(age1=20)x+; if(age2=20)x+; if(age3=20)x+; if(age4=20)x+; if(age5=20)x+; if(age6=20)x+; if(age7=20)x+; if(age8=20)x+; if(age9=20)x+; cout“x= “xendl; return(0);,定义10个年龄变量,并赋初值,逐个检验10个年龄变量的数值,满足条件者,部分和加一,功能满足,但结构太差! 是否可以采用循环结构?,每条语句的操作是否完全相同?,语句类似,但操作对象(变量)不同,需要分别检验10个对象,无法采用for语句。,能

13、否把同类型的10个变量构造成一个对象?,输出部分和,它是满足大于20岁条件的同学个数。,部分和的初值=0,int age10=19,18,19,20,21,18,20,20,19,20; int x=0;,for(i=0;i=20)x+;,循环变量从0开始,从i =10出口,步长 =1,age整型数组,位于内存以age变量地址起始的连续区域。,age0,age1,age2,age3,age4,age5,age6,age7,age8,age9,age0就是数组的第1个元素, age1就是数组的第2个元素, age9就是数组的第10个元素。,所以,i就是数组元素的下标。,agei就是数组age的第

14、i个元素,数组元素的循环操作,调Vc,用DEBUG开一个整型数的数组,定义了有10个元素变量的整型数组,对数组内的每个元素初始化赋值,2000,2002,2004,2006,连续的存储在内存中,内存,多个整数型元素,2008,200A,200C,200E,2010,2012,没有结尾符,age,整数型数组age,age2,age3,age4,age5,age6,age7,age8,age9,age1,age0,i在这里表示什么?,数组逻辑形式与存储结构,int s10;,声明一个名字为s的整数型数组,长度为10,计算机的内存,s,0,1,2,3,4,5,6,7,8,9,数组s占用的长度,顺序排

15、列,下标从零开始,s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,编译后分配内存空间,逻辑意义是:矢量s有10个分量元素,s=(,s0,,s1,,s2,,s3,,s4,,s5,,s6,,s7,,s8,,s9,),数组把同类型的元素聚集成一个对象,通过下标,可以找到、并操作数组中的任何一个分量元素。,物理相邻,表达了的逻辑关系,数组逻辑形式与存储结构,int main() int x=0,age10=19,18,19,20,21,18,20,20,19,20; for(int i=0;i=20)x+; cout“x=“xendl; return(0); ,初始化数组元素,循环结构,数组的第i个元素,如果第i个元素=20,x值加一计数,age数组的10个元素中,有5个大于、等于20,C语言已经定义了的数据类型,数组,就是矢量的存储方法。,C数据类型回顾,第四讲 循环初步,运算符 本节要点-循环初步 循环程序回顾 for语句动作

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

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

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