《大学C语言程序设计课件第1章.ppt》由会员分享,可在线阅读,更多相关《大学C语言程序设计课件第1章.ppt(41页珍藏版)》请在三一办公上搜索。
1、C 程序设计(第三版),新世纪计算机基础教育丛书 主编 谭浩强,我的联系方式,王华电话:2216532 3981192(家)QQ:345521553,上机安排,总 目 录,第1章C语言概述第2章程序的灵魂算法第3章数据类型、运算符与表达式第4章最简单的C程序设计顺序程序设计第5章选择结构程序设计第6章循环控制第7章数组第8章函数,第9章预处理命令第10章指针第11章结构体与共用体第12章位运算第13章文件第14章常见错误和程序调试,第1章 C语言概述,1.1 C语言出现的历史背景1.2 C语言的特点1.3 简单的C程序介绍1.4 C程序的上机步骤1.5 习题,1.1 C语言出现的历史背景,C语
2、言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60。三个阶段:K&R C(1973)K&R:1978,ANSI C(1983)ANSI C(1987)C 99(1999),早期C、UNIX的发展,BCPL,B,New B,早期C,1965-1967,1969,1971,1972-3,UNIX(汇编语言PDP-7),UNIX(汇编语言PDP-11),UNIX(C),1.2 C语言的特点,一种语言之所以能存在和发展,并具有生命力,总是有其不同于(或优于)其他语言的特点。C语言的主要特点如下。(1)语言简
3、洁、紧凑,使用方便、灵活。C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。(2)运算符丰富。C的运算符包含的范围很广泛,共有34种运算符。C把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。,(3)数据结构丰富,具有现代化语言的各种数据结构。C的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。尤其是指针类型数据,使用起来比PASCAL更为灵活、多样。(4)具
4、有结构化的控制语句(如ifelse语句、while语句、dowhile语句、switch语句、for语句、goto、continue、break、return)。用函数作为程序的模块单位,便于实现程序的模块化。C是良好的结构化语言,符合现代编程风格的要求。,(5)语法限制不太严格,程序设计自由度大。“限制”与“灵活”是一对矛盾。限制严格,就失去灵活性;而强调灵活,就必然放松限制。一个不熟练的编程人员,编一个正确的C程序可能会比编一个其他高级语言程序难一些。也就是说,对用C语言的人,要求对程序设计更熟练一些。价值2000万的bug x=2;C语言能进行位(bit)操作,能实现汇编语言的大部分功能
5、,可以直接对硬件进行操作。因此C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。生成目标代码质量高,效率高(嵌入式系统),有人把C称为“高级语言中的低级语言”或“中级语言”,意为兼有高级和低级语言的特点。按此观点可将各语言分类如下:高级:BASIC,FORTRAN,COBOL,PASCAL,Ada,Modula-2;中级:C,FORTH,宏汇编;低级:汇编语言一般仍习惯将C语言称为高级语言,因为C程序也要通过编译、连接才能得到可执行的目标程序,这是和其他高级语言相同的。C的以上特点,读者现在也许还不能深刻
6、理解,待学完C以后再回顾一下,就会有比较深的体会。,从掌握语言的难易程度来看,C语言比其他语言难一些。BASIC是初学者入门的较好的语言,FORTRAN也比较好掌握。对科学计算多用FORTRAN或PL/;对商业和管理等数据处理领域,用COBOL为宜。C语言虽然也可用于科学计算和管理领域,但并不理想,C的特长不在这里。对操作系统和系统实用程序以及需要对硬件进行操作的场合,用C语言明显地优越于其他高级语言,有的大型应用软件也用C语言编写。国家计算机等级考试(NCRE):二级(C、C+、Java、VB、Delphi、VF、Access)三级PC技术信息管理技术数据库技术网络技术,1.3 简单的C程序
7、介绍,下面先介绍几个简单的C程序,然后从中分析C程序的特性。例 1.1#include void main()printf(This is a C program.n);本程序的作用是输出以下一行信息:This is a c program.其中 main 表示“主函数”。每一个C程序都必须有一个 main 函数。函数体由大括弧括起来。本例中主函数内只有一个输出语句,printf是C语言中的输出函数(详见第4章)。双引号(双括号)内的字符串原样输出。“n”是换行符,即在输出“This is a c program.”后回车换行。语句最后有一分号。,例 1.2#include main()/*求
8、两数之和*/int a,b,sum;/*这是定义变量*/a=123;b=456;/*以下3行为C语句*/sum=a+b;printf(sum is%d/n,sum);本程序的作用是求两个整数a和b之和sum。sum is 579,例1.3#include main()/主函数 int a,b,c;/声明部分,定义变量/scanf(%d,%d,/*将z的值返回,通过max带回调用处*/,通过以上几个例子,可以看到:(1)C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。被调用的函数可以是系统提供的库函数(例如pr
9、intf和scanf函数),也可以是用户根据需要自己编制设计的函数,(2)一个函数由两部分组成:函数的首部,即函数的第一行。包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。例如,例1.3中的max函数的首部为int max(int x,int y)函数类型 函数名 函数参数类型 函数参数名 函数参数类型 函数参数名,一个函数名后面必须跟一对圆括弧,函数参数可以没有,如main()。函数体,即函数首部下面的大括弧内的部分。如果一个函数内有多个大括弧,则最外层的一对 为函数体的范围。函数体一般包括:声明部分:在这部分中定义所用到的变量,如例1.3中main函数中的“int a,b,c
10、;”。在第8章中还将会看到,在声明部分中要对所调用的函数进行声明。执行部分:由若干个语句组成。,当然,在某些情况下也可以没有声明部分(例如,例1.1)。甚至可以既无声明部分,也无执行部分。如:void a()它是一个空函数,什么也不干,但这是合法的。(3)一个C程序总是从main函数开始执行的。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。,(5)每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成部分。例如:c=a+b;分号不可少。即使是程序中最后一个语句也应包含分号。(6)C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等
11、函数来完成的。(7)可以用/*/或者/(表示从/开始到本行末尾)对C程序中的任何部分作注释。,1.4 C程序的上机步骤,程序(program):就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。程序可以用高级语言(例如QBASIC,FORTRAN,PASCAL,C等)编写。源程序(source program):用高级语言编写的程序称为“源程序”。编译软件(compile):为了使计算机能执行高级语言源程序,必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”,然后将该目标程序与系统的函数库和其他目标程序连接(link)起来,形成可执行的目标程序。,图1
12、.1,下面分别就三种不同的环境下运行C程序作一简单介绍。1.用Turbo C 运行C程序的步骤Turbo C是在微机上广泛使用的编译程序。它具有方便、直观、易用的界面和丰富的库函数。它向用户提供一个集成环境,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,使用十分方便。为了能使用Turbo C,必须先将Turbo C编译程序装入磁盘的某一目录下,例如放在C盘根目录下一级TC子目录下。,图1.2,(1)调用 Turbo C程序。如果用户的当前目录是Turbo C编译程序所在的子目录(例如TC子目录),只需从键盘键入“tc”命令即可:,C:TCtc 屏幕上出现Turbo C集成环境,
13、见图1.2所示。从图1.2可以看到在集成环境的上部,有一行“主菜单”,其中包括下面8个菜单项:File Edit Run Compile Project Option Debug break/watch用户可以通过以上菜单项来选择使用Turbo C集成环境所提供的Turbo C的各项主要功能。以上8个菜单项分别代表:文件操作、编辑、运行、编译、项目文件、选项、调试、中断/观察等功能。用键盘上的“”和“”键可以选择菜单条中所需要的菜单项,被选中的项以“反相”图1.3形式显示,(例如主菜单中的各项原来以白底黑字显示,被选中时改为以黑底白字显示)。此时若按回车键,就会出现一个下拉菜单。例如在选中“F
14、ile”菜单并按回车键后,屏幕上“File”下面出现下拉菜单,见图1.3所示。它是一个子菜单,提供多项选择。可以用“”键选择所需要的项。例如选择“New”处,并按回车键,表示要建立一个新的C源程序。,图1.3,如果选择“Load”,并按回车键,表示要调入一个已有的源文件,此时屏幕上出现一个对话框(见图1.4)。要求你输入该文件的名字。用户可输入该文件名,例如:tc1.c,如果已存在此文件,则系统会将此文件调入内存并显示在屏幕上。此时自动转为编辑(Edit)状态。如果原来不存在此文件名,则系统会建立一个以指定的名字命名的新文件。,图1.4,(2)编辑源文件。在编辑(Edit)状态下可以根据需要输
15、入或修改源程序。(3)编译源程序。选择“Compile”菜单并在其下拉菜单中选择“Compile to OBJ”,则进行编译,得到一个后缀为.obj的目标程序(为方便起见,在一般书刊中,以上菜单的选择以“Compile/Compile to OBJ”表示)。然后再选菜单“Compile/Link EXE file”,进行连接操作,可得到一个后缀为.exe的可执行文件。也可以将编译和连接合为一个步骤进行。选菜单“Compile/Make EXE file”或按“F9”键,即可一次完成编译和连接。在屏幕上会显示编译或连接时有无错误和有几个错误,见图1.5所示。此时按任何一个键,图1.5所显示的“编
16、译信息框”会,图1.5,消失,屏幕上会恢复显示源程序,光标停留在出错之处。在屏幕的下半部分显示出有错误的行和错误的原因。根据此信息修改源程序。修改完毕认为无错后,再按“F9”,再次进行编译和连接,如此反复进行到不显示出错为止。,(4)执行程序。按“F10”键,在窗口上部的主菜单中某一项处出现“反相”显示(黑色亮块)。File Edit Run Compile Project Option Debug Break/watch用“”键将亮块移到“Run”,按回车键,在其下拉菜单中选择“Run”项,或直接按Ctrl+F9键,系统就会执行已编译好的目标文件。此时,TC集成环境窗口消失,屏幕上显示出程序
17、运行时输出的结果。如果程序需要输入数据(如例1.3),则应在此时,从键盘输入所需数据,然后程序会接着执行,输出结果。如果发现运行结果不对,要重新修改源程序,可以再按“F10”键,并用“”使亮块移到“Edit”处,,2VC上机步骤,VC6全称Visual C+6.0本质上是微软32位Windows应用开发平台,C语言基础课仅仅使用它编写控制台应用程序。按照VC6的设计思路,编写一个软件需要生成若干文件,不仅仅是源代码。1、工作空间(workspace):一个容器,用来包含生成软件所需要的所有原始内容。体现为一个文件夹,内含.dsw工作空间文件,以及所有其他相关文件。2、工程(project):二
18、级容器,用来包含生成一个最终产品文件(一般是.exe、.dll或.lib)所需要的所有原始内容。根据软件规模,一个工作空间可以包含一个或者多个工程,每个工程体现为一个.dsp工程文件,放在相应的工作空间文件夹内。根据C语言基础课的教学需要,编写的都是相对短小简单的小程序,因此一般情况下都是建立一个工作空间,包含唯一工程并且与工作空间同名,工程内包含唯一的源代码文件。具体步骤如下:1、打开VC2、“文件”菜单-新建(图1)-工程-Win32 Console Application-输入工程名称并选定位置-确定(图2)-完成(图3)-确定3、“文件”菜单-新建(图1)-文件-C+Source File-取名-确定(图4)4、输入源代码-F7(Build)(图5)-若有错误则修改之(图5)/若无错误则Ctrl+F5(Run)运行之(图6),以下叙述正确的是 A)C程序中,main函数必须位于程序的最前面B)C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)对C程序进行编译的过程中,可以发现注释中的拼写错误,上机作业:1.5 请参照本章例题,编写一个C程序,输出以下信息:*Very good!*1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。,