270 likes | 361 Views
C 程序结构和设计方法. C 语言发展历史. C 语言特点. C 程序格式和结构特点. C 程序上机步骤. 程序设计方法. 1 .1 C 语言发展历史 程序设计语言的发展. C 语言程序设计 第一章 C 语言概述. 冯 . 诺依曼结构 :. 运算器. 中央处理器 CPU. 主机:. 控制器. 计算机. 存储器. I/O 设备:键盘、显示器等. 机器语言. 汇编语言. 高级语言. 面向过程. 面向机器的语言. 面向对象. 程序设计是数据被加工的过程. CPU 指令系统,由0、1序列构成的指令码组成 如: 10000000 加
E N D
C语言发展历史 C语言特点 C程序格式和结构特点 C程序上机步骤 程序设计方法
1.1 C语言发展历史 程序设计语言的发展 C语言程序设计第一章 C语言概述 冯.诺依曼结构: 运算器 中央处理器CPU 主机: 控制器 计算机 存储器 I/O设备:键盘、显示器等 机器语言 汇编语言 高级语言 面向过程 面向机器的语言 面向对象 程序设计是数据被加工的过程 CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减 客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系 用助记符号描述的指令系统 如 ADD A, B 程序设计关键是定义类,并由类派生对象 > >
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 C CPL BCPL B C++ Smalltalk 80 Java Simula 67 QBASIC VB ANSI-BASIC BASIC FORTRAN90 FORTRAN FORTRAN77 PL/1 COBOL LISP PROLOG < >
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 C语言程序设计第一章 C语言概述 < >
1.2 C语言特点 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 C语言程序设计第一章 C语言概述 中级语言 > > > > > < >
C语言程序设计第一章 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 <
C语言程序设计第一章 C语言概述 • 9种控制语句: • if( )~else~ • for( )~ • while( )~ • do~while( ) • continue • break • switch • goto • return <
C语言程序设计第一章 C语言概述 • 例 C语言与Pascal语言比较 • C语言Pascal语言 含义 • { }BEGIN….END复合语句 • if(e) s;IF(e) THEN s条件语句 • int i ;VAR i:INTEGER定义i为整型变量 • int a[10];VAR a:ARRAY[1..10] OF INTEGER定义整型数组a • int f();FUNCTION f():INTEGER定义f为返值整型的函数 • int *p;VAR p:INTEGER定义p为指向整型变量的指针 • i+= 2;i=i+2赋值i+2i • i++,++i;i=i+1 i自增值 • 结论:C比 Pascal简练,源程序短。 <
C语言程序设计第一章 C语言概述 34种运算符: 算术运算符:+ - * / % ++ -- 关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) - <
C语言程序设计第一章 C语言概述 短整型short 整 型 整型int 长整型long 数值类型 单精度型float 浮点型 基本类型 双精度型double 字符类型char 数组 C 数 据 类 型 结构体struct 构造类型 共用体union 枚举类型enum 指针类型 空类型void 定义类型typedef <
C语言程序设计第一章 C语言概述 注释 函数 语句 编译预处理 • 1.3 C程序格式和结构特点 例1.1 第一个程序 Hello,World! /* example1.1 The first C Program*/ #include <stdio.h> main() { printf(“Hello,World!”); } 输出: Hello,World! >
例1.2 C语言程序设计第一章 C语言概述 预处理命令 注释 函数 语句 /* example1.1 calculate the sum of a and b*/ #include <stdio.h> /* This is the main program */ main() {inta,b,sum; a=10; b=24; sum=add(a,b); printf(”sum=%d\n",sum); } /* This function calculates the sum of x and y */ intadd(intx,int y) { int z; z=x+y; return(z); } 运行结果: sum=34 >
C语言程序设计第一章 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缩进 • {}对齐 • 有足够的注释 • 有合适的空行 < >
结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码 C语言程序设计第一章 C语言概述 非法 例: /*This is the main /* of example1.1*/ */ • 编译预处理命令 < >
C语言程序设计第一章 C语言概述 编辑 编译 链接 执行 file.exe • 1.4 C程序的上机步骤 • C程序开发步骤 程序代码的录入, 生成源程序*.c 语法分析查错,翻译 生成目标程序*.obj 与其它目标程序或库 链接装配,生成可执行 程序*.exe < >
Turbo C集成开发环境 配置要求 UNIX,PC-DOS,MS-DOS,UCDOS操作系统 硬盘容量约2M,448K RAM运行空间 安装Turbo C 创建子目录 Install 若不是可安装盘,将文件拷贝到对应的目录下 C语言程序设计第一章 C语言概述 TC LIB INCLUDE *.* *.* *.* SYS < >
C语言程序设计第一章 C语言概述 • 进入Turbo C • D:\TC>TC.exe • 主控菜单 • 文件操作FILE :NewLoadSave Write to • 编辑操作EDIT:插入/修改块查找/替换 • 编译链接COMPILELINKMAKE • 执行RUN • 退出Turbo C • Alt +x • Alt+F ,Q • 帮助Help • F1 • Ctrl+F1 < >
C语言程序设计第一章 C语言概述 • 常用热键 基本操作: F10-----调用主菜单 F2------存盘 F3------打开 Alt+F9------Compile Ctrl+F9------Run Alt+F5------User Screen 文本编辑: -------移动光标 PgUp,PgDn------上下翻页 Ctrl+PgUp,Ctrl+PgDn------文件首尾 Home End Ddelete Insert Bkspace 块操作: Ctrl+KB-------块开始标记 Ctrl+KK--------块结束标记 Ctrl+KC-------块拷贝 Ctrl+KV--------块移动 Ctrl+KY-------块删除 Ctrl+KH--------块隐藏 窗口操作: F5-----窗口缩放 F6-----窗口切换 程序调试: F8-----Step over F7-------Trace into F4-----Goto Cursor Ctrl+F7--------Add Watch Ctrl+F8------Toggle Breakpoint Ctrl+F2--------Program Reset
1.5程序设计方法 • 明确问题需求 • 分析问题 • 设计解决问题的算法 • 自顶向下、逐步求精的设计方法 • 算法描述 • 程序编制
例题:求绿色这片地中马铃薯的产量 A E D B C
大致分为以下三个步骤 • 计算该地块面积 • 折合成亩 • 求总产量
使用海伦公式S= • 求边AB的长度 • 求边BE的长度 • 求边AE的长度 • 求p • 求出S • 两点间距离公式 • 计算三角形ABE面积 • 计算三角形BDE面积 • 计算三角形BCD面积 • 计算该地块面积 • 折合成亩 • 求总产量 A E D B C
C语言程序设计第一章 C语言概述 • 预备知识:DOS(Disk Operating System)基础 • DOS基本概念 • 对计算机系统软硬件资源进行控制与管理 • 是用户和计算机间的接口 • MS-DOS和PC-DOS • DOS的组成 • 引导程序 • I/O设备管理程序:IO.SYS 或 IBMBIO.COM • 文件管理和功能调用程序:MSDOS.SYS或IBMDOS.COM • 命令处理程序:COMMAND.COM
C语言程序设计第一章 C语言概述 例 磁盘上有如下文件: ABCD.XYZ CBCD.XYZ ABCT.XYZ ABTTS.XYZ ABID.XYZ TEXTS.TXT ABYD.TXT ABCD.BAS 1. ?B?D.XYZ 2. AB*.XYZ ABCD.XYZ ABCD.XYZ ABID.XYZ ABCT.XYZ CBCD.XYZ ABID.XYZ ABTTS.XYZ 3. *.TXT ABYD.TXT TEXTS.TXT 4. *.* 所有文件 • DOS文件 • 文件概念:存储在磁盘上的一组相关信息 • 文件名 : 〈文件标识符〉[.〈扩展名〉] • 文件名中的通配符 • 用途:指定文件组,避免重复操作 • ? 与 * DOS中常用扩展名及其表示文件类型 .COM 系统程序文件 .EXE 可执行文件 .BAT 批处理文件 .BAK 备份文件 .TXT 文本文件 .SYS 系统文件 .OBJ 目标文件 .LIB 库文件 .DAT 数据文件 .C C源程序文件 • 可省略 • 1~3个字符 • 表示文件类型 • 最长8个字符 • 可用字符: • 英文字母 • 数字0~9 • 其它字符: $ @ _ ! # % & { } ( )等 • 不可用字符:“ . / \ [ ] : | < > + = ; , 空格 • DOS设备名:CON LPT1 PRN AUX COM NUL A:~Z:
C语言程序设计第一章 C语言概述 \ USER DOS TC INCLUDE WANG ZHAO ZHANG LIB 当前目录:用户目前正在其中工作的目录 SYS DOC EXE CODE 绝对路径:以根目录为起点的路径 相对路径:从当前目录开始的路径 路径 • DOS目录 • 用途: 对文件进行有效组织管理 • 树型目录结构 根目录 子目录 例 若当前目录为TC 相对路径 INCLUDE\stdio.h 例 绝对路径 \USER\ZHAO\DOC\ch1.doc
C语言程序设计第一章 C语言概述 • DOS命令 • 内部命令:在COMMAND.COM中,驻留内存 • 外部命令:以文件形式驻留在磁盘(.com .exe .bat) • DOS命令格式:命令名 [参数][选择项] • 常用的内部命令: • DIR显示磁盘文件目录 • COPY拷贝文件 • TYPE显示文本文件 • RENAME更改文件名 • DEL 删除磁盘文件 • DATE显示和设置日期 • TIME显示和设置时间 • CLS清除显示屏幕 • 常用的外部命令: • FORMAT磁盘格式化 • DISKCOPY软盘间拷贝 • XCOPY拷贝目录和文件 • PRINT打印文件 • FDISK 硬盘分区 • 常用DOS命令 例 A:\> FORMAT A: /S/V 格式化A驱软盘,将DOS系统文件存入, 并为其加上卷标 • 系统服务命令: • DATE显示和设置日期 • TIME显示和设置时间 • CLS清屏幕 • 目录操作命令: • DIR 显示目录清单 例 C:\>DIR A:\*.C /P • MD建立子目录 例 C:\>MD \WINZIP • CD改变当前目录 例 C:\>CD \TC • RD删除子目录 例 C:\>RD \USER\WANG • TREE显示目录结构 例 C:\>TREE C: /F • 文件操作命令: • 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 • 磁盘操作命令: • FORMAT 磁盘格式化 例 A:\>FORMAT A: /S • DISKCOPY复制软盘 例 A:\>DISKCOPY A: B: