第01章C语言概述.ppt
《第01章C语言概述.ppt》由会员分享,可在线阅读,更多相关《第01章C语言概述.ppt(142页珍藏版)》请在三一文库上搜索。
1、C 程序设计,第1章 C语言概述 第2章 程序的灵魂算法 第3章 数据类型、运算符与表达式 第4章 最简单的C程序设计 第5章 选择结构程序设计 第6章 循环控制 第7章 数组 第8章 函数,总 目 录,第9章 预处理命令 第10章 指针 第11章 结构体与共用体 第12章 位运算 第13章 文件 第14章 C+对C的扩充 第15章 C+的面向对象基础 第16章 常见错误和程序调试,第1章 C语言概述,1.1 C语言出现的历史背景 1.2 C语言的特点 1.3 简单的C程序介绍 1.4 C程序的上机步骤 1.5 习题,语言,C,带你认识,了解计算机语言的概念及其发展史 了解常见的高级语言 掌握
2、程序、源程序、目标程序的概念 理解C语言的基本特点和上机步骤,学习目标:,一、计算机语言的概念,计算机语言:是人和计算机 进行信息交流的工具,人们 可以使用计算机语言来 命令计算机进行各种操作 处理。,自然语言: 人与人之间进行交流的语言; 您好,Hello,。,二、计算机语言的发展,机器语言:由0和1二进制代码构成。,汇编语言:用一组易记的符号代表机器指令。,高级语言:接近于人们习惯使用的自然语言 和数学语言。又称为类自然语言。,例:“加”命令用二进制10110111表示。,例:“加”命令用add表示。,例:“加” 命令用 + 表示。,三、常见的高级语言及用途,C语言:编写系统软件,如编写U
3、NIX, Windows, Linux等操作系统. FORTRAN:用于数值计算,如微分方程数值解,比如气候模式,海洋模式,模拟核爆炸试验 VB:开发应用软件 JAVA:网络环境语言,编手机上的程序或游戏. C+、 VC+、Delphi、FoxPro,程序设计语言的发展,机器语言 汇编语言 高级语言 通用语言 fortran、 basic VB C C+ ( VC+ BC+ ) 数据库语言 foxbase 、FoxPro SQL Delphi Powerbuild 网页制作工具 HTML Java,1.1 C语言出现的历史背景,C语言是国际上广泛流行的计算机高级语 言,既可用来写系统软件,也可
4、用来写应 用软件。 早期的操作系统软件主要是用汇编语言 编写的。,由于汇编语言依赖于计算机的硬件,程 序的可读性和可移植性都比较差,所以 为了提高系统软件的可读性和可移植性 ,最好改用高级语言。 于是,出现了既具有高级语言又具有汇编语言优点的C语言。,1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSI C ,比标准C有了很大的发展。 1994年,ISO又修订了C语言标准。 目前流行的C语言编译系统大多是以ANSI C为基础进行开发的。 现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。,C语言的主要特点如下。 (1) 语言简洁、
5、紧凑,使用方便、灵活。 C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。,1.2 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,9种
6、控制语句: if( )else for( ) while( ) dowhile( ) continue break switch goto return,(2) 运算符丰富。 C语言的运算符包含的范围很广泛,共有34种运算符。 C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,表达式类型多样化。 灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。,34种运算符: 算术运算符: + - * / % + - 关系运算符: = != 逻辑运算符: ! & | 位运算符 : | & 赋值运算符: = 及其扩展 条件运算符: ?: 逗号运算符: , 指针运算符: *
7、 & 求字节数 : sizeof 强制类型转换: (类型) 分量运算符: . - 下标运算符: 其它 : ( ) -,(3) 数据结构丰富,具有现代化语言的各种数据结构。 C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。 能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。,语言数据类型总表,(4) 具有结构化的控制语句 (如ifelse语句、while语句、dowhile语句、switch语句、for语句)。 用函数作为程序的模块单位,便于实现程序的模块化。 C语言是良好的结构化语言, 符合现代编程风格的要求。,(5) 语法限制不太严格,程序设计自由
8、度大 例如、对数组下标越界不做检查,由程序编写者自己保证程序的正确。 对变量的类型使用比较灵活,例如整型数据与字符型数据可以通用。 一般的高级语言语法检查比较严,能检查出几乎所有的语法错误。 而C语言允许程序编写者有较大的自由度,因此,放宽了语法检查。,程序员应当仔细检查程序,保证其正确,而不要过分依赖C编译程序去查错。 “限制”与“灵活”是一对矛盾。 一个不熟练的编程人员,编一个正确的C程序可能会比编一个其他高级语言程序难一些。 也就是说,对用C语言的人,要求对程序设计更熟练一些。,限制严格,就失去灵活性; 而强调灵活,就必然放松限制。,C语言能进行位(bit)操作,能实现汇编语 言的大部分
9、功能,可以直接对硬件进行操作。 因此,C既具有高级语言的功能,又具有低级 语言的许多功能,可用来写系统软件。 C语言的这种双重性,使它既是成功的系统描 述语言,又是通用的程序设计语言。 有人把C称为“高级语言中的低级语言” 或“中 级语言”,意为兼有高级和低级语言的特点。,按此观点可将各语言分类如下: 高级: BASIC,C,VB, C+, Visual C+ 等; 中级: C , FORTH , 宏汇编 ; 低级: 汇编语言 一般仍习惯将C语言称为高级语言, 因为C程序也要通过编译、连接才能得到 可执行的目标程序,这是和其他高级语 言相同的。,在编制调试C语言程序过程中,会产生许多文件 ,其
10、文件类型一般有: .c(.cpp) -为编辑完保存后的C语言源程序文件; .h -为C语言提供的头文件,也可以自己编辑产生; .obj -C语言源程序经编译后产生的目标代码文件;.exe - C语言目标代码文件经连接后产生的可执行文件;.dat (.txt)- C语言中常用的数据文件; .bak - C语言源程序中备份文件; 这些不同的文件类型在上机时要注意观察和熟知,C语言程序的文件类型,TC-Turbo C(也指Turbo C+) VC- Microsoft Visual C+ BC- Borland C+ BCB- Borland C+ Builder MC- Microsoft C+
11、WC- Watcom C+,几种C语言程序设计的集成开发环境:, 1.3 简单的C程序介绍,下面先介绍几个简单的C程序,然后从中 分析C程序的特性。 例 1.1 输出一行信息,#include void main ( ) printf (“This is a C program.n“); ,本程序的作用是输出以下一行信息: This is a C program.,其中 main 表示是函数的名字,表示“主函数”。 main前 面的void表示此函数是“空类型”,void是“空”的意思, 即执行此函数后不产生一个函数值。每一个C语言程序都 必须有一个 main 函数. 函数体由大括弧 括起来。
12、本例中主函数内只有一个输 出语句,printf是C语言中的输出函数。双引号(双括号 )内的字符串原样输出。“n”是换行符,即在输出“This is a C program.”后回车换行。语句最后有一分号 ;, 在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明); 程序第一行 “#include ” 的作用就是: 用来提供这些信息的;,stdio.h是C编译系统提供的一个文件名 ,stdio是“standard input & output”的缩写,即有关标准输入输出的信息,在第9章中有详细的介绍。 在此只须记住: 在程序中用到系统提供的标准函数库
13、中 的输入输出函数时,应在程序的开头写 上下面的语句: #include ,例 1-2 求两数之和,#include void main ( ) /*求两数之和*/ 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,/*/表示注释部分,为便于理解,我们用汉字表示注释,当然也可以用英语或汉字拼音作注释。注释只是给人看的,对编译和运行不起作用。注释可以加在程序中任何位置。 第4行是声明部分, 定义变
14、量a和b,指定 a和b为整型(int)变量。 第5行是两个赋值语句,使a和b的值分别为123和456。,例1.3 求3个数中较大者 #include void main ( ) /* 主函数*/ int max(int x,int y); /* 对被调用函数max的声明*/ int a, b, c; /*声明部分,定义变量*/ scanf (“%d,%d“, /*将z的值返回,通过max带回调用处*/ ,#include void main ( ) /* 主函数*/ int max(int x,int y); /* 对被调用函数max的声明*/ int a, b, c; /*声明部分,定义变量
15、*/ scanf (“%d,%d“, /*将z的值返回,通过max带回调用处*/ ,本程序包括两个函数:主函数main和被调用的函数max。 max函数的作用是将x和y中较大者的值赋给变量z。 return (z)语句将z的值返回给主调函数main。返回值是通过函数名max带回到main函数的 调用处。程序第3行是对被调用函数max的声明,由于在main函数中要调用max函数,而 max函数的位置在main函数之后,为了使编译系统能够正确识别和调用max函数,必须在 调用max函数之前对max函数进行声明。 main函数中的scanf是“输入函数”的名字(scanf和printf都是C系统提供
16、的标准输入输出函 数)。程序中scanf函数的作用是输入a和b的值。 &a和&b中的“&”的含义是“取地址”, 此scanf函数的作用是:将两个数值分别输入到变量a和b的地址所标志的单元中,也就是 输入给变量a和b。&a和&b前面的“%d,%d”的含义与前相同,只是现在用于“输入”。,scanf (“%d,%d“,&a,&b)它指定输入的两个数据按十进制整数形式输入。关于scanf函数详见第4章。 main函数中第6行为调用max函数,在调用时将实际参数a和b的值分别传送给max函数中的形式参数x和y。 经过执行max函数得到一个返回值(即max函数中变量z的值),把这个值返回到调用max函数
17、的位置,然后把这个值赋给变量c。第7行输出变量c的值。 printf函数中双引号内的“max=%d”,在输出时,其中“%d”将由c的值取代之,“max =”原样输出。 程序运行情况如下: 8,5 (输入8和5给a和b) max=8 (输出c的值),本例用到了函数调用、实际参数和形式 参数等概念,我们只做了很简单的解释。 同学们如对此不大理解,可以先不予以 深究,在学到以后有关章节时,问题自 然迎刃而解。 在此介绍此例子,无非是使同学们对C 程序的组成和形式有一个初步的了解。,通过以上几个例子,可以看到: (1)C程序是由函数构成的。 一个C源程序至少包含一个main函数,也可 以包含一个mai
18、n函数和若干个其他函数。 因此,函数是C程序的基本单位。 被调用的函数可以是系统提供的库函数(例如 printf和scanf函数),也可以是用户根据需要 自己编制设计的函数(例如,例1.3中的max 函数)。,C的函数相当于其他语言中的子程序,用函 数来实现特定的功能。 程序中的全部工作都是由各个函数分别完成 的。 编写C程序就是编写一个个函数。 C的函数库十分丰富,ANSI C建议的标准库 函数中包括100多个函数,Turbo C和MS C 4.0提供300多个库函数。 C的这种特点使得容易实现程序的模块化。,例如,例1.3中的max函数的首部为 int max ( int x , int
19、y ) 函数类型 函数名 函数参数类型 函数参数名 函数参数类型 函数参数名,(2) 一个函数由两部分组成: 函数的首部,即函数的第一行。 包括函数名、函数类型、函数属性、函数参 数(形参)名、参数类型。,一个函数名后面必须跟一对圆括弧, 函数参数可以没有,如main( )。, 函数体,即函数首部下面的大括弧 内的部分。如果一个函数内有多个大括弧, 则最外层的一对 为函数体的范围。 函数体一般包括: 声明部分:在这部分中定义所用到的变量 ,如例1.3中main函数中的“int a,b,c;”。 在第8章中还将会看到,在声明部分中要对 所调用的函数进行声明。 执行部分:由若干个语句组成。,当然,
20、在某些情况下也可以没有声明部分(例如,例1.1)。 甚至可以既无声明部分,也无执行部分。 如: dump ( ) 它是一个空函数,什么也不干,但这是合法的。,(3) 一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后)。 (4) C程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上。 C程序没有行号。,(5) 每个语句和数据定义的最后必须有 一个分号“ ;”。 分号是C语句的必要组成部分。 例如: c=a+b; 分号不可少。,(6) C语言本身没有输入输出语句。
21、输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。 由于输入输出操作牵涉到具体的计算机设备,把输入输出操作放在函数中处理,就可以使C语言本身的规模较小,编译程序简单,很容易在各种机器上实现,程序具有可移植性。,(7) 可以用 /*/ 对C程序中的任何部分作注释。 一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。,总结关于C语言程序结构的介绍,C语言程序是由函数构成的,有且只有一个主函数main。,一个函数由两部分组成:函数的首部和函数体。函数体由声明部分和执行部分组成。,函数的执行总是先从主函数main开始执行。 main函数的
22、位置可以任意。,每条语句后都有一个分号“ ;”作为间隔,分号不可少。 一行内可以写多个语句,一个语句也可以写在多行上。, 1.4 C程序的上机步骤,为了使计算机能按照人们的意志进行工作, 必须根据问题的要求,编写出相应的程序。 所谓程序,就是一组计算机能识别和执行的 指令。 每一条指令使计算机执行特定的操作。 程序可以用高级语言(如:C,JAVA,C+、 VC+、Delphi等)编写。 用高级语言编写的程序称为“源程(source program)。,从根本上说,计算机只能识别和执行由0和1组成的二进制的指令,而不能识别和执行用高级语言写的指令。 为了使计算机能执行高级语言源程序,必须先用一种
23、称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”, 然后将该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。,C语言的上机步骤,输入编辑源程序,编 译,连接和生成可执行文件,. c文件,. obj文件,. exe文件,图1.1,运行程序的步骤和方法,一、运行程序的步骤 选择一种C语言开发工具,上机输入与编辑源程序:以文件的方式保存,文件的扩展名为“.c” 对源程序进行编译:把源程序转换为二进制形 式的目标程序,这个过程称为编译源程序。 与库函数连接:将一个程序的所有目标文件和系统的库文件连接起来形成可执行的二进制文件 运行目标程序:得到运行的结果 结果分析:如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 语言 概述
链接地址:https://www.31doc.com/p-2250284.html