C程序设计.周强.国防科技大学.第3章.ppt
《C程序设计.周强.国防科技大学.第3章.ppt》由会员分享,可在线阅读,更多相关《C程序设计.周强.国防科技大学.第3章.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 结构化程序设计结构化程序设计3.1 算算 法法 3.1.1 算法概述1.算法的概念 所谓算法,就是计算机解决某一个问题的具体方法和步骤,即算法是解决“做什么”和“怎么做”的问题。程序中的操作语句,实际上就是算法的体现。算法是程序设计的灵魂,数据结构是加工和处理的对象。计算机用于解决数值计算,如科学计算中的数值积分、解线性方程等的计算方法,就是数值计算的算法;用于解决非数值计算,如用于管理、文字处理、图像图形等的排序、分类、查找,就是非数值计算的算法。2.算法的特性 简单地说,算法就是进行操作的方法和操作步骤。通常,一个算法应该具有以下5个重要的特征:1)有穷性 2)确定性 3)有零
2、个或多个输入 4)有一个或多个输出 5)有效性 3.1.2 算法的描述描述算法有多种不同的工具,采用不同的算法描述工具对算法的质量有很大的影响。描述一个算法可以采用自然语言、计算机程序设计语言、流程图、NS图、伪代码语言等。其中,自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。1.流程图 流程图是一种流传很广的算法描述工具,它是一种用规定的图形、指向线及文字说明来准确表示算法的图形,具有直观、形象的特点,能清楚地展现算法的逻辑结构,而且它独立于任何一种程序设计语言。常用的流程图符号如图所示。起止框判断框流程线输入/输出框处理框连接点2N-S图灵活的流程线是程序中隐藏错误的祸根。针对
3、这一弊病,1973年,美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式,称为N-S图。这种流程图,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图适合于结构化程序设计,因而很受欢迎。3.1.3 算法实现的过程要完成一件工作,包括设计算法和实现算法两个部分。用计算机来解决问题,即用计算机实现算法。计算机是无法识别流程图的。只有用计算机语言编写的程序才能被计算机执行(当然,还要经过编译生成目标程序才能被计算机识别和执行)。因此,在用流程图描述一个算法后,还要将它转变成计算机语言程序。
4、3.1.4 C语言程序设计的基本步骤一个好的程序应该满足设计要求,除了能够正常运行和实现预定的功能以外,还应满足以下方面:(1)程序要结构化、简明、易读和易调试。(2)执行速度快。(3)占用存储空间少。2.C语言程序设计的基本步骤语言程序设计的基本步骤 (1)分析问题,抽象出描述问题的数学模型。(2)确定解决问题的算法。(3)绘制出程序流程图或N-S图。(4)编写程序。(5)检查和调试程序。1一般程序设计的要求一般程序设计的要求3.2 顺序结构程序设计顺序结构程序设计 C语言是一种结构化程序设计语言,结构化程序由三种基本结构组成,即顺序结构、选择结构和循环结构。顺序结构是这三种基本结构中最简单
5、的一种。在顺序结构程序中,各语句是按照物理位置的先后次序顺序执行的,且每个语句都会被执行到。下面通过几个例子来了解顺序结构程序设计。【例31】从键盘输入一个大写字母,要求转换为小写字母输出。该程序要解决的问题是将输入的大写字母转换为小写字母并输出。输入的是大写字母,最终输出的是小写字母,如何将大写字母转换为小写字母是数据的处理过程。小写字母的十进制ASCII码值比大写字母的ASCII码值大32,所以只要将大写字母的ASCII码值加上32,即可得到小写字母的ASCII码值,该问题通过字符的运算就可以解决了。参考程序如下:/*Chap3_1.c:将大写字母转换为小写字母*/#includeint
6、main()char ch1,ch2;ch1=getchar();printf(%c,%dn,ch1,ch1);ch2=ch1+32;printf(%c,%dn,ch2,ch2);return 0;程序运行结果如下:AA,65a,973.3 选择结构程序设计选择结构程序设计 3.3.1 条件的描述和条件表达式1关系运算符和关系表达式关系运算符和关系表达式1)关系运算符比较两个操作数大小的运算符称为关系运算符。如ab是比较运算,“”是关系运算符。2)关系表达式用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子称为关系表达式。关系表达式的值是
7、一个逻辑值(真或假),用“1”或“0”表示。关系表达式的一般形式为:表达式 关系运算符 表达式2逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式1)逻辑运算符C语言中提供了三种逻辑运算符,分别是逻辑非(!)、逻辑与(&)和逻辑或(|)。2)逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来构成的式子称为逻辑表达式。逻辑表达式的一般形式为:表达式 逻辑运算符 表达式 在一个逻辑表达式中可以包含多个逻辑运算符,如:!a&b|cd&y 逻辑运算符中的“&”和“|”的优先级低于关系运算符,而“!”高于算术运算符。3.3.2 if 语句1.if语句语句if 语句的格式为:if(表达式)语句1 例如:if(a
8、b)printf(%dn,a);如果表达式的值为真,则执行“语句1”,否则不执行“语句1”。这种结构被称为单分支的选择结构。需要注意的是,语句1可以是一条语句,还可以是多条语句。如果为多条语句,则要使用花括号括起来。2.if else 语句语句if else 语句的格式为:if(表达式)语句1else 语句2若表达式的值为真(非零),就执行“语句1”;若表达式的值为假(0),则执行“语句2”,然后执行if语句后的下一条语句。这就是典型的两分支选择结构。3if elseif 语句语句 当有多个分支选择时,可采用ifelseif 语句,其一般形式如下:if(表达式1)语句1 else if(表达式
9、2)语句2 else if(表达式3)语句3 else if(表达式m)语句m else 语句n关于多分支选择结构,说明以下两点:(1)先判断表达式1的值,当表达式1的值为真时,则执行语句1,执行完之后,跳出if语句;当表达式1的值为假时,再判断表达式2的值,当表达式2的值为真时,则执行语句2,执行完之后,跳出if语句;当表达式2的值为假时,再判断表达式3的值当所有表达式的值都为假时,执行语句n,执行完之后,跳出if语句。(2)最后一个else可以不存在。例如:if(x0)y=1;else if(x=0)y=0;else if(xb)max=a;else max=b;可以用下面的条件运算符来处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 国防科技 大学
限制150内