如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C语言程序设计欢迎进入程序设计的课程!欢迎进入C语言的世界!本课程将向您呈现程序设计的入门以及使用C语言进行程序设计的方法。用结构化程序设计技术编写清晰的程序。课程简介第1章程序设计概述主要内容:计算机系统由硬件和软件构成程序员需要知道的硬件知识16位系统的内存结构示例存储单元的地址与存储单元的值存储单元的编号称为该存储单元的地址,存储器的存储单元很多,一般以字节进行编址;存储单元中的内容称该存储单元的值。一旦定义了一个变量,就在内存中开辟了一个存储单元,具有确定的存储单元地址,但存储单元的值是不确定的,用“?”表示。下面以存放整型数据的存储单元num为例,讨论存数和取数的特点,硬件软件1.1.3计算机计数系统1.1.3计算机计数系统1.1.3计算机计数系统+.314159+1由于位数所限,计算机处理的数也就有一定限度,太大的数或太小的数计算机中无法用所限的位数表示时,就发生了上溢和下溢。又由于十进制转换成二进制数的过程中,常会发生有限的小数会转换成无限的小数,这时必需要截取有效位数,这使得计算机处理数值运算过程中会出现不精确的问题。1.2程序设计语言计算机语言的分类计算机语言创建和执行1.3高级语言程序的创建和运行过程1.4程序设计程序与程序设计一个程序应包括两方面的内容main(){inta,b,c;a=100;b=200;c=a+b;printf(“sum=%d\n”,c);}二、程序设计(Programming)EXAMPLE[1-1]:姓名姓名姓名三、源程序与目标程序(Object)四、问题的求解1.4.1算法1+2+3+4+5+……+100完成一项工作1.4.1算法的特性1.4.2算法的描述工具X1Begin用程序流程图表示的三种基本结构…A三种基本结构的共同特点:(1)只有一个入口;(2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。)(3)结构内的每一部分都有机会被执行到;(4)结构内不存在“死循环”(无终止的循环)。设:a=100b=200现将a与b中的值互换。请用程序流程图描述其互换过程输入a与b两个值,若a>b则输出a。请用程序流程图描述其执行过程。输入a与b两个值,若a>b则输出a,否则输出b。请用程序流程图描述其执行过程。Begin输入a,b,c三个值,请按其值从大到小排序并输出。要求用程序流程图描述其排序过程。BeginBegin从键盘输入30名学生的高数成绩,输出高数成绩小于60分的值,并统计出小于60的有多少人。要求用程序流程图描述其解决该问题的算法。End顺序结构描述计算:sum=1+2+3+4+……+100N--S图表示算法的优点:伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。特点:它如同一篇文章一样,自上而下地写下来。不用图形符号,因此书写方便、格式紧凑,也便于向计算机语言算法(即程序)过渡。用处:适用于设计过程中需要反复修改时的流程描述。EXAMPLE[1-11]:EXAMPLE[1-12]:EXAMPLE[1-12]:EXAMPLE[1-12]:1.5结构化程序设计采取以下方法来保证得到结构化的程序:自顶向下;逐步细化;模块化设计;结构化编码。这种逐步分解的方法就叫做“自顶向下,逐步细化”。自顶向下,逐步细化方法的优点:考虑周全,结构清晰,层次分明。如果发现某一部分中有一段内容不妥,需要修改,只需找出该部分修改有关段落即可,与其它部分无关。我们提倡用这种方法设计程序。这就是用工程的方法设计程序。模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务。在拿到一个程序任务以后,根据程序所应实现的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现。在C语言程序中子模块通常用函数来实现,子模块一般不超过50行。划分子模块时应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好。结构化编码:1.5.3结构化程序设计方法举例例2输入n个数,找出最大的一个数,并打印出来。