1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,谭浩强c语言设计第二版c1,教材、参考书与课时安排,教材,C程序设计,谭浩强编著 清华大学出版社,参考书,C,语言程序设计教程 谭浩强 高等教育出版社,C高级实用程序设计 王士元 清华大学出版社,课时安排,授课 :32学时,C,综合编程训练:32学时,上机安排,上机地点:计算中心机房,上机时间:第2、4、6、8、10、12、14、16、18周,上机内容:,第2、4、6、8、10、12、14、16、18周共18学时:随教学进度的基础训练(上机调试每次课堂作业),要求:,所有作业必须,独立,完成,作业必须经,上机调
2、试通过,上机考勤,3次,缺席,按不及格处理,发现上机时间,上网,,按缺席一次处理,课程要求,课前请做好预习,保持课堂安静,头脑清醒,思维活跃,认真、独立、按时完成并提交作业,重视上机实践,有效利用宝贵的上机时间,第一章 C语言概述,C语言发展历史,C,语言特点,C,程序格式和结构特点,C程序上机步骤,1.1,C语言发展历史,程序设计语言的发展,机器语言,汇编语言,高级语言,面向过程,面向对象,CPU,指令系统,由0、1序列构成的指令码组成,如:10000000 加,10010000 减,用助记符号描述的指令系统,如 ADD A,B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,
3、对象是类的实例,对象是数据和方法的封装,对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,冯.诺依曼结构,:,计算机,运算器,控制器,存储器,主机:,I/O,设备:键盘、显示器等,中央处理器,CPU,C语言程序设计,第一章 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,ALGOL60,ALGOL68,Pascal,Modula-2,CPL,BCPL,B,C,C+,Java,LISP,PROLOG,COBOL,FORTRAN77,FORTRAN,PL/1,Simu
4、la 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语言程序设计,第一章 C语言概述,1.2,C,语言特点,语言简洁、紧凑、灵活,运算符和数据类型丰富,程序设计结构化、模块化,生成目标代
5、码质量高,可移植性好,中级语言,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()
6、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:ARRAY1.10 OF INTEGER,定义整型数组a,int f();,FUNCTION f():INTEGER,定义f为返值整型的函数,int*p;,VAR p:,INTEGER,定义p为指向整型变量的指针,i
7、2;,i=i+2,赋值i+2,i,i+,+i;,i=i+1,i,自增值,结论:C比 Pascal简练,源程序短,。,=!=,逻辑运算符:!&|,位运算符 :|&,赋值运算符:=及其扩展,条件运算符:?:,逗号运算符:,指针运算符:*&,求字节数 :sizeof,强制类型转换:(类型),分量运算符:.-,下标运算符:,其它 :()-,C语言程序设计,第一章 C语言概述,C,数,据,类,型,基本类型,构造类型,指针类型,空类型void,定义类型typedef,数值类型,字符类型char,枚举类型enum,整 型,浮点型,单精度型float,双精度型double,短整型short,长整型lon
8、g,整型int,数组,结构体struct,共用体union,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,(,a,b,);,printf,(,”sum=,%dn,sum,);,/*This function calculates the sum of x and y
9、/,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+=i*j;,printf(“%dn”,sum);,优秀程序员的素质之一:,使用,TA
10、B,缩进,对齐,有足够的注释,有合适的空行,结构特点,函数与主函数,程序由一个或多个函数组成,必须有且只能有一个主函数,main,(),程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。,程序语句,C,程序由语句组成,用“,;,”作为语句终止符,注释,/*/,为注释,不能嵌套,不产生编译代码,例:/*This is the main /*of example1.1*/*/,非法,编译预处理命令,C语言程序设计,第一章 C语言概述,编辑,链接,编译,执行,1.4,C,程序的上机步骤,C,程序开发步骤,file.exe,C语言程序设计,第一章 C语言概述,程序代码的录入,生成
11、源程序,*.c,语法分析查错,翻译,生成目标程序,*.obj,与其它目标程序或库,链接装配,生成可执行,程序,*.exe,Turbo C集成开发环境,配置要求,UNIX,PC-DOS,MS-DOS,UCDOS,操作系统,硬盘容量约2M,448K RAM运行空间,安装Turbo C,创建子目录,Install,若不是可安装盘,将文件拷贝到对应的目录下,TC,*.*,INCLUDE,LIB,*.*,SYS,*.*,C语言程序设计,第一章 C语言概述,进入Turbo C,D:TC,TC,.exe,主控菜单,文件操作FILE:,New,Load,Save,Write to,编辑操作EDIT:,插入/修
12、改,块,查找/替换,编译链接,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,-,块开始标记,Ctr
13、l+KK,-,块结束标记,Ctrl+KC,-,块拷贝,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,基本概念,对计算机系统软硬件资源进行控制与管理,是
14、用户和计算机间的接口,MS-DOS和PC-DOS,DOS的组成,引导程序,I/O设备管理程序:IO.SYS,或 IBMBIO.COM,文件管理和功能调用程序:,MSDOS.SYS,或IBMDOS.COM,命令处理程序:COMMAND.COM,C语言程序设计,第一章 C语言概述,DOS,文件,文件概念:存储在磁盘上的一组相关信息,文件名:,文件标识符.扩展名,文件名中的通配符,用途:指定文件组,避免重复操作,?与 *,最长,8,个字符,可用字符:,英文字母,数字,09,其它字符:,$_!#%&(),等,不可用字符:,“,./:|+=;,空格,DOS,设备名:,CON LPT1 PRN AUX C
15、OM,NUL A,:,Z,:,例 磁盘上有如下文件:,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.,*.*,所有文件,可省略,13,个字符,表示文件类型,DOS中常用扩展名及其表示文件类型,.COM 系统程序文件,.EXE 可执行文件,.BAT 批处理文件,.B
16、AK 备份文件,.TXT 文本文件,.SYS 系统文件,.OBJ 目标文件,.LIB 库文件,.DAT,数据文件,.C C源程序文件,C语言程序设计,第一章 C语言概述,DOS,目录,用途:对文件进行有效组织管理,树型目录结构,USER,DOS,TC,WANG,ZHAO,ZHANG,INCLUDE,LIB,DOC,EXE,CODE,SYS,根目录,子目录,当前目录,:,用户目前正在其中工作的目录,路径,绝对路径,:以根目录为起点的路径,相对路径,:从当前目录开始的路径,例 绝对路径 USERZHAODOCch1.doc,例 若当前目录为TC,相对路径 INCLUDEstdio.h,C语言程序设
17、计,第一章 C语言概述,常用的内部命令:,DIR,显示磁盘文件目录,COPY,拷贝文件,TYPE,显示文本文件,RENAME,更改文件名,DEL,删除磁盘文件,DATE,显示和设置日期,TIME,显示和设置时间,CLS,清除显示屏幕,常用的外部命令:,FORMAT,磁盘格式化,DISKCOPY,软盘间拷贝,XCOPY,拷贝目录和文件,PRINT,打印文件,FDISK,硬盘分区,DOS,命令,内部命令:在COMMAND.COM中,驻留内存,外部命令:以文件形式驻留在磁盘(.com .exe .bat),DOS命令格式:,命令名 参数选择项,例,A:FORMAT A:/S/V,格式化A驱软盘,将D
18、OS系统文件存入,,并为其加上卷标,常用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语言概述,






