1、谭浩强编著谭浩强编著 清华大学出版社出版清华大学出版社出版封面信息工程学院信息工程学院:赵新灿赵新灿E-mail: 一、学习一、学习C语言的重要性语言的重要性 是国际上最流行的是国际上最流行的高级语言高级语言之一。它既适合于用之一。它既适合于用来开发来开发系统软件系统软件,也可用来开发,也可用来开发应用软件应用软件。是本专业学习的需要是本专业学习的需要 是国家计算机程序员水平考试的必考内容。是国家计算机程序员水平考试的必考内容。二、课程目标二、课程目标:v熟记熟记C语言的基本概念语言的基本概念v熟悉熟悉VC+6.0的上机操作环境(的上机操作环境(TC)v会读、会编、会调试会读、会编、会调试C程
2、序程序三、学习的方法三、学习的方法 上课认真听讲,熟记上课认真听讲,熟记C语言的语法、句法语言的语法、句法 上机前精心准备,上机好好练习上机前精心准备,上机好好练习;平时加强实践应用。平时加强实践应用。四、课程安排四、课程安排 理论讲解。理论讲解。上机实践。上机实践。五五、考核方式、考核方式:考试占考试占70%70%,采用机试;,采用机试;平时占平时占30%,30%,包括考勤包括考勤,作业作业 上机时间 实习时间 实习地点 周一(七、八节)1机房 周五(五、六节)5机房 周五(七、八节)(单周)3、4机房六六 学习要点学习要点:v熟记熟记C语言的语法、句法语言的语法、句法v学会算法分析与算法设
3、计学会算法分析与算法设计七七 课程重点课程重点:v 第三章第三章第八章第八章八八 课程难点课程难点:v 第八章、第十章第八章、第十章补充:补充:程序语言程序语言1.1 语言的出现的历史背景语言的出现的历史背景1.2 C语言的特点语言的特点1.3 简单简单C语言程序介绍语言程序介绍1.4 运行运行C语言的步骤与方法语言的步骤与方法第1章 语言概述机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据
4、和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象补充补充:程序设计语言的发展程序设计语言的发展程序语言的发展程序语言的发展低级语言(低级语言(依赖于硬件,可读性和可移植性较差依赖于硬件,可读性和可移植性较差)第一代语言:机器语言第一代语言:机器语言-采用二进制;采用二进制;第二代语言:汇编语言第二代语言:汇编语言-采用助记符。采用助记符。高级语言,即第三代语言,又称高级语言,即第三代语言,又称面向过程面向过程的语言的语言-只描只描述问题的求解过程,而不关心计算机的内部结构。述问题的求解过程,而不关心计算机的内部结构。用类似自然语言的形式描述对问题的处理过程;用类
5、似自然语言的形式描述对问题的处理过程;用数学表达式的形式描述对数据的计算过程。用数学表达式的形式描述对数据的计算过程。第四代语言(第四代语言(非过程化语言非过程化语言),又称),又称面向对象面向对象的语言的语言-只要求告诉计算机做什么,不规定其做的过程。只要求告诉计算机做什么,不规定其做的过程。1.1 语言的出现的历史背景语言的出现的历史背景CPLCPL语言语言BCPLBCPL语言语言B B语言语言C C语言语言C+C+语言语言规模较大,难以实现规模较大,难以实现无数据类型无数据类型接近硬件,但过于简单,功能有限接近硬件,但过于简单,功能有限用其编写了用其编写了UNIXUNIX操作系统操作系统
6、功能更强大,面向对象功能更强大,面向对象1.2 C语言的特点v 语言简洁,紧凑,方便,灵活(语言简洁,紧凑,方便,灵活(32个关键字)个关键字)v 运算符丰富(运算符丰富(34种运算符)种运算符)v 数据类型丰富(数据类型丰富(整、实、字符、数组、指针、结构、共用体等整、实、字符、数组、指针、结构、共用体等)v 具有结构化的控制语句(顺序、分支、循环)具有结构化的控制语句(顺序、分支、循环)v 语法限制不太严格,程序设计自由读度大语法限制不太严格,程序设计自由读度大v 既具有高级语言的功能,又具有低级语言的功能既具有高级语言的功能,又具有低级语言的功能v 生成目标代码质量高,程序运行效率高。生
7、成目标代码质量高,程序运行效率高。v 可移植性好可移植性好例1.1 第一个程序 Hello,World!/*example1.1 The first C Program*/#include main()printf(“Hello,World!”);注释编译预处理函数语句输出:Hello,World!1.3 简单的程序介绍简单的程序介绍例例.1 输出一行信息输出一行信息#include /*预处理命令预处理命令 */void main()/*主函数主函数 */printf(“This is a C program!n”);/*调用调用标准库函数标准库函数printf */1.3 简单的程序介绍简
8、单的程序介绍例例.求两个数之和求两个数之和#include“stdio.h”/*预处理命令预处理命令 */void main()/*主函数主函数 */int a,b,sum;a=123;b=456;sum=a+b;printf(Sum is%dn,sum);s例例1.3求两个数中的较大者求两个数中的较大者intint max(x,ymax(x,y)intint x,y;x,y;intint z;z;if(xy)z=x;if(xy)z=x;else z=y;else z=y;return(z);return(z);main()main()intint a,b,c;a,b,c;scanf(scan
9、f(%d%d%d%d,&a,&b,&a,&b););c=max(a,b);c=max(a,b);printf(printf(MaxMax=%dn=%dn,c);,c);1.3程序的结构程序的结构特点特点(1)C(1)C程序由函数构成。必须包含程序由函数构成。必须包含main函数函数 (只有一个),还可以有其他函数(只有一个),还可以有其他函数。(2)(2)一个函数由两个部分组成:一个函数由两个部分组成:函数的首部(说明部分)函数的首部(说明部分)函数类型、函数名、函数参数及参数类型函数类型、函数名、函数参数及参数类型 函数体函数体 声明部分及执行部分声明部分及执行部分(3)(3)C程序总是从程
10、序总是从main函数函数开始执行。开始执行。(4)(4)书写格式自由:一句可多行,也可一行多句,建议书写格式自由:一句可多行,也可一行多句,建议不要一行多句。不要一行多句。(5)语句以语句以分号结束分号结束.(6)C语言本身不带输入输出语句,必须通过调用语言本身不带输入输出语句,必须通过调用库函数库函数来实现输入输出来实现输入输出(7)以以/*/之间的内容是之间的内容是注释注释,不影响程序的执行,可增加程序的可读,不影响程序的执行,可增加程序的可读性。性。intint max(intmax(int x,intx,int y)y)intint z;z;if(xif(xy)z=x;y)z=x;el
11、se z=y;else z=y;return(zreturn(z););注意:注意:1.编译编译预处理命令预处理命令不属于不属于C语言本身的组成部语言本身的组成部 分。分。2.习惯上写程序时按习惯上写程序时按锯齿形锯齿形排列,以使层次分明。排列,以使层次分明。1.4 运行运行C语言的步骤与方法语言的步骤与方法编辑程序编译程序连接程序源程序目标程序可执行程序结果编辑编译连接运行.c.exe.obj1.4.1 运行运行C语言的步骤语言的步骤1.4.2 上机运行上机运行C程序程序(TC环境环境)u 进入TC集成开发环境 u 编辑源程序u源程序编译u目标程序连接 u 程序运行u退出TC环境(快捷键 A
12、lt+x)1.Visual C+简介简介 是是Windows 环境下最主要的应用开发系统之一环境下最主要的应用开发系统之一 是是C+语言的集成开发环境语言的集成开发环境 与与Win32紧密相连紧密相连 强大的调试功能为大型复杂软件的开发提供了有效的排错手段强大的调试功能为大型复杂软件的开发提供了有效的排错手段2.可视化可视化 指软件开发阶段的可视化指软件开发阶段的可视化 利用计算机图形技术和方法利用计算机图形技术和方法1.4.2 上机运行上机运行C程序程序(Visual C+环境环境)1.4.2 上机运行上机运行C程序程序(Visual C+环境环境)3.开发环境开发环境4.菜单简介菜单简介1
13、.4.2 上机运行上机运行C程序程序(Visual C+环境环境)5.创建简单程序创建简单程序“工程工程”的概念的概念用用Visual C+6.0 编写任何一个程序前都必须首先创建编写任何一个程序前都必须首先创建一个一个工程工程(project),一个工程就好像一个工作间,一个工程就好像一个工作间,以,以后这个程序所牵扯到的所有的文件、资源等元素都将后这个程序所牵扯到的所有的文件、资源等元素都将放入这个工程中,各个工程之间互不干扰。工程的概放入这个工程中,各个工程之间互不干扰。工程的概念使得我们的编程工作更有条理,更具模块化。念使得我们的编程工作更有条理,更具模块化。1.4.2 上机运行上机运
14、行C程序程序(Visual C+环境环境)5.创建简单程序创建简单程序(1)运行运行Visual C+6.0,选择,选择file 下的下的new 项,项,出出现选择界面,在现选择界面,在属性页中选择属性页中选择Projects 标签标签。(2)选择选择Win32 Console Application,然后在,然后在Project Name框中写入想要新建工程的名称,如框中写入想要新建工程的名称,如demo。(3)选择OK 按扭1.4.2 上机运行上机运行C程序程序(Visual C+环境环境)5.创建简单程序创建简单程序选选An empty project 单击单击Finish 按钮。按钮。
15、如果接受选择如果接受选择OK 按按钮,否则选择钮,否则选择Cancel 按钮。按钮。1.4.2 上机运行上机运行C程序程序(Visual C+环境环境)5.创建简单程序创建简单程序(4)生成一个源文件方法一、选择菜单命令Project|Add to Project|New,弹出New对话框。1.4.2 上机运行上机运行C程序程序(Visual C+环境环境)5.创建简单程序创建简单程序(4)生成一个源文件生成一个源文件方法二、右击“source files”,选择添加.c文件,弹出New对话框。1.4.2 上机运行上机运行C程序程序(Visual C+环境环境)5.创建简单程序创建简单程序(5
16、)编译链接编译链接(在菜单在菜单Build 中中)第一项第一项Compile,将编译,将编译,编译中发现错误,将在编译中发现错误,将在Output 窗口中显示出错窗口中显示出错的行以及出错信息的行以及出错信息。第二项第二项Build 来进行链接来进行链接生成可执行程序。生成可执行程序。选择选择Execute 项会运行项会运行程序。程序。1.4.2 上机运行上机运行C程序程序(Visual C+环境环境)6.打开已有程序打开已有程序方法一方法一启动启动VC 6.0,VC 6.0,使用使用“File”|”OPENFile”|”OPEN”,”,启动启动对话框,选择打开的文件。对话框,选择打开的文件。
17、方法二方法二在装有在装有VC 6.0VC 6.0的机器中,的机器中,双击程序文件。双击程序文件。1.进入TC集成开发环境方法一:方法一:如果桌面上有如果桌面上有TC的快捷方式,就的快捷方式,就双击。双击。方法二:方法二:桌面没有桌面没有TC的快捷方式的快捷方式 1.确定确定Turbo C 的安装子目的安装子目 录,例如录,例如d:tc 2.通过通过“开始开始”菜单的菜单的“运行运行”,键入,键入d:tctc方法三:方法三:找到找到Turbo C 的安装子目的安装子目 录,例如录,例如d:tc,双击双击tc.exe2.编辑源程序 新建源程序:按新建源程序:按Alt+F可进入可进入File,光标键
18、移动色棒,光标键移动色棒选选New新建文件新建文件,缺省文件名为缺省文件名为NONAME.C,可可改名,注改名,注意意TC2.0后缀后缀.c,TC3.0下下.cpp进入编辑状态进入编辑状态TC3.0 TC2.0中是中是 Load,TC3.0是是OPEN:装入一个装入一个C文件文件,会会让进行选择后,进入编辑状态让进行选择后,进入编辑状态n 选选Save 可保存可保存 Save as 另存。另存。n Os shell,暂时退出暂时退出T C 2.0到到DOS提示符下提示符下,此时可以此时可以运行命令运行命令,若想回到若想回到 T C 中中,只要键入只要键入EXIT即可。即可。n Quit:退出:
19、退出T C,其热键为其热键为Alt+X。进入编辑状态后,就进入编辑状态后,就可以写成程序,移动可以写成程序,移动光标光标按按Alt+C可进入可进入Compile菜单,菜单,选择选择Compile to OBJ:编译生成编译生成.OBJ目标文件目标文件,直接在编辑状态下按热键直接在编辑状态下按热键 Alt+F9。3.编译源程序按按Alt+C可进入可进入Compile菜单,菜单,选择选择Make EXE file:此命令生成一个此命令生成一个.EXE的文件的文件,接着接着选择选择Link EXE file:把当前把当前.OBJ文件及库文件连接在一起生文件及库文件连接在一起生成成.EXE文件。文件。直接在编辑状态下按热键直接在编辑状态下按热键 Alt+F9。4.连接目标程序按Alt+C可进入Compile菜单按按Alt+R可进入可进入Run菜单,选择菜单,选择Run:运行:运行直接在编辑状态下按热键直接在编辑状态下按热键 Alt+F9。5.执行程序看程序结果看程序结果,选择选择User screen,其热键为,其热键为Alt+F5,按任意键返回编辑状态按任意键返回编辑状态6.退出TC环境 方法一方法一 方法二方法二作业:作业:书面作业:书面作业:P13 T 3