1、C语言程序设计,主讲:冯毅,教材、参考书与课时安排,教材 C程序设计 谭浩强编著 清华大学出版社 参考书 C语言程序设计教程 谭浩强 高等教育出版社 C高级实用程序设计 王士元 清华大学出版社 课时安排 授课 :48学时 C综合编程训练:2周,上机安排 上机地点:计算中心机房 上机时间:第4、6、8、1018周的周四晚5:109:10 上机内容: 第4、6、8、1012周共24学时:随教学进度的基础训练(上机调试每次课堂作业) 第1318周共24学时:C编程训练大作业 要求: 所有作业必须独立完成 作业必须经上机调试通过 上机考勤3次缺席,按不及格处理 发现上机时间上网,按缺席一次处理,课程要
2、求,课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间,第一章 C语言概述,1.1 C语言发展历史 程序设计语言的发展,CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加10010000 减,用助记符号描述的指令系统 如 ADD A, B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,C语言程序设计 第一章 C语言概述,Ada,ALGOL60,ALGOL68,Pascal,Modu
3、la-2,CPL,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年国际标准的ANS
4、I C,C语言程序设计 第一章 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 unio
5、n void volatile 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(); FUNCT
6、ION 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语言程序
7、设计 第一章 C语言概述,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
8、;sum=add(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;j1
9、0;j+)sum+=i*j ;printf(“%dn”,sum); ,优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行,结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码,例: /*This is the main /* of example1.1*/ */,编译预处理命令,C语言程序设计 第一章 C语言概述,1.4 C程序的上机步骤 C程序开发步骤,file.
10、exe,C语言程序设计 第一章 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-块
12、拷贝 Ctrl+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设备管理程
13、序:IO.SYS 或 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.XY
14、Z TEXTS.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语言程序设计 第
15、一章 C语言概述,DOS目录 用途: 对文件进行有效组织管理 树型目录结构,根目录,子目录,例 绝对路径 USERZHAODOCch1.doc,例 若当前目录为TC相对路径 INCLUDEstdio.h,C语言程序设计 第一章 C语言概述,常用的内部命令: DIR 显示磁盘文件目录 COPY 拷贝文件 TYPE 显示文本文件 RENAME 更改文件名 DEL 删除磁盘文件 DATE 显示和设置日期 TIME 显示和设置时间 CLS 清除显示屏幕,常用的外部命令: FORMAT 磁盘格式化 DISKCOPY 软盘间拷贝 XCOPY 拷贝目录和文件 PRINT 打印文件 FDISK 硬盘分区,DO
16、S命令 内部命令:在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语言概述,