C语言总复习(二)课件.ppt
《C语言总复习(二)课件.ppt》由会员分享,可在线阅读,更多相关《C语言总复习(二)课件.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第4 4 4 4章章章章 程序的控制结构程序的控制结构程序的控制结构程序的控制结构2023/2/22内容提要内容提要内容提要内容提要 算法的描述方法算法的描述方法 基本控制结构基本控制结构 基本控制语句基本控制语句 常用算法,如累加、累乘、统计、递推、常用算法,如累加、累乘、统计、递推、迭代、穷举等迭代、穷举等 程序的基本版式程序的基本版式 结构化程序设计的基本思想结构化程序设计的基本思想2023/2/23算法的表示方法算法的表示方法算法的表示方法算法的表示方法 自然语言表示自然语言表示 传统的流程图表示传统的流程图表示 N-S结构化流程图表示结构化流程图表示 伪代码表示伪代码表示202
2、3/2/24 N-SN-SN-SN-S流程图用以下的流程图符号:流程图用以下的流程图符号:流程图用以下的流程图符号:流程图用以下的流程图符号:(1)顺序结构(2)选择结构(3)循环结构5管理系统计算机模拟条件语句条件语句条件语句条件语句if if if if(表达式)(表达式)(表达式)(表达式)语句语句语句语句if if if if(表达式)(表达式)(表达式)(表达式)语句语句语句语句1 1 1 1 else else else else 语句语句语句语句2 2 2 2if if if if(表达式(表达式(表达式(表达式1 1 1 1)语句)语句)语句)语句1 1 1 1 else if
3、 else if else if else if(表达式(表达式(表达式(表达式2 2 2 2)语句语句语句语句2 2 2 2else else else else 语句语句语句语句3 3 3 3开关语句开关语句开关语句开关语句4.3 4.3 选择结构选择结构2023/2/264.3 4.3 选择结构:条件语句选择结构:条件语句选择结构:条件语句选择结构:条件语句例:例:if(score=90)if(score=90)range=1;range=1;else else if(scoreif(score=80)=80)range=2;range=2;else else if(scoreif(sc
4、ore=70)=70)range=3;range=3;else else if(scoreif(score=60)=60)range=4;range=4;else else range=5;range=5;2023/2/27练习练习练习练习 3.判断闰年判断闰年year year能被能被4整除但不能被整除但不能被100整除整除 能被能被400整除整除2023/2/28 关系运算符和逻辑运算符关系运算符和逻辑运算符 条件条件p:逻辑表达式:逻辑表达式 真假的判断真假的判断非非非非0 0即为真即为真即为真即为真if (a)if (a)printf(“OKprintf(“OK!”);!”);x=-5
5、;if (x)x=-5;if (x)printf(“OKprintf(“OK!”);!”);y=0;if (y=0)y=0;if (y=0)printf(“OKprintf(“OK!”);!”);y=0;if (y)y=0;if (y)printf(“OKprintf(“OK!”);!”);2023/2/29switchswitch 多路选择多路选择多路选择多路选择 switchswitch(表达式表达式表达式表达式)casecase 常数常数常数常数1:1:语句序列语句序列语句序列语句序列1;1;casecase 常数常数常数常数2:2:语句序列语句序列语句序列语句序列2;2;default
6、default:语句序列语句序列语句序列语句序列3;3;defaultdefault可以没有,但最好不省略可以没有,但最好不省略可以没有,但最好不省略可以没有,但最好不省略 不要忘记不要忘记不要忘记不要忘记breakbreak2023/2/210 注意:注意:常量常量n仅起语句标号作用,不做求值判断仅起语句标号作用,不做求值判断 常量常量n的值必须是惟一的,没有先后次序的值必须是惟一的,没有先后次序 多个多个case语句可以共用一组执行结果语句可以共用一组执行结果2023/2/211循环循环循环循环whilewhile,forfor while(表达式表达式)语句语句;固定?固定?变化?变化?
7、2023/2/212whilewhile int k=1,s=0;while(k=100)s=s=s+ks+k;k+;k+;循环控制表达式循环控制表达式循环控制变量(循环控制变量(k k)循环体循环体2023/2/213 注意:注意:循环体出现多条语句,应以复合语句的形循环体出现多条语句,应以复合语句的形循环体出现多条语句,应以复合语句的形循环体出现多条语句,应以复合语句的形式出现式出现式出现式出现循环前必须给循环控制变量赋初值循环前必须给循环控制变量赋初值循环前必须给循环控制变量赋初值循环前必须给循环控制变量赋初值循环体中,必须有改变循环控制变量值的循环体中,必须有改变循环控制变量值的循环体
8、中,必须有改变循环控制变量值的循环体中,必须有改变循环控制变量值的语句语句语句语句循环体可以为空循环体可以为空循环体可以为空循环体可以为空while while((c=(c=getchargetchar()!=A()!=A);2023/2/214dodo-whilewhile do 语句语句;while(表达式表达式);首先执行首先执行语句语句,然后判断,然后判断表达式表达式的值。的值。如果表达式为如果表达式为0,继续向下执行,否则,继续向下执行,否则,再次执行再次执行语句语句,再次判断,再次判断表达式表达式的值的值 语句语句会被至少执行一次会被至少执行一次 最后分号不可省略!最后分号不可省略
9、!2023/2/215循环循环循环循环whilewhile,forfor for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句;2023/2/216选择三种循环的一般原则选择三种循环的一般原则选择三种循环的一般原则选择三种循环的一般原则 如果循环次数已知,用如果循环次数已知,用for 如果循环次数未知,用如果循环次数未知,用while 如果循环体至少要执行一次,用如果循环体至少要执行一次,用do-while 这只是这只是“一般一般”原则,不是原则,不是“原则原则”2023/2/217合法的嵌套循环合法的嵌套循环合法的嵌套循环合法的嵌套循环2023/2/218for(i=0;i3;i
10、+)printf(“i=%d:”,i);for(j=0;j4;j+)printf(“j=%-4d”,j);printf(“n”);2023/2/219现场编程完成例现场编程完成例现场编程完成例现场编程完成例4.14 4.14 编程输出如下形式的乘法九九表编程输出如下形式的乘法九九表 2023/2/220#include main()int m,n;for(m=1;m10;m+)printf(%4d,m);/*打印表头打印表头*/printf(n);for(m=1;m10;m+)printf(-);printf(n);for(m=1;m10;m+)for(n=1;n10;n+)printf(%4
11、d,m*n);printf(n);2023/2/221现场编程完成例现场编程完成例现场编程完成例现场编程完成例4.164.16 马克思手稿中有一道趣味数学题:有马克思手稿中有一道趣味数学题:有30个人,个人,其中有男人、女人和小孩,在一家饭馆里吃其中有男人、女人和小孩,在一家饭馆里吃饭共花了饭共花了50先令,每个男人各花先令,每个男人各花3先令,每个先令,每个女人各花女人各花2先令,每个小孩各花先令,每个小孩各花1先令,问男先令,问男人、女人和小孩各有几人?人、女人和小孩各有几人?解方程组解方程组 穷举穷举法法2023/2/222breakbreak和和和和continuecontinue假假
12、真真break表达式1表达式2循环语句的下一条语句循环语句的下一条语句假假真真 contiue表达式1表达式2continue2023/2/223这一章我们学习了这一章我们学习了这一章我们学习了这一章我们学习了 算法的描述方法算法的描述方法算法的描述方法算法的描述方法流程图流程图流程图流程图 与基本控制结构相应的结构化的控制语句与基本控制结构相应的结构化的控制语句与基本控制结构相应的结构化的控制语句与基本控制结构相应的结构化的控制语句if-elseif-elseswitchswitchforforwhilewhiledo-whiledo-whilebreakbreakcontinueconti
13、nue 常用算法,如常用算法,如常用算法,如常用算法,如累加、累乘、统计累加、累乘、统计累加、累乘、统计累加、累乘、统计、递推、迭代、穷举、递推、迭代、穷举、递推、迭代、穷举、递推、迭代、穷举等等等等2023/2/224这一章我们学习了这一章我们学习了这一章我们学习了这一章我们学习了 常用算法常用算法 求阶乘求阶乘:数据类型的定义数据类型的定义数据类型的定义数据类型的定义,long,long或或或或doubledouble 求累加和求累加和:long 统计统计:统计正数、平均分以上、统计正数、平均分以上、统计正数、平均分以上、统计正数、平均分以上、n n个成绩中个成绩中个成绩中个成绩中1009
14、010090、89808980、79707970、69606960、60?:););2023/2/237(2 2)函数的返回值应当属于某一个确定的类型,在定函数的返回值应当属于某一个确定的类型,在定义函数时指定函数返回值的类型。义函数时指定函数返回值的类型。例如例如:下面是下面是3个函数的首行:个函数的首行:int max(float,float)/*函数值为整型*/char letter(char c1,char c2)/*函数值为字符型*/double min(int,int)/*函数值为双精度型*/注意:注意:凡不加类型说明的函数,自动按整型处理。2023/2/238(3 3)在定义函数
15、时指定的函数类型一般应该和在定义函数时指定的函数类型一般应该和returnreturn语句中的表达式类型一致。语句中的表达式类型一致。如果函数值的类型和如果函数值的类型和return语句中表达式的值不一语句中表达式的值不一致,则以函数类型为准。致,则以函数类型为准。对数值型数据,可以自动进行类型转换。即函数对数值型数据,可以自动进行类型转换。即函数类型决定返回值的类型。类型决定返回值的类型。(4 4)对于不带回值的函数,应当用)对于不带回值的函数,应当用“voidvoid”定义函数定义函数为为“无类型无类型”(或称(或称“空类型空类型”)。此时在函数体中)。此时在函数体中不得出现不得出现ret
16、urnreturn语句。语句。2023/2/239函数调用(函数调用(函数调用(函数调用(callcall)单向值传递单向值传递 调用函数时,必须提供所有的参数调用函数时,必须提供所有的参数printfprintf和和和和scanfscanf是采用变长变量表定义的函数,是采用变长变量表定义的函数,是采用变长变量表定义的函数,是采用变长变量表定义的函数,所以变量的个数不固定。所以变量的个数不固定。所以变量的个数不固定。所以变量的个数不固定。提供的参数个数、类型、顺序与定义时相同提供的参数个数、类型、顺序与定义时相同 有返回值时有返回值时放到一个数值表达式中,如放到一个数值表达式中,如放到一个数值
17、表达式中,如放到一个数值表达式中,如c=c=max(a,bmax(a,b););作为另一个函数调用的参数,如作为另一个函数调用的参数,如作为另一个函数调用的参数,如作为另一个函数调用的参数,如 c=c=max(max(a,b),cmax(max(a,b),c););printf(printf(%dn%dn,max(a,bmax(a,b););无返回值时无返回值时函数调用表达式,如函数调用表达式,如函数调用表达式,如函数调用表达式,如display(a,bdisplay(a,b););2023/2/240变量的作用域变量的作用域变量的作用域变量的作用域 指在源程序中定义变量的位置及其能被读写指在
18、源程序中定义变量的位置及其能被读写访问的范围访问的范围 分为分为局部变量(局部变量(局部变量(局部变量(Local VariableLocal Variable)全局变量全局变量全局变量全局变量(Global Variable)(Global Variable)2023/2/241局部变量局部变量局部变量局部变量 局部变量局部变量在语句块内定义的变量在语句块内定义的变量在语句块内定义的变量在语句块内定义的变量形参也是局部变量形参也是局部变量形参也是局部变量形参也是局部变量定义时不会自动初始化,除非程序员指定初定义时不会自动初始化,除非程序员指定初定义时不会自动初始化,除非程序员指定初定义时不会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习 课件
限制150内