C语言程序设计(同名49)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计(同名49)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 同名 49 课件
- 资源描述:
-
1、项目7 函数1项目8 指针2项目9 结构与联合3项目10 位运算4项目11 文件5 目 录项目1 C语言概述1项目2 数据类型、运算符与表达式2项目3 顺序结构程序设计3项目4 选择结构程序设计4项目5 循环结构程序设计5项目6 数组5附件5项目1 C语言概论1项目导读项目目标项目任务 本项目主要对C语言的一些基础知识及其字符集和词汇进行介绍,使读者在学习C语言之前对其有个全面的认识。项目导读 安装、配置TC2.0和VC+6.0,成功启动TC2.0和VC+6.0。能编写一个简单的C程序的源文件,并编译该源文件,链接目标文件得到可执行文件。项目目标任务1.1 C语言的发展与特点 C语言是1972
2、年由美国的Dennis Ritchie设计发明的,并首次在配备了UNIX操作系统的DEC PDP-11计算机上实现。它由早期的编程语言BCPL(Basic Combined Programming Language)发展演变而来。C语言的特点1、C语言是中级语言 2、C语言是结构化语言 3、C语言功能齐全 4、C语言适用范围广语言适用范围广 任务1.2 认识C语言 本任务通过几个简单的C程序,介绍C语言的基本组成和格式。案例案例1.1main()printf(“This is a c program.n”);本程序的功能是输入下列一行信息:This is a c program.任务1.2 认
3、识C语言 程序说明程序说明:main函数是“主函数”,每一个C程序必须有一个main函数。函数体由大括弧 括起来。本例中,主函数内只有一个输出语句,printf(“This is a c program.n”);是C语言的输出函数(具体详见项目3)。双引号内的字符串将照原样输出。“n”是换行符,即在输出“This is a c program.”后换行。(1)分号是C语句的基本构成,每一个C语句后都应再加上分号,分号是语句的结束标志。任务1.2 认识C语言 本任务通过几个简单的C程序,介绍C语言的基本组成和格式。案例案例1.2main()/*求两数之和求两数之和*/int a,b,sum;/*
4、本行开始的以下本行开始的以下4条为条为C语句语句*/a=123;b=456;sum=a+b;printf(“sum is%dn”,sum);本程序的功能是求两数之和本程序的功能是求两数之和。任务1.2 认识C语言 程序说明程序说明:/*/是注释语句,此信息对编译和运行不起作用。(2)程序第二行的含义是定义a、b和sum为整体变量。(3)“sum=a+b;”的含义是把变量a和b的和赋给变量sum。(4)该程序的输出结果是:sum is 579。任务1.2 认识C语言 案例案例1.3 main()/*求一个数的绝对值求一个数的绝对值*/int x,y;scanf(“%d”,&x);y=abs(x)
5、;printf(“abs=%d”,y);int abs(int z)int w;if (z=0)w=z;else w=-z;return(w);本程序的功能是求本程序的功能是求z的绝对值。的绝对值。任务1.2 认识C语言 程序说明程序说明:(1)本程序包括两个函数:主函数)本程序包括两个函数:主函数main和被调用函数和被调用函数abs。(2)函数)函数abs的作用是将的作用是将z的绝对值返回给主调函数的绝对值返回给主调函数main(返回值是通过函数名(返回值是通过函数名abs带回到带回到main函数的调用处的)。函数的调用处的)。(3)程序中的)程序中的scanf函数的作用是从键盘上输入函数
6、的作用是从键盘上输入x的值。的值。&x中的中的“&”的含义是的含义是“取地址取地址”,此,此scanf函数的作用是将数值输入到变量函数的作用是将数值输入到变量x的地址所标志的单元中去,的地址所标志的单元中去,也就是输入给变量也就是输入给变量x。关于。关于scanf函数详见项目函数详见项目3。(4)main函数中的第四行为调用函数中的第四行为调用abs函数,在调用时将实际参数函数,在调用时将实际参数x传给传给abs函数函数中的形式参数中的形式参数z,然后输入,然后输入y的值。的值。(5)printf函数中双引号内的函数中双引号内的abs=%d,在输出时,其中的,在输出时,其中的%d将由将由y值取
7、代,值取代,“abs=”原样输出。该程序的运行结果是:原样输出。该程序的运行结果是:假定从键盘上输入假定从键盘上输入x的值为的值为:-6 则则y=6(6)本例用到了函数调用、实际参数和形式参数等概念,只是做了简单的解释,)本例用到了函数调用、实际参数和形式参数等概念,只是做了简单的解释,读者若对此不大理解,可先不予深究,在学到函数项目后的相关知识后,问题自读者若对此不大理解,可先不予深究,在学到函数项目后的相关知识后,问题自会迎刃而解。这里介绍此案例的目的,是想让读者对会迎刃而解。这里介绍此案例的目的,是想让读者对C语言的组成和形式有一个语言的组成和形式有一个初步了解。初步了解。任务1.2 认
8、识C语言 通过以上三个例子,我们可以得到以下几点通过以上三个例子,我们可以得到以下几点:1、C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其它函数。因此,函数是C语言的基本单位。被调用函数可以是系统提供的库函数(例如printf函数和scanf函数),也可以是用户根据需要自编译的用户函数(例如案例1.3中的abs函数)。2、函数及其结构。一个函数由两部分组成:即函数首部和函数体。函数首部包括函数类型、函数名、函数参数(形参)、形参类型;函数体一般包括说明部分和执行部分。函数结构如下:函数类型 函数名 (形参表)说明部分:函数体 执行部分;函数体以
9、左花括号“”开始,以右花括号“”结束,其间可以有说明部分和执行部分。在某些情况下,甚至可以既无说明部分,也无执行部分。如:dump()它是一个空函数,表示什么也不做,但它是合法的 任务1.2 认识C语言 3、一个C程序中,不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后头,或在一些函数之前,或在另一些函数之后),但程序执行时,总是从main函数开始执行。4、C程序书写格式自由,一行中可以书写多个语句,一个语句也可以书写在连续的多行上。当一行写不下时,用连字符“-”连接,并且每条语句的后面以分号“;”作为结束标记。5、C语言本身没有输入输出语句。C语言的
10、函数库提供了标准输入输出函数。6、可以用/*对C程序中的任何一部分做注释,以增加程序的可读性。任务1.3 C程序的执行过程 C语言程序是一种编译型的中级语言。用C语言编写的源程序必须先进行编译和连接,生成可执行的程序之后才能执行。执行一个C语言程序一般经过如下几个步骤。1、编辑 2、编译 3、连接 4、运行 C语言程序的开发是一个由编辑开始,经过编译、连接和运行,程序如果有错误,又回到编辑的反复循环过程,如图所示。项目2 数据类型、运算符与表达式1项目导读项目目标项目任务 C语言中,为解决具体问题,需要采用多种类型的数据;本项目将主要介绍C语言的数据类型、常用运算符和表达式。项目导读学会声明整
11、型变量,为声明的变量赋值,交换变量的值,输出变量的值。学会声明浮点型变量,为声明的浮点型变量赋值,对浮点型变量值进行加法运算,并将运算结果存放到浮点型变量中,输出浮点型变量的值。学会声明字符型变量,为声明的字符型变量赋值,按%d或%c格式输出变量的值。项目目标任务2.1 常量、变量和标示符 2.1.1 标识符标识符 在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符(名的有效字符序列统称为标识符(identifier)。简单地说,标识符就是一个对)。简单地说,标识符就是一个对象的名字。象的
12、名字。C语言规定标识符只能由字母、数字和下划线组成,且第1个字符必须为字母或下划线。下面列出的是合法的标识符,可以作为变量名:Sum,average,_total,Class,day,month,Student_name,lotus_1_2_3,BASIC,li_ling.下面是不合法的标识符和变量名:M.D.John,¥123,#33,3D64,ab 注意注意:编译系统将大写字母和小写字母认为是两个不同的字符。因此,sum和SUM是两个不同的变量名。同样,Class和class也是两个不同的变量名。通常,变量名用小写字母表示,习惯用对应的英文字母缩写形式,做到见名知意,与人们日常习惯一致,以
13、增加可读性。任务2.1 常量、变量和标示符 2.1.2 常量和变量常量和变量1、常量、常量 在程序运行过程中,其值不能被改变的量称为常量。如案例2.1程序中的5,9,32和案例2.2程序中的1000,0.0036,0.0225,0.0198都是常量。数值常量就是数学中的常数。常用的常量有以下几类:整型常量。如1000,12345,0,-345等都是整型常量。实型常量。有两种表现形式:十进制小数形式,由数字和小数点组成。如122.456,0.345,-55.79,0.0,12.0等。指数形式,如12.34e3(代表12.34103),-345.87e-25(代表-345.8710-25),0.1
14、45E25(代表0.14510-25)等。由于在计算机输入或输出时,无法表示上标或下标,故规定以字母e或E代表以10为底的指数。但应注意:e或E之前必须有数字,且e或E后面必须为整数。如不能写成e4,12e2.5。任务2.1 常量、变量和标示符 字符常量。有两种形式的字符常量:普通字符,用单撇号括起来的一个字符,如a,Z,3,?,#。注意:注意:单撇号只是界限符,字符常量只能是一个字符,不包括单撇号。a和A是不同的字符常量。字符常量存储在计算机存储单元中时,并不是存储字符(如a,z,#等)本身,而是以其代码(一般采用ASCII代码)存储的,例如字符A的ASCII话代码是97,因此,在存储单元中
15、存放的是97(以二进制形式存放)。ASCII字符与代码对照表见附录。转义字符,除了以上形式的字符常量外,C还允许用一种特殊形式的字符常量,就是以字符开头的 字符序列。例如,前面已经遇到过的,在printf函数中的n它代表一个“换行”符。常用的以“”开头的特殊字符见表 2.1任务2.1 常量、变量和标示符 表2.1任务2.1 常量、变量和标示符 字符串常量。如“boy”,“123”等,用双撇号把若干个字符括起来,字符串常量是双撇号中的全部字符(但不包括双撇号本身)。注意不能错写成CHINA,boy,123。单撇号内只能包含一个字符,双撇号内可以包含一个字符串。符号常量。用#define指令,指定
16、用一个符号名称代表一个常量。如:#define PI 3.1416 注意行末没有分号 经过以上的指定后,本文件中从此行开始所有的PI都代表3.1416。在对程序进行编译前,预处理器先对PI进行处理,把所有的PI全部置换为3.1416。这种用一个符号名代表一个常量的,称为符号常量。在预编译后,符号常量全部变成字面常量(3.14159)。使用符号常量有以下好处。含义清楚。在需要改变程序中多处用到的同一个常量时,能做到“一改全改”。任务2.1 常量、变量和标示符 2、变量 变量代表一个有名字的、具有特定属性的存储单元。它用来存放数据,也就是存放变量的值。在程序运行期间,变量的值是可以改变的。变量必须
17、先定义,后使用。在定义时指定该变量的名字和类型。一个变量应该有一个名字,以便被引用。请注意区分变量名和变量值这两个不同的概念,图2.1中a是变量名,3是变量a的值,即存放在变量a的内存单元中的数据。变量名的实质是以一个名字代表的一个存储地址。在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该储存单元中读取数据。图2.1任务2.1 常量、变量和标示符 3、常变量 如 const int a=3表示a被定义为一个整型变量,指定其值为3,而且在变量存在期间其值不能改变。常变量与常量的异同是:常变量具有变量的基本属性,有类型,占存储单
18、元,只是不允许改变其值。可以说,常变量是有名字的不变量,而常量是没有名字的不变量,有名字就便于在程序中被引用。任务2.2 数据类型 在定义变量时需要指定变量的类型。C语言要求在定义所有的变量时都要指定变量的类型。常量也是区分类型的。所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。C语言允许使用的类型见图2.2。图2.2任务2.2 数据类型 2.2.1 整型数据 1、整型数据的分类整型数据的分类 基本整型(int型)编译系统为int型数据分配2个字节或4个字节(有具体的C编译系统自行决定)。如TurboC 2.0为每
19、一个整型数据分配2个字节(16个二进位),而 Visual C+为每一个整型数据分配4个字节(32位)。在存储单元中的存储方式是:用整数的补码(complement)形式存放。5的补码-5的补码任务2.2 数据类型 短整型(short int)类型名为short int或short。如用Visual C+5.0,编译系统分配给int数据4个字节,短整型2个字节。存储方式与int型相同。一个短整型变量的值的范围是3276832767。长整型(long int)类型名为long int 或long。一个long int 型变量的值的范围是231(2311),即 214748364821474836
20、47(Visual C+5.0),编译系统分配给long 数据4个字节。双长整型(long long int)或long long,一般分配8个字节。说明:C标准没有具体规定各种类型数据所占用存储单元的长度,这是由各编译系统自行决定的。C标准只要求long型数据长度不短于int型,short型不长于int型。即 Sizeof(short)sizeof(int)sizeof(long long)Sizeof是测量类型或变量长度的运算符。任务2.2 数据类型 2、整型变量的符号属性整型变量的符号属性 以上介绍的几种类型,变量值在存储单元中都是以补码形式存储的,存储单元中的第1个二进位制代表符号。整
21、型变量的值的范围包括负数到正数(见表2.2)。表2.2 整型数据常见的存储空间和值的范围 任务2.2 数据类型 在实际应用中,有的数据的范围常常只有正值(如学号、年龄、库存量、存款额等)。为了充分利用变量的值的范围,可以将变量定义为“无符号”类型。可以在类型符号前面加上修饰符unsigned,表示指定该变量是“无符号整数”类型。如果加上修饰符signed,则是“有符号”类型。因此,在以上4种整型数据的基础上可以扩展为以下8种整型数据。即 有符号基本整型 signed int;无符号基本整型 unsigned int;有符号短整型 signed short int;无符号短整型 unsigned
22、 short int;有符号长整型 signed long int;无符号长整型 unsigned long int;有符号双长整型 signed long long int;无符号双长整型 unsigned long long int;以上方括号表示其中的内容是可选的,既可以有,也可以没有。如果既未指定为signed也未指定为unsigned的,默认为“有符号类型”。如signed int a和int a等价。任务2.2 数据类型 2.2.2 字符型数据字符型数据 1.字符与字符代码字符与字符代码 字符与字符代码并不是任意写一个字符,程序都能识别的。例如圆周率在程序中是不能识别的,只能使用系
23、统的字符集中的字符,目前大多数系统采用ASCII字符集。各种字符集(包括ASCII字符集)的基本集都包括了127个字符。其中包括:字母:大写英文字母AZ,小写英文字母az。数字:09。专门符号:29个:!”#&()*+,:;=?-|空格符:空格、水平制表符(tab)、换行、换页(form feed)。不能显示的字符:空(null)字符(以0表示)、警告(以a表示)、退格(以b表示)、回车(以r表示)等。任务2.2 数据类型 2、字符变量、字符变量 字符变量使用类型符char定义字符变量。Char是英文character(字符)的缩写,见名即可知意。如:char c=;?定义c为字符型变量并使初
24、值为字符?。?的ASCII代码是63,系统把整数63赋给变量c。c是字符变量,实质上是一个字节的整形变量,由于它常用来存放字符。所以称为字符变量。可以把0127之间的整数赋给一个字符变量。在输出字符变量的值时,可以选择以十进制整数形式输出,或以字符形式输出。如:printf(“%d%cn”,c,c);输出结果是:63?用“%d”格式输出十进制整数63,用%c格式用字符形式输出字符?。任务2.2 数据类型 2.2.3 浮点型数据浮点型数据 浮点型数据是用来表示具有小数点的实数的。浮点数类型包括float(单精度浮点型)、double(双精度浮点型)、long double(长双精度浮点型)。(1
25、)float型(单精度浮点型)。编译系统为每一个float型变量分配4个字节,数值以规范化的二进制数值形式存放在存储单元中。在存储时,系统将实型数据分成小数部分和指数部分两个部分,分别存放。小数部分的小数点前面的数为0.如3.14159在内存中的存放形式可以用图2.9表示。图2.9任务2.2 数据类型 double型(双精度浮点型)。为了扩大能表示的数值范围,用8个字节存储一个double型数据,可以得到15位有效数字,数值范围为1.710-308 1.710308。在C语言中进行浮点数的算术运算时,将float型数据都自动转换为double型,然后进行运算。long double型(长双精度
展开阅读全文