《C语言课件 第1章.ppt》由会员分享,可在线阅读,更多相关《C语言课件 第1章.ppt(40页珍藏版)》请在三一办公上搜索。
1、,西安电子科技大学出版社http:/,新编C语言程序设计教程,(第 二 版),New C Language Programming Course,周学毛 编著,第1章 C语言基础 第2章 基本数据类型 第3章 表达式 第4章 顺序结构程序设计 第5章 选择结构程序设计 第6章 循环结构程序设计 第7章 函数 第8章 数组类型 第9章 结构体类型与共用体类型第10章 指针类型 第11章 文件类型 第12章 编译预处理和图形处理 第13章 C到C+第14章 C语言程序设计实例,目 录,第 1章 C 语 言 基 础,1.1 C语言概述 1.2 基本语法成份 1.3 C语言程序的结构 1.4 C语言程
2、序的实现习 题 一,1.1 C语言概述,1.1.1 C语言的产生与发展,1.C语言的产生 C语言于1972年1973年间,诞生于美国的贝尔实验室,由Denis.M.Ritchie创建。C语言的产生基于两个方面的需要。一是为满足UNIX操作系统开发的需要。UNIX操作系统是一个通用的、复杂的计算机管理系统。二是为拉近高级语言与硬件之间距离的需要。C语言集高级语言与汇编语言优点于一身。C语言面对实际应用的需要而产生,直至今日仍不改初衷。,2.C语言的发展,1960年出现的ALGOL语言是一种面向问题的高级语言,远离硬件,不适于开发系统软件。1963年,英国剑桥大学推出CPL语言,CPL语言比ALG
3、OL语言更接近硬件一些,但规模较大,难以实现。1969年,剑桥大学的Martin Richards对CPL语言进行简化,推出BCPL语言。1970年,贝尔实验室的Ken Thompson为DEC公司的PDP-7计算机上运行的一种早期UNIX操作系统设计了一种类BCPL语言,称为B语言。B语言规模小,接近硬件,1971年在PDP-11计算机上实现。BCPL语言和B语言都是无类型的语言,过于简单,功能有限。,1972年1973年间,贝尔实验室的D.M.Ritchie在保留B语言优点的基础上,创建了C语言。1973年,UNIX操作系统被用C语言改写,称为UNIX第五版。最初的C语言只是一种UNIX操
4、作系统的工作语言,依附于UNIX系统,主要在贝尔实验室内部使用。UNIX以后的第六版、第七版、SYSTEM 和SYSTEM都是在第五版的基础上发展起来的。这期间C语言也被多次改进。1975年,UNIX的第六版公布,C语言开始受到人们的普遍关注。,UNIX操作系统的广泛使用,促进了C语言的迅速发展与普及,C语言的发展与普及反过来又促进了UNIX操作系统的推广。1978年,出现了独立于UNIX和PDP计算机的C语言,从此C语言被迅速移植到大、中、小型与微型机上。当年,B.W.Kernighan和D.M.Ritchie以UNIX第七版的C编译程序为基础,出版了影响深远的名著The C Program
5、ming Language。C+语言是C语言发展的新阶段,是一种更好的C语言,是应用广泛的面向对象的程序设计语言。目前,C语言已经发展成为迄今为止最流行的计算机程序设计语言。,3.C语言的标准与方言,C语言的广泛应用还是在不同的开发团体之间出现了问题,各机构推出了自己的C语言版本,某些执行过程的微小差别却不时引起C程序之间的不兼容。美国国家标准协会(ANSI)从1983年开始经过长达五年的努力,制定了C语言的新标准ANSI C。现在提及C语言的标准都是指新标准。ANSI C比原标准C有很大的发展,解决了经典定义中的二义性,给出了C语言的新特点。Kernighan和Ritchie也以新标准改写了
6、他们的经典著作。任何C程序都必须遵循ANSI C标准,本教材的主体也以ANSI C作为基础。,1.1.2 C语言的特点,(1)C语言简洁、紧凑,压缩了一切不必要的成份。(2)C语言运算丰富,将括号、赋值、强制类型转换、取变量地址等都以运算实现。(3)C语言数据类型丰富,具有现代语言的各种数据类型;用户能扩充数据类型,能够实现各种复杂的数据结构,完成各种问题的数据描述。(4)C语言是一种结构化程序设计语言,具有结构化语言所要求的三种基本结构。,(5)C语言是高级语言中的低级语言。C语言允许直接访问物理地址,能进行位运算,能实现汇编语言的大部分功能,能直接对硬件进行操作。(6)C语言提供编译预处理
7、机制,有利于大程序的编写和调试。(7)C语言编译系统小,生成的目标代码质量高,程序的执行效率高。(8)C语言的输入和输出功能用库函数实现,编写的程序移植性好。(9)C语言语法限制不太严格,程序设计自由度大,对程序员要求较高。,1.2 基本语法成份,1.2.1 字符集,字符是可以区分的最小符号,构成程序的原始基础。C语言字符集是ASCII字符集的一个子集,包括英文字母、数字及特殊字符:英文字母:az和AZ 数字:09 特殊字符:空格!%?()由字符集中的字符可以构成C语言进一步的语法成份,如标识符、关键字、特殊的运算符等。,1.2.2 标识符,标识符在程序中用来标识各种程序成份,命名程序中的一些
8、实体,如变量、常量、函数、类型、标号等对象的名字。C语言规定,标识符必须以英文字母或下划线开头,是字母、数字、下划线的序列。以下是合法的标识符:i,j,k,x,c,a1,a2,op,y_1,zhou_prg,radius,prime,program,sort,max,min,prg_1,cout,sun,day,以下是不合法的标识符:a.1,1computer,x+y,!abc,99999,$100,3c C语言中的标识符严格区分字母的大小写,标识符abc与标识符ABC是不同的标识符。习惯上,符号常量用大写字母表示,变量名称用小写字母表示。标准C中,标识符的长度可以任意,一般有效长度为8个字符
9、,Turbo C中标识符最大长度为32个字符。,标识符取名时不能与关键字同名,也不要与系统预先定义的标准标识符(如标准函数)同名。系统使用的一些内部标识符往往以下划线开头,为避免与系统使用的内部标识符发生冲突,用户定义的标识符一般也不要用下划线开头。标识符的名称一般选用相应的英文单词或拼音形式缩写,尽量不要使用简单代数符号,如a、b、c、x、y、z等。最好能“见名知义”,以提高程序的可读性。标识符大多数采用“匈牙利”表示法,即每个单词第一个字母大写,如StudentName、YearMonthDate。由系统预先定义的标识符称为标准标识符,由用户定义的标识符称为自定义标识符。程序设计中往往需根
10、据实际需要定义大量的标识符。标识符必须先定义,后使用。,1.2.3 关键字 关键字又称为保留字,由系统提供,用以表示特定的语法成份,如类型名称int、float,语句特征if、switch、while,运算符号sizeof等,是构成C语言的语法基础。常见关键字有31个,参见附录A。关键字有特定的语法含义,不允许用户重新定义。关键字在程序中像国家的名字一样,绝对不能拼错。,1.2.4 运算符 运算符实际上可以认为是系统定义的函数名字,这些函数作用于运算对象,得到一个结果值。运算符通常由1个或多个字符构成。C语言沿用了大量的常规运算符,如加法运算符“+”、减法运算符“”、地址运算符“&”、大于运算
11、符“”、不等运算符“!=”、逻辑与运算符“&”、条件运算符“?:”、点运算符“.”、字节数运算符“sizeof”等。根据运算对象的个数不同,可分为单目运算符、双目运算符和三目运算符,又称为一元运算符、二元运算符和三元运算符。,1.3 C程序的结构,例1-1 在屏幕上输出“C语言程序设计”。/*程序 1-1,输出C语言程序设计*/include stdio.hmain()printf(C语言程序设计);运行结果:C语言程序设计,例1 2 求两个整数之和。/*程序1-2,求两个整数之和*/include stdio.h main()int a,b;int sum;printf(请输入两个整数a,b
12、:);scanf(%d,%d,输入数据:1999,5运行结果:和=2004,例1-3 求两个数的最大值。/*程序1-3,求两个数的最大值*/include stdio.h float max(x,y)/*求最大值函数*/float x,y;float t;if(xy)t=x;else t=y;return(t);,main()/*主函数*/float a,b;float m;printf(请输入两个数:);scanf(%f,%f,输入数据:12.1,3.45运行结果:最大值=12.10,1.3.1 C程序的结构,1函数(1)C语言程序由若干函数组成。必须有一个且只能有一个主函数main(),主
13、函数的名字为main。可以是系统预定义的标准函数,如scanf函数、printf函数等,参见附录C。大多数函数由程序员根据实际问题的需要进行定义,函数之间是平行的关系。基于此,C语言被称为函数式语言。,(2)函数由函数头(函数的说明部分)与函数体(函数的语句部分)两部分组成。函数头给出函数的特征描述,包括函数的属性、类型、名字、参数及参数类型。如例 1-3 中的求最大值函数的函数头:float max(x,y)float x,y;/*函数属性缺省,函数类型实型,函数名字max,函数参数x,y,实型*/,函数体给出函数功能实现的数据描述和操作描述,是程序中用花括号括起的若干语句。如例 1-1 中
14、的函数体:printf(C语言程序设计);,例1-3中求两个数的最大值函数max的函数体:float t;if(xy)t=x;else t=y;return(t);函数体可以为空,可以没有数据描述部分。由此可以给出理论上最小的C语言程序:main(),2.语句(1)语句是组成程序的基本单位,函数功能的实现由若干条语句完成。说明性语句完成数据描述,执行性语句完成操作描述。(2)语句由若干关键字加以标识,如ifelse语句、dowhile语句等。(3)C语言本身没有输入输出语句,C语言的输入输出操作由scanf函数和printf函数等库函数完成。(4)C语言语句必须以分号结束。,3.其它 1)预处
15、理命令 C程序开始往往含有以“”开头的命令,它们是预处理命令。如例1-1中includestdio.h,用以指明包含文件。2)程序注释 在程序中还有以“/*”开始,以“*/”结束的内容,它们是程序中的注释部分,用以帮助阅读程序。,1.3.2 C程序的书写,(1)一行一般写一条语句。当然一行可以写多条语句,一条语句也可以写在多行上。(2)整个程序采用紧缩格式书写。表示同一层次的语句行对齐,缩进同样多的字符位置。如循环体中的语句要缩进对齐,选择体中的语句要缩进对齐。(3)花括号的书写方法较多,本书采用花括号对齐的书写方式,左边花括号处于第一条语句的开始位置,右边花括号独占一行,与左边花括号对齐。(
16、4)在程序中恰当地使用空行,分隔程序中的语句块,增加程序的可读性。,1.4 C程序的实现,1.4.1 实现步骤,C程序在计算机上的实现与其它高级语言程序的实现一样,一般要经过编辑、编译、连接、运行四个步骤,如图1-1 所示。,图 1-1,1.4.2 程序的执行,C程序的执行总是从主函数main()开始,不管主函数在程序中什么位置。其它函数通过被调用执行。函数中的语句依先后顺序执行,除非改变了程序的执行流程。,1.4.3 TURBO C上机操作,1启动Turbo C 只需执行TC.EXE文件,即可启动Turbo C,进入Turbo C的操作界面。TC是DOS程序,现在一般运行在Windows下的
17、DOS环境。如需使用中文,还需先将计算机置于中文操作系统管理下。用TC加源程序文件名可快速启动Turbo C,立即进入编辑操作。,2.TURBO C操作界面,图1-2 Turbo C的主操作界面,1)主操作界面 Turbo C主操作界面由主菜单区、编辑窗口区、信息窗口区及热键区四部分组成。Turbo C的操作采用菜单驱动,主菜单包括File(文件操作)、Edit(编辑操作)、Run(运行操作)、Complie(编译操作)、Project(工程文件)、Options(编译选择)及Debug(跟踪排错)各项。热键区提供常用操作的快速功能键方式,如F1(帮助)、F2(保存文件)、F3(装入文件)、F
18、5(缩放窗口)、F6(切换窗口)、Alt+F5(用户屏幕)、Alt+X(退出Turbo C)等。,2)主窗口 当前操作窗口为主窗口(工作窗口),主窗口为双线框表示,按F6可切换主窗口,按F5可缩放主窗口。3)菜单选择 方式一:按F10进入主菜单区,通过菜单项的大写字母选择相应菜单项,或通过光标控制键(、)移动高亮度光棒至相应菜单项,按回车选择相应菜单项。方式二:用热键ALT加相应菜单项的大写字母,选择相应菜单项。对子菜单项的选择,操作方法类似。,3.编辑 编辑在编辑窗口中进行,有多种方式进入编辑环境:方式一:选择Edit项。方式二:选择File项的子项New,用于编辑新程序。方式三:选择Fil
19、e项的子项Load,装入要修改的程序,用于修改程序。方式四:启动时采用快速启动方式。TURBO C的编辑操作是Wordstar、WPS等字处理软件编辑操作的子集,它与Wordstar、WPS的编辑操作完全类似。,4.编译 TURBO C将编译、连接一道完成。按热键F9或选择Compile项进入编译。编译时发生错误,返回编辑步骤,修改程序后,再编译程序。,5.运行 按热键CTRL+F9或选择Run项下的子项Run,运行计算机中的程序。按ALT+F5键或选择Run项下的子项User Screen进入用户屏幕,查看程序运行结果。运行时发生错误,返回编辑步骤,修改程序后,再编译、运行程序。对于没编译的
20、程序,选择运行会先自动进行编译操作,再运行程序。,6.退出 上机过程完成后,按热键ALT+X或选择File项的子项Quit退出TURBO C,返回操作系统状态。退出TURBO C后还可用操作系统命令来显示源程序和运行程序。,习 题 一,1.简述C语言的主要特点。2.简述标识符的命名方法,并与关键字进行比较。3.简述C语言程序的结构。4.简述C语言程序的实现步骤。5.C语言程序的书写有何特点?6.注释在程序中有什么作用?,7.下列标识符中,哪些是不正确的标识符?为什么?C SUM 3S Co.Ltd OK!com language for_c prg*1do¥123(xyz)printf max PI 8.抄写例1-3中的程序,注意C语言程序的结构与书写格式。9.上机运行例1-1、例1-2、例1-3的程序,了解上机方法与步骤,熟悉实习环境。10.模仿例1-1编写程序,输出自己的姓名、性别及年龄。,11.模仿例1-2编写程序,求两个整数的积。12.模仿例1-3编写程序,求两个数的最小值。13.编写一个最小的C语言程序,并请上机运行。14.浏览C语言程序设计的相关网站。,