1、C语言程序设计,教材、参考书与课时安排,教材 C程序设计 谭浩强编著 清华大学出版社 参考书 C语言程序设计教程 谭浩强 高等教育出版社 C高级实用程序设计 王士元 清华大学出版社 课时安排 授课 :48学时 C综合编程训练:2周,上机安排 上机地点:计算中心机房 上机时间:第2、4、6、8、10、12、14、16、18周的周四三、四节 上机内容: 第2、4、6、8、10、12、14、16、18周共18学时:随教学进度的基础训练(上机调试每次课堂作业) 要求: 所有作业必须独立完成 作业必须经上机调试通过 上机考勤3次缺席,按不及格处理 发现上机时间上网,按缺席一次处理,课程要求,课前请做好预
2、习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间,第一章 C语言概述,1.1 C语言发展历史 程序设计语言的发展,CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加10010000 减,用助记符号描述的指令系统 如 ADD A, B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,C语言程序设计 第一章 C语言概述,Ada,ALGOL60,ALGOL68,Pascal,Modula-2,CPL
3、,BCPL,B,C,C+,Java,LISP,PROLOG,COBOL,FORTRAN77,FORTRAN,PL/1,Simula 67,Smalltalk 80,BASIC,ANSI-BASIC,QBASIC,VB,FORTRAN90,C语言发展过程 产生背景 产生过程 时间:19721973 地点:美国贝尔实验室 目的: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语言程
4、序设计 第一章 C语言概述,1.2 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 v
5、olatile while,C语言程序设计 第一章 C语言概述,9种控制语句: if( )else for( ) while( ) dowhile( ) 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 a10; VAR a:ARRAY110 OF INTEGER 定义整型数组a int f(); FUNCTION f():
6、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
7、语言概述,C语言程序设计 第一章 C语言概述,1.3 C程序格式和结构特点 例1.1 第一个程序 Hello,World!,/* example1.1 The first C Program*/ #include main() printf(“Hello,World!”); ,C语言程序设计 第一章 C语言概述,输出: Hello,World!,例1.2,/* example1.1 calculate the sum of a and b*/ #include /* This is the main program */ main() int a,b,sum;a=10;b=24;sum=add
8、(a,b);printf(”sum= %dn“,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,C语言程序设计 第一章 C语言概述,格式特点 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式,C语言程序设计 第一章 C语言概述,main( ) . ,main( ) int i , j , sum;sum=0;for(i=1; i10;i+)for(j=1;j10;j+)sum
9、+=i*j ;printf(“%dn”,sum); ,优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行,结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码,例: /*This is the main /* of example1.1*/ */,编译预处理命令,C语言程序设计 第一章 C语言概述,1.4 C程序的上机步骤 C程序开发步骤,file.exe,C语言程
10、序设计 第一章 C语言概述,程序代码的录入, 生成源程序*.c,语法分析查错,翻译 生成目标程序*.obj,与其它目标程序或库 链接装配,生成可执行 程序*.exe,Turbo C集成开发环境 配置要求 UNIX,PC-DOS,MS-DOS,UCDOS操作系统 硬盘容量约2M,448K RAM运行空间 安装Turbo C 创建子目录 Install 若不是可安装盘,将文件拷贝到对应的目录下,C语言程序设计 第一章 C语言概述,进入Turbo C D:TCTC.exe 主控菜单 文件操作FILE :New Load Save Write to 编辑操作EDIT:插入/修改 块 查找/替换 编译链
11、接COMPILE LINK MAKE 执行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+
12、KV-块移动 Ctrl+KY-块删除 Ctrl+KH-块隐藏,程序调试: F8-Step over F7-Trace into F4-Goto Cursor Ctrl+F7-Add Watch Ctrl+F8-Toggle Breakpoint Ctrl+F2-Program Reset,窗口操作: F5-窗口缩放 F6-窗口切换,C语言程序设计 第一章 C语言概述,预备知识:DOS(Disk Operating System)基础 DOS基本概念 对计算机系统软硬件资源进行控制与管理 是用户和计算机间的接口 MS-DOS和PC-DOS DOS的组成 引导程序 I/O设备管理程序:IO.SYS
13、 或 IBMBIO.COM 文件管理和功能调用程序:MSDOS.SYS或IBMDOS.COM 命令处理程序:COMMAND.COM,C语言程序设计 第一章 C语言概述,DOS文件 文件概念:存储在磁盘上的一组相关信息 文件名 : 文件标识符.扩展名,文件名中的通配符 用途:指定文件组,避免重复操作 ? 与 *,最长8个字符 可用字符: 英文字母 数字09 其它字符: $ _ ! # % , 空格 DOS设备名:CON LPT1 PRN AUX COMNUL A:Z:,例 磁盘上有如下文件: ABCD.XYZ CBCD.XYZ ABCT.XYZ ABTTS.XYZ ABID.XYZ TEXTS.
14、TXT ABYD.TXT ABCD.BAS1. ?B?D.XYZ 2. AB*.XYZ ABCD.XYZ ABCD.XYZ ABID.XYZ ABCT.XYZ CBCD.XYZ ABID.XYZABTTS.XYZ3. *.TXT ABYD.TXT TEXTS.TXT4. *.* 所有文件,可省略 13个字符 表示文件类型,DOS中常用扩展名及其表示文件类型 .COM 系统程序文件 .EXE 可执行文件 .BAT 批处理文件 .BAK 备份文件 .TXT 文本文件 .SYS 系统文件 .OBJ 目标文件 .LIB 库文件 .DAT 数据文件 .C C源程序文件,C语言程序设计 第一章 C语言概述
15、,DOS目录 用途: 对文件进行有效组织管理 树型目录结构,根目录,子目录,例 绝对路径 USERZHAODOCch1.doc,例 若当前目录为TC相对路径 INCLUDEstdio.h,C语言程序设计 第一章 C语言概述,常用的内部命令: DIR 显示磁盘文件目录 COPY 拷贝文件 TYPE 显示文本文件 RENAME 更改文件名 DEL 删除磁盘文件 DATE 显示和设置日期 TIME 显示和设置时间 CLS 清除显示屏幕,常用的外部命令: FORMAT 磁盘格式化 DISKCOPY 软盘间拷贝 XCOPY 拷贝目录和文件 PRINT 打印文件 FDISK 硬盘分区,DOS命令 内部命令
16、:在COMMAND.COM中,驻留内存,外部命令:以文件形式驻留在磁盘(.com .exe .bat),DOS命令格式:命令名 参数选择项,例 A: FORMAT A: /S/V 格式化A驱软盘,将DOS系统文件存入, 并为其加上卷标,常用DOS命令,系统服务命令: DATE 显示和设置日期 TIME 显示和设置时间 CLS 清屏幕,目录操作命令: DIR 显示目录清单 例 C:DIR A:*.C /P MD 建立子目录 例 C:MD WINZIP CD 改变当前目录 例 C:CD TC RD 删除子目录 例 C:RD USERWANG 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:,C语言程序设计 第一章 C语言概述,