- 1、本文档共165页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第3章三种基本结构的程序设计
;3.1程序基本结构及C程序语句分类
;1966年,Bohm和Jacopini的研究表明,只需要采用顺序结构、选择结构和循环结构这三种控制结构就能够编写所有的程序。
对于一些规模较大而又比较复杂的问题,解决的方法往往是把它们分解成若干个较为简单和基本问题进行求解;这在程序设计中则表现为:将一个大程序分解为若干个相对独立且较为简单的子程序,这些子程序就是过程与函数。大程序通过调用这些子程序来完成预定的任务。过程与函数的引入不仅可以较容易地解决一些复杂问题,而且更重要的是使程序有了一个层次分明的结构,这就是结构化程序设计“自顶向下、逐步求精、模块化”的基本思想。;因此一个结构化程序是由顺序、选择和循环三种基本结构和过程(函数)结构组成的。结构化程序的开创者N.Wirth就曾这样说过:“在程序设计技巧中,过程是很少几种基本工具中的一种,掌握了这种工具,就能对程序员工作的质量和风格产生决定性的影响”。N.Wirth所说的过程就是C语言中的函数,我们将在第5章介绍,下面只对三种基本结构进行介绍。;1)顺序结构
顺序结构是按照语句的书写顺序依次执行各语句序列。图3-1(a)给出了顺序结构的流程图。图3-1(a)中A框和B框表示基本的操作处理,可以是一条语句也可以是多条语句,它表示程序在执行完A框操作后,将顺序去执行B框的操作,即严格按照语句的书写顺序进行。因此,顺序结构是一种最基本的程序结构。;2)选择结构
选择结构是按照条件判断选择执行某段语句序列。图3-1(b)给出了选择结构的流程图。需要指出的是,在选择结构程序中A框和B框的操作只能二选一;即执行了A框操作,就不能再执行B框操作;而执行了B框操作,就不能再执行A框操作。无论是执行了A框操作还是执行了B框操作,接下来都会继续向下顺序执行后继的操作。;3)循环结构
循环结构能够通过条件判断控制循环执行某段语句序列。按照条件和循环执行的语句段之间的关系,可以细分为当型循环结构和直到型循环结构。图3-1(c)和图3-1(d)分别给出了当型循环结构??直到型循环结构的流程图。在当型循环结构中,需要先判断条件P,然后执行A框操作;若一开始P就不成立,则A框操作一次也不执行。直到型循环与当型循环的区别是这种循环要先执行A框操作,然后再判断条件P;也即在直到型循环中,无论P条件成立与否,A框操作至少会被执行一次。;图3-1结构化程序设计的三种基本结构;关于三种基本结构有以下几点说明:
(1)无论是顺序结构、选择结构还是循环结构,它们的共同特点是只有一个入口并且只有一个出口,整个程序就是由若干个这样的基本结构组合而成。
(2)?三种基本结构中的A、B操作是广义的,它们可以是一个操作,也可以是另一个基本结构或者几种基本结构的组合。;(3)在选择结构和循环结构中都会出现判断框。但选择结构会根据条件P的成立与否决定执行A、B中的哪一个操作,且执行后就会脱离该选择结构而顺序执行下面的其他结构,也即选择结构中的A、B只能选择一个且只能执行一次。循环结构则是在条件P成立时反复执行A操作,直到条件P不成时才跳出该循环结构而顺序执行下面的其他结构。;3.1.2C程序中的语句分类
C语言中的语句分为简单语句和结构语句两类。简单语句是指那些不包含其他语句成分的基本语句;结构语句则指那些“句中有句”的语句,它是由简单语句或结构语句根据某种规则构成的。
C语言的语句分类情况如图3-2所示。;图3-2C语言的语句分类;1)表达式语句
在C语言中,由一个表达式加上一个分号“;”就构成了一个表达式语句。最典型的是由赋值表达式加上分号“;”,就构成了赋值语句。表达式语句的一般形式为:
表达式;
例如:
i++;
k=k+2;
m=n=j=3;
a=1;;按照C语言的语法,任何表达式后面加上分号“?;?”都可构成表达式语句,例如:“x+y;”也是一个C语言的语句,但这种语句没有实际意义。一般来说,语句的执行能使某些变量的值被赋予或改变,或者表达式能产生某种效果才能成为有意义的表达式语句。;2)函数调用语句
由一个函数调用加一个分号“;”构成函数调用语句,其作用主要是完成该函数指定的操作。函数调用语句的一般形式为:
函数名(实际参数表);
例如:
printf(s=%d\n,s);
该语句是由一个printf格式输出函数加上一个分号“;”构成了一个函数调用语句。;3)空语句
仅由一个分号“?;?”构成的语句就是空语句,其一般形式为:
;
空语句是什么也不执行的语句。C语言引入空语句出于以下考虑:;①为了构造特殊控制结构的需要
您可能关注的文档
- 数据结构课前预备知识章程序设计.pdf
- 黑龙江省海林市朝鲜族中学2024_2025学年高二生物下学期期中线上考试试题.doc
- 全国中考语文试题分类汇编07背诵默写.doc
- 全国通用2025版高考历史一轮总复习模块2专题7近现代中国经济的发展和社会生活的变迁第20讲近代中国民族工业的兴起和曲折发展课时跟踪人民版.doc
- 云南省永仁县第一中学2024_2025学年高二生物10月月考试题.doc
- 2025版高考英语一轮总复习课时作业40Unit5Meetingyourancestors含解析新人教版选修8.doc
- 山东省新泰一中2024_2025学年高二历史上学期第一次质量检测试卷含解析.doc
- 云南省永仁县一中2024_2025学年高二地理上学期期中试题.doc
- 2024高考地理一轮复习第1部分第2章地球上的大气章末检测卷二含解析新人教版.doc
- 广东省潮州市2024_2025学年高二数学下学期期末教学质量检测试题理含解析.doc
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)