- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 C语言的控制结构 算法与程序 顺序结构 选择结构 循环结构 4.1 算法与程序 算法 程序 4.1.1 算法 有穷性 一个算法通过有限步骤即可实现预定的目标,并且算法的每一步都可以在合理的时间内完成。 确定性 算法中每一个步骤应当是确定的,而不能是含糊的、模棱两可的。 有效性 算法中的每一步都应当被执行,并得到确定的结果。例如,设b=0,则执行a/b是不能被执行的。 有零个或多个输入 算法可以有一个或多个输入,提供算法的操作数据,也可以没有输入。 有一个或多个输出 一个算法总要产生一个或多个输出数据,表示算法操作的计算结果。 程序一般由两部分组成。 数据的描述 对数据的描述,就是指定数据的类型及数据的组织形式,即数据结构(data structure)。 操作的描述 对操作的描述,即操作步骤,也就是算法(algorithm)。 4.1.2 程序 程序设计的基本过程 分析问题 明确要解决的问题是什么,需要输入哪些数据,需要进行什么处理,最终要得到哪些处理结果。对要输入、输出的数据进行分析,确定数据类型。 设计算法 在对输入、输出的数据分析之后,要设计数据的组织方式,设计解决问题的操作步骤,并将操作步骤不断完善,最终得到一个完整的算法。 实现程序 选择一种程序设计语言,将算法设计后得到的数据组织方式、算法具体步骤转化成用具体的程序设计语言来描述,实现整个算法。 4.2 顺序结构 【例】交换两个变量的值,并输出结果。 程序如下: #includestdio.h void main() { int a,b,t; scanf(%d%d,a,b); printf(a=%d,b=%d\n,a,b); t=a; a=b; b=t; printf(a=%d,b=%d\n,a,b); } 运行情况如下: 5 9↙ a=5,b=9 a=9,b=5 程序说明:交换两个变量的值,需要第三个变量的帮助,上面程序中的t就是这种变量,这个道理就像交换两杯水一样,需要第三个杯子的帮助。 4.3 选择结构 if语句 switch语句 4.3.1 if语句 if语句的单分支形式 【例】输入一个实数,输出其绝对值。 程序如下: #includestdio.h void main() { float x; scanf(%f,x); if(x0) x=-x; printf(%f\n,x); } 运行情况如下: -5.6↙ 5.600000 程序说明:给x输入一个实数,如果是负数,程序会执行if语句中的赋值语句“x=-x;”。如果x不是负数,则不执行if语句中的赋值语句“x=-x;”。 复合语句 复合语句(compound statement)是指用一对花括号括起来的语句序列,执行时按花括号中语句的先后次序依次执行。复合语句在C语言程序中的语法(syntax)地位相当于一条语句,常用于if语句、循环语句等。 if语句中的分支语句可以是单独一条语句或一条复合语句。 【例】输入两个实数,按从小到大的顺序输出这两个数。 程序如下: #includestdio.h void main() { float x,y,t; scanf(%f%f,x,y); if(xy) {t=x;x=y;y=t;} /*当xy时执行复合语句{t=x;x=y;y=t;}*/ printf(%.2f,%.2f\n,x,y); } 运行情况如下: 3.6 -3.2↙ -3.20,3.60 程序说明:当输入的值是xy时,执行if语句中的复合语句“{t=x;x=y;y=t;}”,使x、y交换值。 if语句的双分支形式 【例】从键盘输入一个字符,如果是数字字符,则输出“It is a number.”;否则,输出“It is not a number.”。 分析:判断某个字符变量ch是否为数字字符,可以根据该字符的ASCII码进行大小的比较,得出结果。判断条件是,既不小于字符‘0’又不大于字符‘9’,即(ch=0ch=9)。 程序如下: #includestdio.h void main() { char ch; scanf(%c,ch); if(ch=0ch=9) printf(It is a number.\n); else printf(Ii is not a number.\n); } 运行情况如下: 9↙ It is a number. if语句的嵌套形式 单分支嵌套形式 if (表达式1) 语句1 else if (表达式2) 语句2 … else if (表达式n-l) 语句n-l else
您可能关注的文档
- C及C++程序设计 第3版 教学课件 张富 第5章 循环结构程序设计.ppt
- C及C++程序设计 第3版 教学课件 张富 第6章 位运算.ppt
- C及C++程序设计 第3版 教学课件 张富 第7章 数组与字符串.ppt
- C及C++程序设计 第3版 教学课件 张富 第8章 指针.ppt
- C及C++程序设计 第3版 教学课件 张富 第9章 函数.ppt
- C及C++程序设计 第3版 教学课件 张富 第10章 数据的存储类型.ppt
- C及C++程序设计 第3版 教学课件 张富 第11章 用户定义数据类型.ppt
- C及C++程序设计 第3版 教学课件 张富 第12章 C语言的预处理器.ppt
- C及C++程序设计 第3版 教学课件 张富 第13章 磁盘文件操作(IO系统).ppt
- C及C++程序设计 第3版 教学课件 张富 第14章 C++概述.ppt
文档评论(0)