欢迎来到天天文库
浏览记录
ID:24786938
大小:681.14 KB
页数:33页
时间:2018-11-14
《c语言程序设计ppt课件 第1章 程序设计概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计-理论、方法与实践(第2版)张磊编著C语言程序设计第1章程序设计概述C语言程序设计-理论、方法与实践(第2版)张磊编著第1章程序设计概述1.1程序设计语言1.2算法1.3程序设计与实现1.4C语言程序的基本结构C语言程序设计-理论、方法与实践(第2版)张磊编著1.1程序设计语言程序设计语言:程序设计语言是用来编写计算机程序的语言,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理。计算机程序:按照程序设计语言的规则组织起来的一组计算机指令。程序设计语言分类:机器语言、汇编语言和高级语言。C语言属于高级语言,1972年由美国的DennisRitchie设计发明
2、。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了C的标准,称为ANSIC。1987年ANSI又公布了新的标准——87ANSIC。C语言程序设计-理论、方法与实践(第2版)张磊编著1.1程序设计语言C语言程序示例:计算1到100的所有自然数的和。#includeintmain(void){inti=1,s=0;while(i<=100)/*循环控制*/{s=s+i;/*数据累加*/i=i+1;/*生成下一个要累加的数*/}printf("sum=%d",s);/*输出结果*/return0;}C语言程序设计-理论、方法与
3、实践(第2版)张磊编著1.2算法1.2.1算法概念与算法描述1.2.2算法的逻辑结构1.2.4算法的特性1.2.4算法评价C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.1算法概念与算法描述算法重要性:程序=数据结构+算法1.算法的概念算法是为计算机处理问题所设计的解题步骤。算法的最终实现是计算机程序。2.算法的描述方法自然语言流程图N-S图PAD图伪码等。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.1算法概念与算法描述⑴用自然语言描述算法“计算1到100的所有自然数的和”步骤①i和s赋初值,使i=1,s=0;步骤②判断i的值,若i≤100则执行步骤③;否则,转
4、步骤⑤;步骤③s加i;步骤④i加1,转步骤②;步骤⑤显示s的值,结束。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.1算法概念与算法描述⑵用流程图描述算法C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.1算法概念与算法描述“计算1~100自然数和”的算法步骤①i=1,s=0;步骤②若i≤100则执行步骤③;否则,转步骤⑤;步骤③s+i;步骤④i+1,转步骤②;步骤⑤显示s的值,结束C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.2算法的逻辑结构算法的三种结构顺序结构分支结构循环结构三种结构互相结合,可以实现任何逻辑控制C语言程序设计-理论、方法与实践(第
5、2版)张磊编著1.2.2算法的逻辑结构1、顺序结构特点:各个步骤由前到后依次执行,每个步骤都执行一次。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.2算法的逻辑结构1、顺序结构举例:输入一个学生的两门课程的成绩,计算并输出平均成绩。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.2算法的逻辑结构2、选择结构特点:某些步骤是否能够执行,要视当前的条件而定,在同一次处理中,有的步骤可能执行不到。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.2算法的逻辑结构2、选择结构举例:输入一个学生两门课程的成绩,若平均成绩不低于90,则输出“优等生”;否则,输出“加油
6、!”。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.2算法的逻辑结构3、循环结构特点:有些步骤会被有条件地重复执行(被重复执行的步骤每次处理的数据也可能发生变化)。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.2算法的逻辑结构3、循环结构举例:计算1~100自然数和。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.3算法的特性算法特性⑴有穷性:一个算法必须经过有限步骤之后结束。“有限步骤”,既指步骤量有限,同时也要求步骤量合理。。⑵确定性:每一个步骤所规定的操作必须是确定的,不能有二义性。⑶有效性:每一个步骤描述的操作必须能够通过已经实现的基本运算有效
7、地执行,并且得到确定的结果。⑷输入和输出特性。每个有意义的算法有零个或多个输入,并且有一个或多个输出。C语言程序设计-理论、方法与实践(第2版)张磊编著1.2.4算法评价⑴时间复杂性算法执行时间与问题规模的关系,是算法执行效率指标。⑵空间复杂性算法对计算机内存的需求程度,需求越少越好。⑶可读性算法可供人们阅读的容易程度。⑷健壮性(容错性)算法对不合理的输入数据的反应能力和处理能力。⑸通用性算法适应一类问题,而不是某个特定问题。⑹正确性算法最根本
此文档下载收益归作者所有