C程序的结构和设计方法.ppt_第1页
C程序的结构和设计方法.ppt_第2页
C程序的结构和设计方法.ppt_第3页
C程序的结构和设计方法.ppt_第4页
C程序的结构和设计方法.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机程序设计,二、 C程序结构和设计方法,提纲,1 C语言的产生和发展 2 C语言的特点 3 C程序的基本结构 4 程序设计的方法,1 C语言的产生和发展,C 语言在 1969 到1973 年间随着Unix 操作系统的开发而诞生并流行.发明者为美国贝尔实验室的Dennis Ritchie等人。,Dennis Ritchie,1 C语言的产生和发展,C语言的标准: 1978年,丹尼斯里奇(Dennis Ritchie)和 Brian Kernighan 合作出版了C程序设计语言的第一版。书中介绍的C语言标准也被C语言程序员称作“K&R C” 1989年,C语言被 ANSI 标准化。后通过对ANSI标准的少量修改,最终通过了 ISO 9899:1990。 C89、C90可看作相同。 C99。在ANSI的标准确立后,C语言的规范在一段时间内没有大的变动,然而C+在自己的标准化创建过程中继续发展壮大。标准修正案一在1995年为C语言创建了一个新标准,但是只修正了一些C89标准中的细节和增加更多更广的国际字符集支持。不过,这个标准引出了1999年ISO 9899:1999的发表。它通常被称为C99。,2 C语言的特点,语言简捷、紧凑,使用方便、灵活 运算符丰富,数据结构丰富 具有结构化的控制语句 语法较宽松,程序设计自由度大 能实现较底层的功能 生成目标代码质量高,程序执行效率高,程序可移植性好,3 C程序的基本结构,【例1】写第一个C程序 #include /*包含一个标准I/O库*/ int main() /*定义函数main,是程序的主函数*/ /* 函数类型 函数名 (参数)*/ /*main函数的内容用括起来*/ printf(“Hello, World!n“); /*调用库函数打印一行字符。printf函数的功能是把要输出的内容送到显示器去显示*/ ,运行结果:Hello, World!,3 C程序的基本结构,分析: 程序包括两部分: 预处理部分: 这里的功能是“文件包含”,#include命令;其他还可以有“宏定义”、“条件编译”。 程序基本部分: 仅有一个main()主函数;必须的。 主函数内调用了库函数printf(); 还可以自己定义函数。 注释部分 /单行注释 或 /*多行注释*/,3 C程序的基本结构,【例2】 #include /include称为文件包含命令 #include/扩展名为.h的文件称为头文件 int main() double x,s; /定义两个实数变量,以被后面程序使用 printf(“input number:n“); /显示提示信息 scanf(“%lf“, /显示程序运算结果 /main函数结束,【例3】 #include int main() /*主函数*/ int max(int a, int b); /*对函数max的说明*/ int x,y,z; /*变量说明*/ printf (“input two numbers:n”); /*输出提示信息*/ scanf (“%d%d“, /*把结果返回主调函数*/ ,3 C程序的基本结构,3 C程序的基本结构,C程序结构的特点: C程序是由函数组成的 函数由说明部分和函数体组成 C程序总是从main函数开始执行的 C程序书写格式自由 每个语句和数据定义后必须有一个分号 C语言本身没有输入输出语句 可以用/*.*/做注释,3 C程序的基本结构,从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则: 一个说明或一个语句占一行。 用 括起来的部分,通常表示了程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。 低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。 在编程时应力求遵循这些规则,以养成良好的编程风格。,3 C程序的基本结构,程序的词法种类: 1 标识符 在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(AZ,az)、数字(09)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。 以下标识符是合法的: a, x, x3, BOOK_1, sum5 以下标识符是非法的: 3s 以数字开头 s*T 出现非法字符* -3x 以减号开头 bowy-1 出现非法字符-(减号),3 C程序的基本结构,程序的词法种类 在使用标识符时还必须注意以下几点: (1)标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。例如在某版本C 中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。 (2)在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。 (3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。,3 C程序的基本结构,程序的词法种类: 2.关键字 关键字是由语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。语言的关键字分为以下几类: (1)类型说明符 用于定义、说明变量、函数或其它数据结构的类型。如前面例题中用到的int, double等 (2)语句定义符 用于表示一个语句的功能。如例1.3中用到的if else就是条件语句的语句定义符。 (3)预处理命令字 用于表示一个预处理命令。如前面各例中用到的include。,3 C程序的基本结构,程序的词法种类: 3.运算符 语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。 4.分隔符 在语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把int a;写成 inta; C编译器会把inta当成一个标识符处理,其结果必然出错。,3 C程序的基本结构,程序的词法种类: 5.常量 C 语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在后面章节中将专门给予介绍。 6.注释符 C 语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。,4 程序设计的方法,问题分析:将需求转化为计算机能够处理的数据和模型。(建模) 算法设计:把求解步骤思路表示成流程图等形式,规划数据结构 算法实现:使用开发工具编制程序,编辑、编译。语法错误和逻辑错误。 调试与更新:排错、修改;文档;参数调整、升级更新,4 程序设计的方法,例:37页10 - 分析: 一般项 termi=(-1)i+1(x2i-1)/(2i-1)!,故 算法描述 初始化i=1,sinx=0,x=指定值 求termi 若|termi|10-7,则sinx=sinx+termi;i=i+1;转2 否则 输出sinx值,结束。,(续),算法细化: 初始化i=1,sinx=0,x=指定值; 求termi t1=x; t2=1; n=22i-1, t1=t1*x,t2=t2*n /再细化。 termi=t1/t2; 若i为偶数,则termi=-termi; 若|termi|10-7,则sinx=sinx+termi;i=i+1;转2 否则 输出sinx值,结束。,(续),更优的算法: 初始化:x=指定值,t=x, sinx=0; n=1; 若|t| = 10-7转6; sinx=sinx+t; n=n+1; t=-t*x*x/(2n-2)*(2n-1);转2; 输出sinx值,结束,4 程序设计的方法,结构化程序设计方法: 自顶向下; 逐步细化; 模块化设计; 结构化编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论