1、C语言概述算法数据类型、运算符与表达式、位运算顺序结构程序设计选择结构程序设计循环结构程序设计数组函数、预处理命令指针结构体与共用体文件教学内容教材C语言程序设计(第三版)谭浩强参考书目1、张毅坤等编著:、张毅坤等编著:C C语言程序设计教程语言程序设计教程,西安交通大,西安交通大学出版社,学出版社,20032003年年4 4月版。月版。2、谭浩强等编著:、谭浩强等编著:C C程序设计程序设计(第二版第二版),清华大学出,清华大学出版社,版社,19991999年年1212月版。月版。3 3、教育部考试中心:教育部考试中心:程序设计(程序设计(C C语言)教程语言)教程,清华,清华大学出版社,大
2、学出版社,20002000年年2 2月版。月版。4 4、Brian W.Kernighan,Dennis M.Ritchie Brian W.Kernighan,Dennis M.Ritchie 著,徐宝著,徐宝文、李志译:文、李志译:The C Programming LanguageThe C Programming Language,机械,机械工业出版社,工业出版社,20042004年年1 1月版。月版。5 5、苏小红等编著:苏小红等编著:C C 语言程序设计教程语言程序设计教程,电子工业,电子工业出版社,出版社,20022002年年6 6月版。月版。6 6、刘瑞新、曹建春、沈淑娟等编著
3、:、刘瑞新、曹建春、沈淑娟等编著:C C 语言程序设计语言程序设计教程教程,机械工业出版社,机械工业出版社,20042004年年8 8月。月。上机安排v上机地点:v上机内容:1、Turbo C源程序的编辑、编译、调试和运行;2、数据类型、运算符与表达式、输入与输出;3、选择结构程序设计;4、循环结构程序设计;5、数组;6、函数的定义及调用、变量的存储属性;7、指针课程要求课前请做好预习保持课堂安静,头脑清醒,思维活跃认真、独立、按时完成并提交作业重视上机实践,有效利用宝贵的上机时间第一章 C语言概述C语言发展历史C语言特点C程序格式和结构特点C程序上机步骤1.1 C语言发展历史程序设计语言的发
4、展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象 C语言程序设计 第一章第一章 C C语言概述语言概述52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCP
5、L BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN90C语言发展过程v产生背景 希望找到一种兼具高级语言和低级语言优点的语言来提高系统软件的可读性和可移植性。v产生过程l时间:19721973l地点:美国贝尔实验室l目的:UNIX操作系统l设计人:Ken.Thompson和Dennis.M.RitchievC标准l标准C:K&R合著The C Programming LanguagelANSI C:1983年l87 ANSI C:1987年l1990年
6、国际标准的ANSI C C语言程序设计 第一章第一章 C C语言概述语言概述1.2 C语言特点语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化语法限制不太严格,程序设计自由度大生成目标代码质量高可移植性好中级语言 C语言程序设计 第一章第一章 C C语言概述语言概述32个关键字:(auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch ty
7、pedef unsigned union voidvolatile while C语言程序设计 第一章第一章 C C语言概述语言概述9种控制语句:if()elsefor()while()dowhile()continuebreakswitchgotoreturn C语言程序设计 第一章第一章 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:ARRAY1.10 OF INTEGER 定义整型数组ain
8、t f();FUNCTION f():INTEGER 定义f为返值整型的函数int*p;VAR p:INTEGER 定义p为指向整型变量的指针i+=2;i=i+2 赋值i+2ii+,+i;i=i+1 i自增值结论:C比 Pascal简练,源程序短。C语言程序设计 第一章第一章 C C语言概述语言概述34种运算符:算术运算符:+-*/%+-关系运算符:=!=逻辑运算符:!&|位运算符 :|&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数 :sizeof强制类型转换:(类型)分量运算符:.-下标运算符:其它 :()-C语言程序设计 第一章第一章 C C语言概述语言概述
9、C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整 型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体union C语言程序设计 第一章第一章 C C语言概述语言概述1.3 C程序格式和结构特点例1.1 第一个程序 Hello,World!/*example1.1 The first C Program*/#include main()printf(“Hello,World!”);C语言程序设计 第一章第一章 C C语言概述语言概述注释编译预处理函数语句输出:Hello
10、,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(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语言概述语言概述格式特点v习惯用
11、小写字母,大小写敏感v不使用行号,无程序行概念v可使用空行和空格v常用锯齿形书写格式 C语言程序设计 第一章第一章 C C语言概述语言概述main().main()int i,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+)sum+=i*j;printf(“%dn”,sum);优秀程序员的素质之一:使用TAB缩进 对齐 有足够的注释 有合适的空行结构特点v函数与主函数l程序由一个或多个函数组成l必须有且只能有一个主函数main()l程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。v程序语句lC程序由语句组成l用“;”作为语句终止符v注
12、释l/*/为注释,不能嵌套l不产生编译代码例:/*This is the main /*of example1.1*/*/非法v编译预处理命令 C语言程序设计 第一章第一章 C C语言概述语言概述编辑链接编译执行1.4 C程序的上机步骤C程序开发步骤 开 始 编 辑 编 译 连 接 执 行 有错?结果正确?结 束有源程序 file.c目 标 程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exe C语言程序设计 第一章第一章 C C语言概述语言概述程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.e
13、xe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exeTurbo C集成开发环境v配置要求lUNIX,PC-DOS,MS-DOS,UCDOS操作系统l硬盘容量约2M,448K RAM运行空间v安装Turbo Cl创建子目录lInstalll若不是可安装盘,将文件拷贝到对应的目录下TC*.*INCLUDELIB*.*SYS*.*C语言程序设计 第一章第一章 C C语言概述语言概述v进入Turbo ClD:TCTC.exel主控菜单u文件操作FILE:New Load Save Write tou编辑操作EDIT:插入/修改 块 查找/替换
14、u编译链接COMPILE LINK MAKEu执行RUNv退出Turbo ClAlt +xlAlt+F ,Qv帮助HelplF1lCtrl+F1 C语言程序设计 第一章第一章 C C语言概述语言概述基本操作:F10-调用主菜单F2-存盘F3-打开Alt+F9-CompileCtrl+F9-RunAlt+F5-User Screenv常用热键文本编辑:-移动光标PgUp,PgDn-上下翻页Ctrl+PgUp,Ctrl+PgDn-文件首尾Home End Ddelete Insert Bkspace块操作:Ctrl+KB-块开始标记 Ctrl+KK-块结束标记Ctrl+KC-块拷贝 Ctrl+KV
15、-块移动Ctrl+KY-块删除 Ctrl+KH-块隐藏程序调试:F8-Step over F7-Trace intoF4-Goto Cursor Ctrl+F7-Add WatchCtrl+F8-Toggle Breakpoint Ctrl+F2-Program Reset窗口操作:F5-窗口缩放F6-窗口切换 C语言程序设计 第一章第一章 C C语言概述语言概述思考1:标识符的有效长度Turbo C规定标识符的有效长度为132个字符。思考2:C语言区分大小写吗?在C语言中字母大小写是有区别的。如COUNT,Count,count为3个不同的标识符。预备知识:DOS(Disk Operatin
16、g System)基础DOS基本概念v对计算机系统软硬件资源进行控制与管理v是用户和计算机间的接口vMS-DOS和PC-DOSDOS的组成v引导程序vI/O设备管理程序:IO.SYS 或 IBMBIO.COMv文件管理和功能调用程序:MSDOS.SYS或IBMDOS.COMv命令处理程序:COMMAND.COM C语言程序设计 第一章第一章 C C语言概述语言概述DOS文件v文件概念:存储在磁盘上的一组相关信息v文件名:文件标识符文件标识符.扩展名扩展名 v文件名中的通配符l用途:指定文件组,避免重复操作l?与 *u最长8个字符u可用字符:英文字母数字09其它字符:$_!#%&()等u不可用字
17、符:“./:|+=;,空格uDOS设备名:CON LPT1 PRN AUX COM NUL A:Z:例 磁盘上有如下文件:ABCD.XYZ CBCD.XYZABCT.XYZ ABTTS.XYZABID.XYZ TEXTS.TXTABYD.TXT ABCD.BAS1.?B?D.XYZ 2.AB*.XYZABCD.XYZ ABCD.XYZABID.XYZ ABCT.XYZCBCD.XYZ ABID.XYZ ABTTS.XYZ3.*.TXTABYD.TXTTEXTS.TXT4.*.*所有文件u可省略u13个字符u表示文件类型DOS中常用扩展名及其表示文件类型.COM 系统程序文件.EXE 可执行文件
18、.BAT 批处理文件.BAK 备份文件.TXT 文本文件.SYS 系统文件.OBJ 目标文件.LIB 库文件.DAT 数据文件.C C源程序文件 C语言程序设计 第一章第一章 C C语言概述语言概述DOS目录v用途:对文件进行有效组织管理v树型目录结构根目录子目录当前目录:用户目前正在其中工作的目录路径绝对路径:以根目录为起点的路径相对路径:从当前目录开始的路径例 绝对路径 USERZHAODOCch1.doc例 若当前目录为TC 相对路径 INCLUDEstdio.h C语言程序设计 第一章第一章 C C语言概述语言概述常用的内部命令:DIR 显示磁盘文件目录COPY 拷贝文件TYPE 显示
19、文本文件RENAME 更改文件名DEL 删除磁盘文件DATE 显示和设置日期TIME 显示和设置时间CLS 清除显示屏幕 常用的外部命令:FORMAT 磁盘格式化DISKCOPY 软盘间拷贝XCOPY 拷贝目录和文件PRINT 打印文件FDISK 硬盘分区DOS命令v内部命令:在COMMAND.COM中,驻留内存v外部命令:以文件形式驻留在磁盘(.com .exe .bat)vDOS命令格式:命令名 参数选择项例 A:FORMAT A:/S/V格式化A驱软盘,将DOS系统文件存入,并为其加上卷标v常用DOS命令系统服务命令:DATE 显示和设置日期TIME 显示和设置时间CLS 清屏幕目录操作
20、命令:DIR 显示目录清单 例 C:DIR A:*.C /PMD 建立子目录 例 C:MD WINZIPCD 改变当前目录 例 C:CD TCRD 删除子目录 例 C:RD USERWANGTREE 显示目录结构 例 C:TREE C:/F文件操作命令:TYPE 显示文件内容 例 C:TYPE A:HELLO.C REN 更改文件名 例 C:REN C:*.TXT *.TMPDEL 删除文件 例 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 C语言概述语言概述