Presentation is loading. Please wait.

Presentation is loading. Please wait.

2 C程序结构和设计方法.

Similar presentations


Presentation on theme: "2 C程序结构和设计方法."— Presentation transcript:

1 2 C程序结构和设计方法

2 C程序结构和设计方法 C语言发展历史 C语言概述 C程序的基本结构 程序设计方法

3 2.1 C语言发展历史 程序设计语言的发展 冯.诺依曼结构: 程序设计是数据被加工的过程 计算机 运算器 控制器 存储器 主机:
I/O设备:键盘、显示器等 中央处理器CPU 机器语言 汇编语言 高级语言 面向过程 面向对象 1946年,第一台电子计算机问世,应用领域迅速扩大,软硬件飞速发展,程序设计语言相继问世。 程序设计语言:将自然语言形式化为有格式的语言 1。机器语言: 计算机能够认识的语言 计算机的基础是数字电路 机器语言就是数字电路里的电信号 将在《计算机组成》课程中学习 都是二进制文件 一条机器语言成为一条指令 指令是不可分割的最小功能单元 定义:一种CPU的指令系统,由该CPU可识别的0、1序列构成的指令码组成。 特点: 执行效率高 不直观,不易查错,生产效率低。 2。汇编语言 定义:用助记符号描述的指令系统 生产效率高,质量好,执行效率较高; 要经汇编程序汇编成目标程序(机器语言)才能执行,依赖硬件。 (面向机器的语言----依CPU不同而异) 3。高级语言 编程效率高,不必考虑硬件; 执行效率低,要经编译、连接后才能执行。 面向过程的程序设计语言 认为解题过程是数据被加工的过程 程序=数据结构+算法 C语言是面向过程的高级语言 面向对象的程序设计语言 一种结构模拟方法。认为:现实世界由对象组成,对象是数据和方法的封装体;客观世界可以分类,每个对象是类的一个实例。 特点:比面向过程的语言更清晰、易懂,适宜编更大规模程序,是程序设计的主流 程序设计语言基本成分: 。数据成分 。运算成分 。控制成分 。传输成分 程序设计语言定义:用于书写计算机程序的语言。通常指实现高级语言。 语言的基础是一组记号与一组规则。 程序设计语言包括: 语法:记号的组合规则 语义:记号的特定意义 语用:程序与使用者的关系 面向机器的语言 CPU指令系统,由0、1序列构成的指令码组成 如: 加 客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系 用助记符号描述的指令系统 如 ADD A, B 程序设计关键是定义类,并由类派生对象 > >

4 C程序结构和设计方法 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 Ada Modula-2 Pascal ALGOL60 ALGOL68 CPL BCPL B C C++ Smalltalk 80 Java Simula 67 QBASIC VB BASIC ANSI-BASIC FORTRAN90 FORTRAN FORTRAN77 PL/1 COBOL LISP PROLOG < >

5 C语言发展过程 产生背景 产生过程 C标准 < > 时间:1972~1973 地点:美国贝尔实验室 目的:UNIX操作系统
设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K&R合著《The C Programming Language》 ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ANSI C < >

6 2.2 C语言概述 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 > >
< >

7 32个关键字:(由系统定义,不能重作其它定义)
C程序结构和设计方法 32个关键字:(由系统定义,不能重作其它定义) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while <

8 9种控制语句: if( )~else~ continue for( )~ break while( )~ switch
do~while( ) return goto <

9 34种运算符: < 算术运算符:+ - * / % ++ -- 关系运算符:< <= == > >= !=
C程序结构和设计方法 34种运算符: 算术运算符:+ - * / % 关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) - <

10 < C 数 据 类 型 基本类型 构造类型 指针类型 空类型void 定义类型typedef 数值类型 字符类型char
枚举类型enum 整 型 浮点型 单精度型float 双精度型double 短整型short 长整型long 整型int 数组 结构体struct 共用体union <

11 2.3 C程序的基本结构 例 第一个程序 Hello,World! /* example The first C Program*/
#include <stdio.h> main() { printf(“Hello,World!”); } 注释 编译预处理 函数 语句 输出: Hello,World! >

12 /* example1.1 calculate the sum of a and b*/ #include <stdio.h>
/* This is the main program */ main() { int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %d\n",sum); } /* This function calculates the sum of x and y */ int add(int x,int y) { int z; z=x+y; return(z); 预处理命令 注释 函数 语句 运行结果: sum=34 >

13 格式特点 main( ) { ………………. ……………… ………….. ……… …………… ………………. } 养成良好的编程习惯:
C程序结构和设计方法 格式特点 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式 main( ) { int i , j , sum; sum=0; for(i=1; i<10;i++) for(j=1;j<10;j++) sum+=i*j ; } printf(“%d\n”,sum); main( ) { ………………. ……………… ………….. ……… …………… ………………. } 养成良好的编程习惯: 使用TAB缩进 {}对齐 有足够的注释 有合适的空行 < >

14 结构特点 函数与主函数 程序语句 注释 非法 例: /*This is the main /* of example1.1*/ */
C程序结构和设计方法 结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码 非法 例: /*This is the main /* of example1.1*/ */ 编译预处理命令 < >

15 C程序结构和设计方法 2.4 程序设计方法 明确问题需求 分析问题 设计解决问题的算法 自顶向下、逐步求精的设计方法 算法描述 程序编制

16 C程序结构和设计方法 例题:求绿色这片地中马铃薯的产量 A E D B C

17 C程序结构和设计方法 大致分为以下三个步骤 计算该地块面积 折合成亩 求总产量

18 A E D B C C程序结构和设计方法 使用海伦公式S= 求边AB的长度 两点间距离公式 计算三角形ABE面积 求边BE的长度
求p 求出S 两点间距离公式 计算三角形ABE面积 计算三角形BDE面积 计算三角形BCD面积 计算该地块面积 折合成亩 求总产量 A B D C E

19 DOS(Disk Operating System)基础 DOS基本概念
C程序结构和设计方法 DOS(Disk Operating System)基础 DOS基本概念 对计算机系统软硬件资源进行控制与管理 是用户和计算机间的接口 MS-DOS和PC-DOS DOS的组成 引导程序 I/O设备管理程序:IO.SYS 或 IBMBIO.COM 文件管理和功能调用程序:MSDOS.SYS或IBMDOS.COM 命令处理程序:COMMAND.COM 引导程序:0面0道1扇区,系统启动时自动装入内存,并负责装入DOS其他部分 IO。SYS:DOS与BIOS低级接口,BIOS是驻留在ROM的基本输入输出系统,IO。SYS负责在外部设备和计算机之间读写数据,用于管理键盘、显示器、打印机、通讯设备等 MSDOS。SYS:DOS核心负责磁盘数据的组织及存取;提供彝族内部功能,用户可调用(系统功能调用) COMMAND。COM:键盘命令处理程序,DOS最外层,用户与DOS间接口

20 DOS文件 文件概念:存储在磁盘上的一组相关信息 文件名 : 〈文件标识符〉[.〈扩展名〉] 文件名中的通配符
C程序结构和设计方法 DOS文件 文件概念:存储在磁盘上的一组相关信息 文件名 : 〈文件标识符〉[.〈扩展名〉] 例 磁盘上有如下文件: ABCD.XYZ CBCD.XYZ ABCT.XYZ ABTTS.XYZ ABID.XYZ TEXTS.TXT ABYD.TXT ABCD.BAS 1. ?B?D.XYZ AB*.XYZ ABCD.XYZ ABCD.XYZ ABID.XYZ ABCT.XYZ CBCD.XYZ ABID.XYZ ABTTS.XYZ 3. *.TXT ABYD.TXT TEXTS.TXT 4. *.* 所有文件 文件名中的通配符 用途:指定文件组,避免重复操作 ? 与 * DOS中常用扩展名及其表示文件类型 .COM 系统程序文件 .EXE 可执行文件 .BAT 批处理文件 .BAK 备份文件 .TXT 文本文件 .SYS 系统文件 .OBJ 目标文件 .LIB 库文件 .DAT 数据文件 .C C源程序文件 最长8个字符 可用字符: 英文字母 数字0~9 其它字符: _ ! # % & { } ( )等 不可用字符:“ . / \ [ ] : | < > + = ; , 空格 DOS设备名:CON LPT1 PRN AUX COM NUL A:~Z: 可省略 1~3个字符 表示文件类型

21 DOS目录 用途: 对文件进行有效组织管理 树型目录结构 根目录 \ USER DOS TC WANG ZHAO ZHANG INCLUDE
LIB DOC EXE CODE SYS 子目录 当前目录:用户目前正在其中工作的目录 路径 绝对路径:以根目录为起点的路径 相对路径:从当前目录开始的路径 例 绝对路径 \USER\ZHAO\DOC\ch1.doc 例 若当前目录为TC 相对路径 INCLUDE\stdio.h

22 DOS命令 内部命令:在COMMAND.COM中,驻留内存 外部命令:以文件形式驻留在磁盘(.com .exe .bat)
常用的内部命令: DIR 显示磁盘文件目录 COPY 拷贝文件 TYPE 显示文本文件 RENAME 更改文件名 DEL 删除磁盘文件 DATE 显示和设置日期 TIME 显示和设置时间 CLS 清除显示屏幕 常用的外部命令: FORMAT 磁盘格式化 DISKCOPY 软盘间拷贝 XCOPY 拷贝目录和文件 PRINT 打印文件 FDISK 硬盘分区 常用DOS命令 例 A:\> FORMAT A: /S/V 格式化A驱软盘,将DOS系统文件存入, 并为其加上卷标 文件操作命令: TYPE 显示文件内容 例 C:\>TYPE A:\HELLO.C REN 更改文件名 例 C:\>REN C:\*.TXT *.TMP DEL 删除文件 例 C:\>DEL A:\*.* COPY 复制文件 例 C:\>COPY C:\TC\*.C A: XCOPY 复制子目录及文件 例 C:\>XCOPY \USER A: /S 目录操作命令: DIR 显示目录清单 例 C:\>DIR A:\*.C /P MD 建立子目录 例 C:\>MD \WINZIP CD 改变当前目录 例 C:\>CD \TC RD 删除子目录 例 C:\>RD \USER\WANG TREE 显示目录结构 例 C:\>TREE C: /F 系统服务命令: DATE 显示和设置日期 TIME 显示和设置时间 CLS 清屏幕 磁盘操作命令: FORMAT 磁盘格式化 例 A:\>FORMAT A: /S DISKCOPY 复制软盘 例 A:\>DISKCOPY A: B: XCOPY /S 表示复制子目录,但若为空子目录,则不复制 /S/E表示复制子目录,空子目录,也复制 DIR /P 显示一屏,换页 /W TREE /F显示目录结构及文件


Download ppt "2 C程序结构和设计方法."

Similar presentations


Ads by Google