- 1、本文档共95页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计课件_C语言程序的控制结构.ppt
第3章 C语言程序的控制结构 本章导读 本章包括知识点: 算法的描述方法 数据的输入输出函数调用格式 if语句及switch语句的使用 3种循环结构 break、continue和goto语句的作用 常用算法:如递推法、穷举法等 C程序的基本风格 3.1 算法 3.1.1 算法的概念 著名的计算机科学家沃思(Nikiklaus Wirth)曾经提出过: 数据结构+算法=程序 数据结构(data structure):即对数据的描述和组织形式。 算法(algorithm):对操作或行为的描述,即操作步骤。 广义地说,算法就是做某一件事的步骤或程序。 计算机解题的算法大致包括这两大类算法: 非数值运算算法和数值运算算法。 算法特性 ④没有输入或有多个输入。例如:求1+2+3+…+100时,不需要输入任何信息就能求出结果;而要求1+2+3+…+n时,必须从键盘输入n的值,才能求出结果。 ⑤有一个或多个输出。算法的目的是为了求解,“解”就是算法的输出。没有输出的算法是没有意义的。 3.1.2 算法的表示方法 常用方法有:自然语言、传统流程图、NS流程图、伪代码等 用自然语言表示的求1+2+3+…+6的算法如下: 算法1: S1:计算1+2得到3; S2:将第一步中的运算结果3与3相加得到6; S3:将第二步中的运算结果6与4相加得到10; S4:将第三步中的运算结果10与5相加得到15; S5:将第四步中的运算结果15与6相加得到21。 算法2: S1:定义循环变量i=1,用于保存和的变量s,并置初值为0; S2:判断i的值是否小于等于6,若是则执行S3,否则跳转到S4执行; S3:将i的值累加到s,然后变量i自身加1,转到S2执行; S4:输出s的值。 算法1是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如1+2+3+…+10000,再用这种方法是行不通的;算法2是比较简单的算法,且易于在计算机上执行操作。 2.用传统流程图表示算法 流程图是一个描述程序的控制流程和指令执行情况的有向图,用流程图表示算法,直观形象,易于理解。美国国家标准化协会(ANSI)规定了一些常用符号如图所示 用传统流程图描述计算1+2+3+…+6的算法 3.用NS结构化流程图表示算法 1973年美国学者I.Nassi和B.Schneiderman提出了一种新型流程图—NS结构化流程图,这种流程图一方面取消了带箭头的流程线,这样算法被迫只能从上到下顺序执行,避免了算法流程的任意转向,适于结构化程序设计;另一方面,这种流程图节省篇幅,因而很受欢迎。 4.用伪代码表示算法 伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。它使用起来灵活,无固定格式和规范,无图形符号,只要写出来自己或别人能看懂就行,由于它与计算机语言比较接近,便于向计算机语言算法(即程序)过渡。 3.2 C语句的分类 C语言的语句可分为5大类: 控制语句 函数调用语句 表达式语句 复合语句 空语句 1.控制语句 控制语句用来实现对程序流程的选择、循环、转向和返回等进行控制。C语言中共有9种控制语句,包括12个关键字,可以分为以下几类: 选择语句:if…else和switch(包括case 和default)。 循环语句:for、while和do…while。 转向语句:continue、break和goto。 返回语句:return。 本章的3.5、3.6和3.7中将陆续介绍这些控制语句。 2.函数调用语句 函数调用语句是由一个函数调用加一个分号构成的语句。 它的一般形式是: 函数名(实参表); 3.表达式语句 5.空语句 仅仅以分号“;”作为标识。 空语句的形式为: ; /*空语句*/ 例如: int max(int a, int b) /*求两个整数的最大值*/ { ; /*此处的空语句表示在以后添加内容,保证当前的程序正常运行*/ } 例如:实现空循环 while( getchar()!=’\n’); /*此语句表示只要从键盘输入的字符不是回车键则重新输入*/ 例如:实现跳转到目标点 int i=0, sum=0; ex: ; sum+=i++; if( x100 ) goto ex; … 3.3 输入和输出语句 C语言不提供输入和输出语句,输入和输出通过调用C的标准库函数来实现。C的标准函数库中提供许多用于标准输入和输出的库函数(附录D),使用这些标
文档评论(0)