C程序设计 主讲教师:汪闽 南京师范大学 地图学与地理信息系统04级 专业选修课
C程序设计 南京师范大学 地图学与地理信息系统04级 专业选修课 主讲教师: 汪闽
第二章数据类型、远算符号与表达式 2.1程序设计概述 2.2预备知识:数制之间的转换 2.3数据类型 2.4常量与变量 2.5不同类型数据间的转换 2.6运算符和表达式
2.1 程序设计概述 2.3 数据类型 2.4 常量与变量 2.5 不同类型数据间的转换 第二章 数据类型、运算符号与表达式 2.6 运算符和表达式 2.2 预备知识:数制之间的转换
211程序的组成 一个程序应包括1)对数据的描述和2)对数据处理的描述 1.对数据的描述,即数据结构。数据结构是计算机学科的核心课 程之一,有许多专门著作论述,本课程就不再赘述。 在C语言中,系统提供的数据结构,是以数据类型的形式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决一个问题而 采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思 ( Nikiklaus wirth)提出一个公式 数据结构十算法=程序 实际上,一个程序除了数据结构和算法外,还必须使用一种计算 机语言,并采用结构化方法来表示
一个程序应包括 1)对数据的描述和 2)对数据处理的描述 1.对数据的描述,即数据结构。数据结构是计算机学科的核心课 程之一,有许多专门著作论述,本课程就不再赘述。 在C语言中,系统提供的数据结构,是以数据类型的形式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决一个问题而 采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思 (Nikiklaus Wirth)提出一个公式: 数据结构 + 算法 = 程序 实际上,一个程序除了数据结构和算法外,还必须使用一种计算 机语言,并采用结构化方法来表示。 2.1.1 程序的组成 2.1 程序设计概述
21.2结构化程序设计方法 含义:规范程序设计风格和程序结构 2、思路:将复杂的问题分阶段处理 3、方法:自顶向下、逐步细化、模块化设计、 结构化编码
< 2.1.2 结构化程序设计方法 1、含义:规范程序设计风格和程序结构。 2、思路:将复杂的问题分阶段处理 3、方法:自顶向下、逐步细化、模块化设计、 结构化编码
213算法的表示方法 1、自然语言 2、流程图■ 3、伪代码■ 4、计算机语言■
1、自然语言 2、流程图 3、伪代码 4、计算机语言 2.1.3 算法的表示方法 <
判断一个数n是否是素数(n>2) s1:输入n的值 s2:置变量i值为2. s3:求解m=n‰;若m=0,转向S6,否则执行S4 s4:变量i值自加1 s5:判断i<n是否成立;若为真则转向S3否则执行S6 s6:判断i<n是否成立;若为真输出“非素数”,否则输出“素 数
S1:输入n的值. S2:置变量i的值为2. S3:求解m=n%i ;若m=0,转向S6,否则执行S4. S4: 变量i的值自加1. S5: 判断i2) <
流程图 开始 辑 源程序 file.c 有 有错? 目标程 序 无 le obi 连接 可执行 目标程 库函数和 序 执行 其它目标 程序 不正确 结果正确? 正确 结束
开 始 编 辑 编 译 连 接 执 行 有错? 结果正确? 结 束 有 源程序 file. c 目标程 序 file.obj 库函数和 其它目标 程序 可执行 目标程 序 无 正确 不正确 流程图
N-S流程图 当P成立 成立 不成立 A
N-S流程图 A B 顺序结构 P 成立 不成立 A B 选择结构 当P成立 A 循环结构
输入整数n(n>2),判断其是否为素数 输入n的值 i=2 当i<n mEn%i m=0 结束循环 i〓+1 i≤n N n是非素数 n是素数
2),判断其是否为素数 输入n的值 i=2 当i<n m=n%i m=0 Y N 结束循环 i=i+1 Y i<n N n是非素数 n是素数
打印x的绝对值(伪代码) If x is positive then Print x Else Print -x
< 打印x的绝对值(伪代码) If x is positive then Print x Else Print -x