1、第二章 程序的灵魂 -算法 什么是程序 ? 计算机是机器 -在求解某一问题时 -需要有相应程序 -程序是用计算机能够识别的语言表示出的如何求解问题的一段 “文章 ”-因为没有程序的计算机是不知如何求解问题的。那如何写出程序呢? 一是:学习掌握计算机能够识别的语言 二是:求解问题的方法步骤 -算法 三是:将两者的结合,即用计算机语言将求解问题的方法步骤表达出来即写出程序。 程序是用计算机语言表达的算法。 程序设计首先要进行的是算法设计2.1 算法的概念算法就是求解问题的方法步骤。算法从时间和空间两个方面有不同的性质。同一个问题有不同的算法,所以评价一个算法就有优劣之分。如: 1+2+3+100时
2、间性、可读性等2.2 算法举例例 1:求 1*2*n 即 n!S1:使 p=1S2:使 i=2S3:给定 n的值S4:使 p*i, 将乘积存入 p, 表示为 p*i=iS5:使 i的值 增加 1,即 i+1=iS6:如果 i不大于 n,返回重新执行步骤 S4,以及其后的 S5和 S6,最后得到 p的即是 n!的值 .S7:打印 p,即是 程序运行结果例 2:求 1+1/2+1/3+1/100如果题目变为 :1-1/2+1/3-1/1002.3 算法特性1、有穷性2、确定性3、有效性4、 0或多个输入5、 1或多个输出2.4 算法表示1、用自然语言2、用流程图3、用伪代码4、用计算机语言作业:P
3、372.2 2.4(1)、( 3)、( 8)第三章 数据类型、运算符与表达式 3.1 C数据类型 一个程序应包括两个方面的内容 1、对处理数据的描述(数据结构) 2、对处理数据的操作(算法描述) Wirth提出的公式: 程序 =数据结构 +算法 C提供的数据结构是以数据类型形式出现的 由于算法千变万化,程序要处理的数据(对象)也是多种多样,在程序设计语言中就将数据处分为不同的类型,如数值型( int、 float等)、非数值型( char等)不同类型数据在内存的存贮方式上、运算方式上都是不同的。 所以在对处理方法描述之前,要对处理过程中涉及到的数据进行类型说明。 对各种类型的数据,有两种存在形式即:常量和变量。