倍育动钻研学 include #define EPS 1 void main SI 明户自定义函数原型说明 dot scan p %f% doub 1n( double m while( fab n=n+1; term=term*(-x*x)/((2*n-2)*(2*n-1)
#include #include #define EPS 1e-7 void main(){ double udf_sin(double x); //用户自定义函数原型说明 double a; scanf("%lf" ,&a); printf("%f %f\n " ,udf_sin(a), sin(a)); } double udf_sin( double x ){ //用户自定义函数 double sum, term, n=1; sum=term=x; while( fabs(term) > EPS ){ n=n+1; term=term*(-x*x)/((2*n-2)*(2*n-1)); 培 育 英 才 钻 研 科 学
第一章概迷 《C语言程序设计》(20055) C语言概貌 绪论 程序设计思想和程序结构C语言的特点 程序设计方法与要点 >库函数应用 算法描述应用 >自定义函数 基本输入输出 >c程序的组成 程序方式 编程方式
第一章 概述 ★内容提要: Ø 绪论 Ø C语言的特点 Ø 库函数应用 Ø 自定义函数 Ø C程序的组成 Ø C编程方式 C语言概貌 程序设计思想和程序结构 程序设计方法与要点 算法描述应用 基本输入输出 程序方式
G言程序设费》(2005 第一章概迷 世界上最流行和实用的一种计 初的C语言只是为描述和实现UN 语言而设计的,后随其宿主系统 又因其本身的高效、灵活、 植性好等特出优点受到广泛的重视 编写系统软件:操作系统、编译系统、系统实用程序 一编写应用软件:数据处理、科学工程数值计算等领域。 高校开设程序设计课程的必修首选语言
第一章 概述 C语言是目前世界上最流行和实用的一种计算机高级程序 设计语言。最初的C语言只是为描述和实现 UNIX 操作系统 提供一种工作语言而设计的,后随其宿主系统UNIX的普及 而被引起注意,又因其本身的高效、灵活、功能丰富、表 达力强、移植性好等特出优点受到广泛的重视并普及应用。 q 编写应用软件:数据处理、科学工程数值计算等领域。 q 编写系统软件:操作系统、编译系统、系统实用程序。 q 高校开设程序设计课程的必修首选语言。 (1.1 绪论 )
0请在破件与用产你所处物N 选娆 语言的特忘 200 软件 具有丰富的数 FORTRAN语言 符,便于描述数据结 强有力的表达力 pascal语 度,提高工作效率 BASIC语言 便于记忆、书写和 C语言 级语言优点 汇编语言 具有面向硬件系统 的特点功能,但没有数 硬件机器语言 记忆、推 系统 用户
第一章 概述 q C语言在软件、硬件系统与用户中所处的位置 汇编语言 机器语言 低级语言:具有面向硬件系统便于直接 访问硬件的特点功能,但没有数据类型, 不易阅读、记忆、推广。 C 语言 吸取了高级语言和低级语言优点,兼而有之。 …… FORTRAN语言 pascal语言 BASIC 语言 高级语言:具有丰富的数据类型 和运算符,便于描述数据结构, 既具有强有力的表达力,可加快 开发速度,提高工作效率,面向 用户、便于记忆、书写和阅读等。 系统 软件 硬件 用户 (1.2 C语言的特点)
第一章概迷 C言程片请 将特点) 种结构化程序设计语言便于 序设计思想和目的是使程序具有 证。而且规定总结了一套程序设 为以下几点: 口基于自顶向下,逐步求精的设计方法; 曰程序书写遵循一定的格式,使结构清晰 程序分成模块,每个模块具有独力的功能。模块之间的 数据联系要简单,每个模块只能有一个入口和一个出口 程序中只包含三种最基本的结构:顺序、分支、循环
第一章 概述 (1.2 C语言的特点) (2)C语言是一种结构化程序设计语言便于模块化软件设 计。结构化程序设计思想和目的是使程序具有结构合理, 正确性高易验证。而且规定总结了一套程序设计准则。可 以简单归纳为以下几点: q 基于自顶向下,逐步求精的设计方法; q 程序书写遵循一定的格式,使结构清晰; q 程序中只包含三种最基本的结构:顺序、分支、循环。 q 程序分成模块,每个模块具有独力的功能。模块之间的 数据联系要简单,每个模块只能有一个入口和一个出口;
第一章概迷 《C增言程 序设详沙点 20055) 出酒分 顺序结构 Y 分支结构 循环结构
第一章 概述 (1.2 C语言的特点) 三种最基本的结构:顺序、分支、循环。 语句组 顺序结构 语句1 Y N 条 件 语句2 分支结构 N 条 件 语句组 循环结构 Y
第一章概迷 是炒特成20055) 程序-数据结构十算法 数据结构: 口逻辑结构:计算机外部的数据及其数据之间的关系。 存储结构:外部数据及其数据之间的关系在计算机 内部的实现。(一般通过类型来表达) 运算:定义在逻辑结构之上的操作,通过算法描述
第一章 概述 (1.2 C语言的特点) 程序 = 数据结构 + 算法 数据结构: q 逻辑结构:计算机外部的数据及其数据之间的关系。 q 存储结构:外部数据及其数据之间的关系在计算机 内部的实现。(一般通过类型来表达) q 运算:定义在逻辑结构之上的操作,通过算法描述
舞出没评势2005) 算法是对问题求解过程的一种描述,是为解决一个或 类问题给出的一个确定的有限长的操作序列。 口有穷性:对于任意一组合法的输入值,在执行有穷步骤之后 定能结束; 口确定性:对于每种情况下所应执行的操作,在算法中都有确 切的规定(不存在二义性); 可行性:算法中的所有操作都必须足够基本,都可以通过已 经实现的基本操作运算有限次实现之; 有输入:算法加工的对象 有输出:它是一组与“输入”有确定关系的量值,是算法进 行 信息加工后得到的结果
第一章 概述 (1.2 C语言的特点) 算法:是对问题求解过程的一种描述,是为解决一个或一 类问题给出的一个确定的有限长的操作序列。 q 有输入:算法加工的对象; q 有穷性:对于任意一组合法的输入值,在执行有穷步骤之后 一定能结束; q 确定性:对于每种情况下所应执行的操作,在算法中都有确 切的规定(不存在二义性); q 可行性:算法中的所有操作都必须足够基本,都可以通过已 经实现的基本操作运算有限次实现之; q 有输出:它是一组与“输入”有确定关系的量值,是算法进 行 信息加工后得到的结果
一在概比2在的特点2y 用函数作为程序模块以实现程序的模块化结构 Include ◆以“#’打头的预处理命令用以包含相 Include 关文件,及定义符号常数。 #define pi 3. 14159 minot 心C程序中的函数、变量、符号常数必须 先定义后使用,否则应作预先声明。 double area(double x) -double r, a: 令以 maino标识的主函数,它是C程序运行 开始时由系统调用的一个特殊函数,不管 scanf("‰1f",&r) 其所在位置是程序中的前或后,执行总是 r=pow(r,2.0); 从它开始。C程序可由一个或多个函数构成 ,但必须存在一个主函数,执行语句中可 a=area(r) 以调用其它函数,但它不能被其它函数调 printf( area=%f\n", a) 用,也不能自己调用自己。(其它函数指 :C编译系统提供的库函数;用户自定义函 return 求解园面积的编程示例二
第一章 概述 (1.2 C语言的特点) 用函数作为程序模块以实现程序的模块化结构 #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); } v 以‘#’打头的预处理命令用以包含相 关文件,及定义符号常数。 v 以main()标识的主函数,它是C程序运行 开始时由系统调用的一个特殊函数,不管 其所在位置是程序中的前或后,执行总是 从它开始。C程序可由一个或多个函数构成 ,但必须存在一个主函数,执行语句中可 以调用其它函数,但它不能被其它函数调 用,也不能自己调用自己。(其它函数指 :C编译系统提供的库函数;用户自定义函 数。) v C程序中的函数、变量、符号常数必须 先定义后使用,否则应作预先声明。 求解园面积的编程示例
kE 概述 maln 程序 说2005 函数的基本形式: double area(double x) double r a 函数类型函数名(形式参数说明表){ 数据说明部分 规定有序 scanf( %1f, &r) 执行语句部分; r=pow(r, 2.0) a=area(r) 说明 printf( "area=%f\n", a) 如果没有参数,则可以省略形参表列和形参 return(0) 说明,但括号不能省略; 如果函数值为int整形类型,则可以省略函 double area(double x)i 数类型说明,否则必须显式说明; double y 如果没有数据需要说明,则还可以省略数据 说明部分,甚至执行语句部分,即函数体可以 y=PI*X 为空。 return (y) 函数名(){}
第一章 概述 (1.2 C语言的特点) 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); } double area(double x){ double y; y=PI*x; return(y); } v 函数的基本形式: 函数类型 函数名(形式参数说明表){ 数据说明部分; 执行语句部分; } 说明: § 如果没有参数,则可以省略形参表列和形参 说明,但括号不能省略; § 如果函数值为int 整形类型,则可以省略函 数类型说明,否则必须显式说明; § 如果没有数据需要说明,则还可以省略数据 说明部分,甚至执行语句部分,即函数体可以 为空。 函数名( ){ } 规定有序 求解园面积的编程示例