C语言程序设计实例教程451页教学课件汇总完整版电子教案.ppt
《C语言程序设计实例教程451页教学课件汇总完整版电子教案.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计实例教程451页教学课件汇总完整版电子教案.ppt(451页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计实例教程语言程序设计实例教程第第1章章 程序设计概述程序设计概述第第1章章 程序设计概述程序设计概述程序和程序设计程序和程序设计1.算算 法法2.程序设计过程程序设计过程3.C语言简介语言简介4.程序设计方法程序设计方法5.1.1.1 程序程序v程序通常指完成某项事务的执行过程,是一系列有序的工作步骤,它有方式、步骤等含义。步骤的顺序一般不能颠倒。v计算机程序指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。v程序设计人们为了完成某项具体的任务而编写一系列指令,并将这一系列指令交给计算机去执行。程序=数据结构+算法+语言工具和环境1.1.2 程序设计语言程序设计语
2、言程序设计语言是用计算机能够理解的语言来表达所设计程序的含义,是人与计算机之间进行交流和通信的工具。机器语言:以二进制代码的形式来表示基本的指令集合,每条指令均为0和1组成的二进制代码串。汇编语言:用指令英文名称的缩写作为助记符代替机器的操作指令,用标号和符号来表示地址、常量和变量。高级语言:采用类似人类自然语言中的自然词汇,使得程序更容易阅读和理解。1.2.1 算法的概念算法的概念算法是解决一个具体问题而采取的方法和有限的步骤。计算机算法即计算机能执行的算法。v数值运算算法:解决求数值的问题。例如,判断闰年,求最大公约数,求阶乘,求数列之和等。v非数值运算算法:解决需要用分析推理、逻辑推理才
3、能解决的问题。例如,博弈,查找和分类等。1.2.1 算法的概念算法的概念一个有效的算法应该具有以下特点:v有穷性:一个算法应包含有限的操作步骤而不能是无限的。v确定性:算法中每一个步骤应当是确定的,而不能是含糊的、模棱两可的。v有零个或多个输入。v有一个或多个输出。v有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。1.2.2 算法的描述算法的描述 算法的描述可使用自然语言方式、类似于高算法的描述可使用自然语言方式、类似于高级程序设计语言的伪代码、程序流程图、级程序设计语言的伪代码、程序流程图、N/S盒图、盒图、PAD图等方式。图等方式。流程图流程图 伪码伪码 程序设计语言程序设计语
4、言 起止框处理框判断框输入/输出框流程线起止框处理框判断框输入/输出框流程线1.3.1 解决问题的基本步骤解决问题的基本步骤一般来说,用计算机解决问题的过程可分为三步:第一步,是分析问题,设计一种解决方案;第二步,是通过程序语言严格描述这个解决方案;第三步,在计算机上调试这个程序,运行程序,看是否真能解决问题。如果在第三步发现错误,那么就需要仔细分析错误原因,弄清后退到前面步骤去纠正错误。1.3.2 C语言程序的设计过程语言程序的设计过程进行C语言程序设计的过程可以分解为:v分析问题,确定程序目标v设计程序v编辑程序源文件.cv编译目标文件.objv连接可执行文件.exev运行和调试v维护和修
5、改1.4 C语言简介语言简介vC语言是国际上广泛流行的计算机高级语言。vC语言的发展:BCPL语言语言B语言语言C语言语言精练精练、接近硬件接近硬件,但,但过于简单过于简单,无数据类型无数据类型具有多种数据类型具有多种数据类型1.4 C语言简介语言简介v20世纪60年代,贝尔实验室,KenThompson开始开发一个叫做UNIX的操作系统v70年代,将BCPL语言改造成更适合开发UNIX的B语言v1971年,DennisM.Ritchie开始和Thompson合作开发UNIX,将B语言改造成C语言C语言的设计者语言的设计者Dennis M.RitchieRitchie漫画像漫画像C语言的设计者
6、语言的设计者Dennis M.Ritchiev和Unix的设计者KenThompson接受美国国家技术勋章C语言的发展语言的发展v最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。v1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C语言标准草案(83ANSIC)。v1989年,ANSI公布了一个完整的C语言标准ANSIX3.159-1989(常称ANSIC,或C89)。v1990年,国际标准化组织ISO(InternationalStandardOrganization)接受C89作为国际标准ISO/IE
7、C9899:1990,它和ANSI的C89基本上是相同的。C语言的发展语言的发展v1995年,ISO对C90作了一些修订,1999年,ISO又对C语言标准进行修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加了一些功能,尤其是C+中的一些功能,命名为ISO/IEC9899:1999v2001、2004年先后进行了两次技术修正(TC1和TC2)。ISO/IEC9899:1999(及其技术修正)被称为C99。vC99是C89(及1995基准增补1)的扩充。1.4 C语言简介语言简介C语言是应用最广泛的语言之一。它具有以下特点:v简洁紧凑、方便灵活v运算符丰富v数据类型丰富vC语言是结构
8、化程序设计语言v语法限制不太严格,程序设计自由度大v可直接对硬件进行操作v生成目标代码质量高,程序执行效率高v可移植性好1.4.1 C语言的字符集语言的字符集字符是组成语言的最基本的元素。语言字符集是书写程序时允许出现的所有字符的集合,由字母、数字、空白符和特殊符号组成。v字母:小写字母az,大写字母AZ。v数字:09共10个。v空白符:空格符、制表符、换行符等。v特殊符号:运算符、标点、括号和一些特殊字符。1.4.1 C语言的词法符号语言的词法符号在语言中使用的词汇分为:标识符,关键字,运算符,分隔符,常量,注释符等。(1)标识符标识符是用来标识程序中的变量、常量、数据类型、数组、函数等的名
9、称,是合法的字符序列。vC语言中的标识符必须满足以下语法规则:只能由字母、数字和下划线组成。第一个字符必须是字母或下划线。区分大小写字母。不能与语言的关键字相同,也不能和系统标准库函数同名。1.4.1 C语言的词法符号语言的词法符号(3)运算符与变量,函数一起组成表达式,实现各种运算功能。(4)分隔符逗号:主要用在类型说明和函数参数表中,分隔各个变量。空格:多用于语句中各单词之间,作间隔符。(5)常量C语言中直接使用符号标记的数据,它本身就是数据。如128、A、”hello”。(6)注释符对程序代码的说明,有如下两种:/*注释内容*/注释内容1.4.2 C语言程序的基本结构语言程序的基本结构【
10、例1.4】一个简单的C语言程序示例。#include/*以#号开头预处理*/voidmain()/*主函数*/printf(“Welcometoyou!n”);1.4.2 C语言程序的基本结构语言程序的基本结构语言程序的结构具有以下特点:v一个语言程序可以由一个或多个文件组成。v程序中可以有预处理命令(如include命令),预处理命令通常放在程序的最前面。v语言程序是由一个或多个独立的函数构成的,函数是构成C语言程序的基本单位。v一个C语言程序必须包含一个主函数main(),也只能有一个主函数。程序从main()函数开始执行,也在main()结束。v函数包含两部分,一个是函数的首部;另一个是
11、函数体。函数的首部包括函数名、函数类型和用圆括号“()”括起来形参说明;函数体是用花括号“”括起来的函数执行部分。v函数体中是各种语句,语句是程序的基本执行单位。每一个语句都以分号“;”作为结束。但预处理命令,函数头和花括号“”后不能加分号。1.4.3 C语言程序的书写规则语言程序的书写规则为了便于阅读和维护程序,更好的体现程序的层次结构,书写所采用的通用规则是:程序一般用小写字母书写。一行一般写一条语句。在程序里适当加入空行,分隔程序的不同部分。同层次不同部分对齐排列,下一层次的内容通过适当退格(在一行开始加空格),使程序结构更清晰。在程序里增加一些说明性信息即添加注释。1.5 程序设计方法
12、程序设计方法(1)结构化程序设计面向过程基于模块化、自顶向下、逐步细化和结构化编码主要使用顺序、选择和循环三种基本的控制结构1.5 程序设计方法程序设计方法(2)面向对象程序设计面向对象对象是指将数据和使用这些数据的一组基本操作封装在一起的统一体,它是程序的基本运行单位。类是对一类具有相同特征和行为事物(对象)的抽象表示。对象是某个类的具体实现。以类作为构造程序的基本单位,具有封装、数据抽象、继承、多态性等特征。第第2章章 数据类型、运算符与表达式数据类型、运算符与表达式第第2章章 数据类型、运算符与表达式数据类型、运算符与表达式数据类型数据类型1.常量与变量常量与变量2.运算符与表达式运算符
13、与表达式3.标准输入标准输入/输出输出4.数学函数数学函数5.2.1 数据类型数据类型人们通常将各种数据如数值、文本、声音和图形等输入并存储到计算机中,并进行相应处理。C语言采用把要处理的数据对象划分为一些类型,每个类型是一个数据值的集合。C语言数据类型语言数据类型 枚举类型(enumenum)基本类型数据类型构造类型指针类型空类型(voidvoid)整型(intint)实型(浮点型)字符型(charchar)结构体(structstruct)共用体(unionunion)单精度实型(floatfloat)双精度实型(doubledouble)数组2.1.1基本数据类型基本数据类型vC语言的基
14、本数据类型包括整型、实型、字符型和枚举类型。没有小数部分的数就是整数类型,而加了小数点的数则是实型(也称浮点数类型),字母或者符号更广泛地说是字符类型。对人来说,它们的区别在于书写形式,而对于计算机,它们的存储方式是不同的。1.整型整型v在C语言中,整型是比较常用的数据类型。针对不同的用途,C语言提供了多种整数类型的选择,可分为基本整型(int,简称整型),短整型(short)和长整型(long)。上述类型又分为有符号型(signed)和无符号型(unsigned),即数值是否可以取负值,构成了6种不同的整数类型。整型数据分类整型数据分类 类型名称类型名称类型说明符类型说明符所占字节所占字节数
15、数取值范围取值范围有有符符号号基基本本整整型型signed int4-21474836482147483647-232-1232-1-1有符号短整型有符号短整型signed short int2-3276832767-216-1216-1-1有符号长整型有符号长整型signed long int4-21474836482147483647-232-1232-1-1无无符符号号基基本本整整型型unsigned int4042949672950232-1无符号短整型无符号短整型unsigned short int20655350216-1-1无符号长整型无符号长整型unsigned long in
16、t4042949672950232-12.实型实型vC语言中实型也称为浮点型,包括单精度实型(float)和双精度实型(double)类型名称类型说明符所占字节数有效数字取值范围(绝对值)单精度实型float4约67位3.410-383.41038双精度实型double8约1516位1.710-3081.7103083.字符型字符型v类型说明符为char。字符型数据只占1个字节,只能存放1个字符,无法存放多个字符组成的字符串,字符串的概念将在后面章节中介绍。v为了处理字符,计算机使用一种数字编码,用特定的整数表示特定的字符。应用最广泛的是编码是ASCII码(AmericaStandardCor
17、dforInformationInterchange,美国信息交换标准码)4.枚举型枚举型 v枚举(enumeration)类型是C语言提供的一种用户自定义类型。如果一个数据对象只有几种可能的取值,可以将这些值一一列举出来,即定义为枚举类型。v定义的格式为:enum枚举类型名枚举常量1,枚举常量2,.,枚举常量n;2.1.2构造数据类型构造数据类型vC语言的基本数据类型并不能满足实际应用中的所有需求,用户可以利用整型、实型、字符型这些基本数据类型构造满足需要的数据类型,即构造类型。包括数组类型、结构体类型和共用体类型2.1.3其它数据类型其它数据类型1.指针类型指针是一种特殊的数据类型,也是很
18、重要的一种数据类型,指针的值指的是内存中的地址值。2.空类型C语言中空类型用void表示,一般用于描述指针以及作为不返回值的函数的返回值类型。2.2 常量与变量常量与变量在程序所处理的各种数据中,有些数据的值在程序使用前可以预先设定并在程序运行过程中不会发生变化,称为常量。有的数据在程序运行过程中可能会变化,称为变量。两者的区别在于数据在程序运行过程中其值是否变化。2.2.1常量常量v在程序运行过程中,其值不变的量称为常量。常量也有数据类型,在计算机内存中,所有数据都是以二进制形式存储,在C语言程序中,编译器一般通过其书写来辨认其类型,比如3是整型,而3.00是实型。常量可以不经说明而直接引用
19、,另外在程序中也可定义符号常量。1.整型常量整型常量v整型常量类似于数学中的整数。在C语言中,整型常量有十进制、八进制和十六进制3种表示形式。v十进制整型数:用10个数字09表示,开头的数字不能是0。如368、9652等。v八进制整型数:以数字0开头,用8个数字07表示。如012、0654等。v十六进制整型数:以0X或0 x开头(注意是数字0加字母X或x),用10个数字09和6个字母AF(或af)表示。如0 x7f、0XA6D等。注意:注意:正整数前面的正整数前面的“+”号可以省略,负整数的前面必须加号可以省略,负整数的前面必须加“-”号。号。2.实型常量实型常量v实型(浮点型)常量即数学中的
20、实数。在C语言中实型常量有十进制数和指数两种表示形式。v十进制数形式:由数字09和小数点组成(必须有小数点)。v指数形式:即科学记数法,由尾数、E(或e)和整数指数(阶码)组成,其中指数可以带正负号。E(或e)的左边为尾数,可以是整数或实数,右边是指数,指数必须为整数,表示尾数乘以10的多少次方。3.字符常量字符常量v字符常量是用单引号括起来的一个字符。例如a,8,=,+,?都是合法字符常量。每个字符都有对应的ASCII整数代码,例如小写字母a的ASCII码为97(参见ASCII码表)。转义字符转义字符 vC提供了一些特殊的符号序列,即转义字符来表示某个字符。这些符号都不能简单地用一个字符表示
21、,而是用单引号括起来的以反斜杠开头的符号序列。反斜杠之后字符被转换为另外的含义,不同于字符的原有意义,故称为“转义字符”。常用的转义字符及含义常用的转义字符及含义 转 义 字 符含 义ASCII码b退格(Backspace)008f走纸换页,跳到下一页开头012n换行,跳到下一行开头010r回车(Return)013t水平制表,横向跳到下一制表位置(Tab)009v垂直制表,竖向跳到下一制表位置011反斜杠()092单引号()039”双引号(”)034?问号(?)077ooo八进制数值,13位八进制数所代表的字符(o代表一个八进制数字)xhh十六进制数值,12位十六进制数所代表的字符(h代表一
22、个十六进制数字)4.字符串常量字符串常量 v字符串常量是由一对双引号括起来的字符序列。例如,Clanguageprogram“$12.5”都是合法的字符串常量。字符串常量与字符常量的区别字符串常量与字符常量的区别v字符常量是由单引号括起来,而字符串常量则是由双引号括起来。v字符常量只能表示一个字符,而字符串常量则可以包含1个或多个字符。v可以将1个字符常量赋值给一个字符变量,但不能将1个字符串常量赋予一个字符变量。字符串常量可以用一个字符数组存放。v字符常量在存储中只占一个字节,字符串常量占用的存储空间的字节数等于双引号中所包含字符个数加1。增加的一个字节用于存放字符0(ASCII码值为0)。
23、每个字符串常量的末尾有一个结尾符0,称为空字符,语言以该字符作为字符串常量结束的标志。例如a表示的是一个字符串常量,占用2个字节;而a表示的是一个字符常量,只占用1个字节。如图2-4所示。v字符串中可以有转义字符。v单引号和双引号只是字符和字符串的定界符,如果字符常量本身是单引号,则要用转义字符,如。如果字符串常量中包含双引号,也要用转义字符,如ab。5.符号常量符号常量v用一个标识符来代表一个常量,称为符号常量。符号常量在使用前必须先定义,用宏定义的形式,其一般定义格式为:#define标识符常量符号常量的定义和使用举例符号常量的定义和使用举例#include#definePRICE10/定
24、义价格符号常量PRICE为10voidmain()intnum,total;scanf(“%d”,&num);/输入购买数量total=num*PRICE;/计算总金额printf(“total=%d”,total);2.2.2变量变量v变量是指在程序运行过程中其值可以变化的量。语言要求在使用变量之前必须先进行声明。1.变量的声明变量的声明v变量声明的一般形式:变量存储类型说明符数据类型说明符变量名1,变量名2,变量名3,;变量声明举例变量声明举例变量声明示例#includevoidmain()inta,b;/声明两个整型变量a和bcharc;/声明一个字符变量cfloatf1,f2;/声明两
25、个浮点型变量f1,f22.变量的初始化变量的初始化在变量声明中初始化赋值的一般格式为:变量存储类型说明符数据类型说明符变量名1=值1,变量名2=值2,;变量的声明及初始化举例变量的声明及初始化举例#includevoidmain()/*声明c1和c2为字符类型变量,c1初始化值分别为字符a、b*/charc1=a,c2=b;/*声明i,j和k为基本整型变量,i和j初始化值为20*/inti=20,j=20,k;/*声明f1和f2为单精度类型变量,f1初始化值为3.6*/floatf1=3.6,f2;3.变量的使用变量的使用v在程序中使用变量,要考虑程序运行的环境和变量的取值范围,当变量的取值超
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实例教程 451 教学 课件 汇总 完整版 电子 教案
限制150内