Hinc lude <math. hx 第一章 tdefine EPs void main doub 户有定义函数原型说明 scan pI %f% doub In double term. while( fab n=n+1 信息科学技术学院C语言程序设计教学组
C Programming Language>第一章 第一章概述 大内容提要 C语言概貌 >绪论 程序设计思想和程序结构C语言的特点 程序设计方法与要点库函数应用 算法描述应用 >自定义函数 基本输入输出 >c程序的组成 程序方式 G编程方式 USI bajia(ustc, dll. 4
第一章 概述 ★ 内容提要: C语言概貌 程序设计思想和程序结构 程序设计方法与要点 算法描述应用 基本输入输出 程序方式 ➢ 绪论 ➢ C语言的特点 ➢ 库函数应用 ➢ 自定义函数 ➢ C程序的组成 ➢ C编程方式
C Programming Language>第一章 11绪论 C语言是目前世界上最流行和实用的一种计算机高级 程序设计语言。最初的c语言只是为描述和实现UN|X 操作系统提供一种工作语言而设计的,后随其宿主系 统UNX的普及而被引起注意,又因其本身的高效、灵 活、功能丰富表达力强、移植性好等特出优点受到 广泛的重视并普及应用。 口编写系统软件:操作系统,编译系统,系统实用程序。 口编写应用软件:数据处理,科学工程数值计算等领域 口高校开设程序设计课程的必修首选语言。 USI bajia(ustc, dll. 4
C语言是目前世界上最流行和实用的一种计算机高级 程序设计语言。最初的C语言只是为描述和实现 UNIX 操作系统提供一种工作语言而设计的,后随其宿主系 统UNIX的普及而被引起注意,又因其本身的高效、灵 活、功能丰富、表达力强、移植性好等特出优点受到 广泛的重视并普及应用。 ❑ 编写应用软件:数据处理,科学工程数值计算等领域。 ❑ 编写系统软件:操作系统,编译系统,系统实用程序。 ❑ 高校开设程序设计课程的必修首选语言。 1.1 绪论
C Programming Language>第一章 12C语言的特点 (1)C语言在软件、硬件系统与用户中所处的位置 软件 高级语言:具有丰富的数据类型 FORTRAN语言和运算符,便于描述数据结构, pasca1语言 既具有强有力的表达力,可加快 开发速度,提高工作效率,面向 BASIC语言J用户、便于记忆、书写和阅读等。 C语言吸取了高低级语言优点,兼而有之 汇编语言 低级语言:具有面向硬件系统便于 直接访问硬件的特点功能,但没有 件L机器语言 数据类型,不易阅读、记忆、推广 系统 用户 U≤ bajia(ustc, dll. 4
(1) C语言在软件、硬件系统与用户中所处的位置 汇编语言 机器语言 低级语言:具有面向硬件系统便于 直接访问硬件的特点功能,但没有 数据类型,不易阅读、记忆、推广。 …… FORTRAN语言 pascal语言 BASIC 语言 高级语言:具有丰富的数据类型 和运算符,便于描述数据结构, 既具有强有力的表达力,可加快 开 发速度,提高工作效率,面向 用户、便于记忆、书写和阅读等。 高级语言:具有丰富的数据类型 和运算符,便于描述数据结构, 既具有强有力的表达力,可加快 开 发速度,提高工作效率,面向 用户、便于记忆、书写和阅读等。 系统 软 件 硬 件 用户 1.2 C语言的特点 C 语言 吸取了高低级语言优点,兼而有之
C Programming Language>第一章 (2)0语言是一种结构化程序设计语言便于模块化软 件设计。结构化程序设计思想和目的是使程序具有结 构合理,正确性高易验证。而且规定总结了一套程序 设计准则。可以简单归纳为以下几点: 口基于自顶向下,逐步求精的设计方法 口程序书写遵循一定的格式,使结构清晰; □程序由模块构成,每个模块具有独力的功能。模块 之间的数据联系要简单,每个模块只能有一个入口和 个出口; 口程序中只包含三种基本的结构:顺序、分支、循环。 USI bajia(ustc, dll. 4
(2)C语言是一种结构化程序设计语言便于模块化软 件设计。结构化程序设计思想和目的是使程序具有结 构合理,正确性高易验证。而且规定总结了一套程序 设计准则。可以简单归纳为以下几点: ❑ 基于自顶向下,逐步求精的设计方法; ❑ 程序书写遵循一定的格式,使结构清晰; ❑ 程序中只包含三种基本的结构:顺序、分支、循环。 ❑ 程序由模块构成,每个模块具有独力的功能。模块 之间的数据联系要简单,每个模块只能有一个入口和 一个出口;
C Programming Language>第一章 三种最基本的结构:顺序、分支、循环。 语句组 N 条件 语句1 语句2 <条件 顺序结构 Y 语句组 分支结构 循环结构 USI bajia(ustc, dll. 4
三种最基本的结构:顺序、分支、循环。 语句组 顺序结构 语句1 Y N 条件 语句2 分支结构 语句1 Y N 条件 语句2 分支结构 N 条件 语句组 循环结构 Y
C Programming Language>9 程序=数据结构+算法 数据结构: □逻辑结构:计算机外部的数据及其数据之间的关系。 口存储结构:外部数据及其数据之间的关系在计算机 内部的实现。(一般通过类型来表达) □运算:定义在逻辑结构之上的操作,通过算法描述 USI bajia(ustc, dll. 4
程序 = 数据结构 + 算法 数据结构: ❑ 逻辑结构:计算机外部的数据及其数据之间的关系。 ❑ 存储结构:外部数据及其数据之间的关系在计算机 内部的实现。(一般通过类型来表达) ❑ 运算:定义在逻辑结构之上的操作,通过算法描述
C Programming Language>第一章 算法:是对问题求解过程的一种描述,是为解决一个 或一类问题给出的一个确定的有限长的操作序列 口有穷性:对于任意一组合法的输入值,在执行有穷 步骤之后一定能结束; 口确定性:对于每种情况下所应执行的操作,在算法 中都有确切的规定(不存在二义性) 口可行性:算法中的所有操作都必须足够基本,都可 以通过已经实现的基本操作运算有限次实现之; 口有输入:算法加工的对象; 口有输出:它是一组与“输入”有确定关系的量值,是 算法进行信息加工后得到的结果。 USI bajia(ustc, dll. 4
算法:是对问题求解过程的一种描述,是为解决一个 或一类问题给出的一个确定的有限长的操作序列。 ❑ 有输入:算法加工的对象; ❑ 有穷性:对于任意一组合法的输入值,在执行有穷 步骤之后一定能结束; ❑ 确定性:对于每种情况下所应执行的操作,在算法 中都有确切的规定(不存在二义性); ❑ 可行性:算法中的所有操作都必须足够基本,都可 以通过已经实现的基本操作运算有限次实现之; ❑ 有输出:它是一组与“输入”有确定关系的量值,是 算法进行信息加工后得到的结果
C Programming Language>第一章 (3)用函数作为程序模块以实现程序的模块化结构 #include 令用以包含相关文件, +define pi 3. 14159 及定义符号常数。 minot double area( double x);)C程序中的函数 double ra 变量、符号常数必须 scanf(%1f ,&r) 先定义后使用,否则 r=pow(r,2.0); 应作预先声明。 a=area(r) printf("area=%f\n", a return(O) 求解园面积的编穆示例○ bajia(ustc, dll. 4
(3) 用函数作为程序模块以实现程序的模块化结构 #include #include #define PI 3.14159 main(){ double area(double x); double r,a; scanf("%lf",&r); r=pow(r,2.0); a=area(r); printf("area=%f\n",a); return(0); } ❖ 以‘#’打头的预处理命 令用以包含相关文件, 及定义符号常数。 ❖ 以‘#’打头的预处理命 令用以包含相关文件, 及定义符号常数。 求解园面积的编程示例 ❖ C程序中的函数、 变量、符号常数必须 先定义后使用,否则 应作预先声明。 ❖ C程序中的函数、 变量、符号常数必须 先定义后使用,否则 应作预先声明
C Programming Language>第一章 (3)用函数作为程序模块以实现程序的模块化结构 #include 是C程序运行开始时由系 +define pi 3. 14159 统调用的一个特殊函数, 不管其所在位置是程序中 minot 的前或后,执行总是从它 double area( double x);开始。 double ra C程序可由一个或多个函 scanf(%1f ,&r) 数构成,但必须存在一个 主函数,执行语句中可以 r=pow(r,2.0); 调用其它函数,但它不能 a=area(r) 被其它函数调用,也不能 printf("area=%f\n", a 自己调用自己。 ◇其它函数指:C编译系统 return(O) 提供的库函数;用户自定 义函数。 求解园面积的编穆示例○ bajia(ustc, dll. 4
(3) 用函数作为程序模块以实现程序的模块化结构 #include #include #define PI 3.14159 main(){ double area(double x); double r,a; scanf("%lf",&r); r=pow(r,2.0); a=area(r); printf("area=%f\n",a); return(0); } ❖ 以main()标识的主函数 是C程序运行开始时由系 统调用的一个特殊函数, 不管其所在位置是程序中 的前或后,执行总是从它 开始。 ❖C程序可由一个或多个函 数构成,但必须存在一个 主函数,执行语句中可以 调用其它函数,但它不能 被其它函数调用,也不能 自己调用自己。 ❖其它函数指:C编译系统 提供的库函数;用户自定 义函数。 求解园面积的编程示例