C语言程序设计整套课件完整版电子教案课件汇总(最新).ppt
《C语言程序设计整套课件完整版电子教案课件汇总(最新).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计整套课件完整版电子教案课件汇总(最新).ppt(374页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 基本数据类型和运算符及表达式 共共95页页第2页主要内容常量与变量整型数据实型数据字符型数据运算符和表达式数据类型的转换程序案例小结共共95页页第3页2-1 常量与变量常量和符号常量变量共共95页页第4页常量常量所谓常量,是指在程序运行过程中其值保持不变的量。如程序中的具体数字、字符等。常量被区分为不同的类型。共共95页页第5页符号常量符号常量用一个标识符代表一个常量,称为符号常量,即标识符形式的常量。共共95页页第6页2-1-2 变量变量的概念变量的概念变量的定义变量的初始化共共95页页第7页变量的概念变量的概念C语言中的变量是指在一个程序运行过程中,其值能被改变的量。一个变量应该有
2、一个名字作为标识,变量名的命名规则也就是相关标识符的命名规则。共共95页页第8页变量的定义变量的定义在C语言中,所有变量必须在使用之前给予说明。也就是“先定义,后使用”,说明主要是指出变量的类型。变量定义的一般格式为:数据类型标识符 变量名1,变量名2,变量名n;共共95页页第9页变量的存储共共95页页第10页变量的初始化 在定义变量时同时初始化变量在定义变量时同时初始化变量 int a=8;int a=8;/*/*指定指定a a为整型变量为整型变量,初值为初值为8*/8*/float f=8.24;float f=8.24;/*/*指定指定f f为实型变量为实型变量,初值为初值为8.24*/
3、8.24*/char c=a;char c=a;/*/*指定指定c c为字符型变量为字符型变量,初值为初值为a*/a*/给被定义变量的部分赋初值给被定义变量的部分赋初值 int a,b,c=-6;int a,b,c=-6;它表示指定它表示指定a a、b b、c c均为整型变量,而只对均为整型变量,而只对c c进行进行初始化,且初始化,且c c的初值为的初值为-6-6。共共95页页第11页变量的初始化 对几个变量赋给同一个初值若对几个变量赋同一个初值,不能写成:int a=b=c=6;而应写成:int a=6,b=6,c=6;初始化不是在编译阶段完成的,而是在程序运行时执行本函数时赋给初值的,相
4、当于有一个赋值语句。共共95页页第12页2-2 整型数据整型常量整型变量共共95页页第13页2-2-1 整型常量十进制的整型常量:十进制数允许出现的数字是0-9共10个阿拉伯数字,并以非0数字开头。如456、-789、0等。八进制的整型常量:以0开头的整型常量是八进制整型常量。十六进制的整型常量:以0 x开头的整型常量是十六进制整型常量。共共95页页第14页2-2-2 整型变量整型变量的分类整型变量的分类整型数据在内存中的存放形式整型数据在内存中的存放形式整型变量的定义整型变量的定义整型数据的溢出共共95页页第15页整型变量的分类整型变量的分类基本整型,以int表示。短整型,以short in
5、t表示,或以short表示。长整型,以long int表示,或以long表示。共共95页页第16页整型变量的表示方法共共95页页第17页C语言整型变量数值的表示范围 共共95页页第18页整型数据在内存中的存放形式 数据在内存中是以二进制形式存放的。如果定义了一个整型变量i,系统就给变量i分配相应的存储单元。共共95页页第19页整型变量的定义整型变量的定义定义变量一般要在程序块的首部进行,以免在编译中出现定义变量一般要在程序块的首部进行,以免在编译中出现变量未定义的错误。变量定义的位置决定了被定义变量的变量未定义的错误。变量定义的位置决定了被定义变量的作用域,这一概念将在以后介绍。作用域,这一概
6、念将在以后介绍。描述数据类型的关键字与被定义的变量之间至少要有一个描述数据类型的关键字与被定义的变量之间至少要有一个以上的空格隔开,这样做的目的一是便于阅读程序,二是以上的空格隔开,这样做的目的一是便于阅读程序,二是便于编译系统识别。便于编译系统识别。多个变量是同一数据类型时,可以用一个数据类型的关键多个变量是同一数据类型时,可以用一个数据类型的关键字进行定义,但必须注意,变量间要用逗号隔开,结尾要字进行定义,但必须注意,变量间要用逗号隔开,结尾要用分号结束。用分号结束。变量可以以任意顺序进行定义,不必与它们在代码块中出变量可以以任意顺序进行定义,不必与它们在代码块中出现的顺序相对应。现的顺序
7、相对应。在定义在定义short intshort int型、型、long int long int 型和型和unsigned int unsigned int 型变量时,可型变量时,可以只用以只用shortshort,longlong和和unsignedunsigned进行定义。进行定义。共共95页页第20页整型变量的定义整型变量的定义一个整型常量,其值在一个整型常量,其值在-32 768-32 76832 76732 767范围内,认为它是范围内,认为它是intint型,它可以赋值给型,它可以赋值给intint型和型和short intshort int型变量。型变量。一个整型常量,其值若超
8、过了上述范围,在一个整型常量,其值若超过了上述范围,在-2 147 483 648-2 147 483 6482 147 483 6472 147 483 647范围之内,则认为它是范围之内,则认为它是long int long int 型,可以将型,可以将它赋值给一个它赋值给一个long int long int 型变量。型变量。如果如果C C语言版本(如语言版本(如Turbo CTurbo C)确定)确定short int short int 与与int int 型数据在型数据在内存中占据的长度相同,则它的表数范围与内存中占据的长度相同,则它的表数范围与int int 型相同。型相同。因此
9、,一个因此,一个intint型的常量也同时是一个型的常量也同时是一个short int short int 型常量,可型常量,可以赋值给以赋值给int int 型或型或short int short int 型变量。型变量。常量中无常量中无unsignedunsigned类型。但一个非负值的整型常量可以赋类型。但一个非负值的整型常量可以赋值给值给unsignedunsigned型的整型变量,只要它的范围不超过变量数型的整型变量,只要它的范围不超过变量数值的表示范围即可。值的表示范围即可。在一个整型常量后面加一个字母在一个整型常量后面加一个字母l l 或或L L,则认为是,则认为是long in
10、t long int 型常量。型常量。共共95页页第21页整型数据的溢出 共共95页页第22页2-3 实型数据实型常量实型变量共共95页页第23页2-3-1 实型常量实型常量的形式实型常量的形式实型常量的类型实型常量的类型共共95页页第24页实型常量的形式实型常量的形式十进制数形式 由数字09和小数点组成(注意,必须有小数点)。如3.14159、0.123、.321、21.0、0.0等。注意:在用十进制数书写实型常量时,必须包含小数点,小数点的两边不一定要求都有数字,例如,21.0可以写成21.;而0.123可以写成.123。共共95页页第25页实型常量的形式实型常量的形式指数形式指数形式 实
11、型常量的指数形式类似于数学中的指数表示法,就实型常量的指数形式类似于数学中的指数表示法,就是把其是把其1010的多少次幂中的的多少次幂中的1010用用E E(e e)代替。一般格式)代替。一般格式为:为:尾数尾数E(e)E(e)整数指数整数指数 如如5.1105.1102727,7.210237.21023。在。在C C语言程序中表示为:语言程序中表示为:5.1e-275.1e-27,7.2e237.2e23或或7.2e+237.2e+23。注意:在用指数形式书写实型常量时,注意:在用指数形式书写实型常量时,e e(或(或E E)的前)的前面和后面必须有数字,且面和后面必须有数字,且e e后面
12、的指数必须为整数,后面的指数必须为整数,而尾数可以是整数也可以是小数。例如,而尾数可以是整数也可以是小数。例如,.0e0.0e0、1E01E0、0e50e5合法,而合法,而e3e3、2.1e3.52.1e3.5、.e3.e3、e e等都不是合法的指数等都不是合法的指数形式。形式。共共95页页第26页实型常量的类型实型常量的类型许多编译系统将实型常量作为双精度来处理。例许多编译系统将实型常量作为双精度来处理。例如,已定义一个实型变量如,已定义一个实型变量f f,有如下语句:,有如下语句:f=3.86435*6620.87 f=3.86435*6620.87 系统将系统将3.864353.8643
13、5和和6620.876620.87按双精度数据存储(占按双精度数据存储(占6464位)和运算,得到一个双精度的乘积,然后取前位)和运算,得到一个双精度的乘积,然后取前1616位赋给实型变量位赋给实型变量f f。这样做可以保证计算结果更。这样做可以保证计算结果更精确,但是运算速度降低了。若在数的后面加字精确,但是运算速度降低了。若在数的后面加字母母f f或或F F(如(如1.65f1.65f、654.87F654.87F),这样编译系统就会),这样编译系统就会按单精度(按单精度(3232位)处理。位)处理。共共95页页第27页实型常量的类型实型常量的类型一个实型常量可以赋给一个float型、do
14、uble型或long double型变量。根据变量的类型截取实型常量中相应的有效位数字。共共95页页第28页2-3-2 实型变量实型变量的分类实型变量的定义实型变量的定义实型数据在内存中的存放形式实型数据在内存中的存放形式实型数据的误差共共95页页第29页实型变量的分类实型变量的分类实型变量分为单精度(float型)、双精度(double型)和长双精度(long double型)3类。共共95页页第30页 实型变量共共95页页第31页实型变量的定义 使用单精度型变量之前,必须在程序块的首部对其进行定义。定义单精度型变量的关键字是float。定义i为长双精度实数。C编译系统将为其分配8个字节(1
15、28bit)的存储空间。共共95页页第32页实型数据在内存中的存放形式 共共95页页第33页实型数据在内存中的存放形式 共共95页页第34页实型数据的误差 由于实型变量是用有限的存储单元存储的,因此,能提供的有效数字总是有限的,在有效位以外的数字将被舍去。由此可能会产生一些误差。共共95页页第35页2-4 字符型数据字符常量转义序列字符串常量符号常量字符型变量字符数据在内存中的存放形式及其使用方法共共95页页第36页2-4-1 字符常量C语言中字符型常量是由一对单引号括起来的单个字符构成。例如:x,y,7,%,;等都是有效的字符型常量。共共95页页第37页2-4-2 转义序列除了以上介绍的字符
16、常量之外,C语言还允许用一种特殊形式的字符常量,就是以一个“”开头的字符序列。共共95页页第38页转义序列 共共95页页第39页2-4-3 字符串常量C语言中除了允许使用字符型常量外,还允许使用字符串常量。字符串常量是用一对双引号括起来的字符序列。共共95页页第40页2-4-4 符号常量C语言中,常量可以用符号代替,代替常量的符号称之为符号常量。为了便于与一般标识符、变量名相区别,符号常量一般用大写英文字母序列构成,符号常量在使用之前必须预先进行定义。其定义的一般格式是:#define 符号常量名 常量共共95页页第41页2-4-4 符号常量使用符号常量增强了程序的可读性。使程序易于修改。共共
17、95页页第42页2-4-5 字符型变量字符型变量是用来存放字符常量的,在一个字符变量中只能放一个字符,而不能存放一个字符串(包括若干字符)。字符型变量和整型变量一样也需要先定义,其定义应该在程序块的首部,其关键字是“char”。字符型变量的定义形式如下:char c1,c2;或char c1;char c2;共共95页页第43页2-4-6 字符数据在内存中的存放形式及其使用方法字符常量在内存中的存放形式及使用字符常量在内存中的存放形式及使用字符串常量在内存中的存放形式共共95页页第44页字符常量在内存中的存放形式及使用 将一个字符常量放到一个字符型变量中,实际上并不是把该字符本身放到内存单元中
18、去,而是将该字符的相应的ASCII代码放到存储单元中。共共95页页第45页字符常量在内存中的存放形式共共95页页第46页字符串常量在内存中的存放形式字符串常量在内存中的存放形式字符串常量在内存中存储时,系统自动在该字符串的末尾加一个“字符串结束标志”,这个结束标志就是0(ASCII码值为0的字符),也用NULL表示。它是一字节(8bit)的代码,因此,长度为n个字符的字符串常量,在内存中要占用n+1个字节的存储空间。共共95页页第47页2-5 运算符和表达式 运算符的分类运算符的分类运算符的优先级与结合性运算符的优先级与结合性算术运算符和算术表达式算术运算符和算术表达式增增1 1、减、减1 1
19、运算符及表达式运算符及表达式赋值运算符和赋值表达式赋值运算符和赋值表达式关系运算符和关系表达式关系运算符和关系表达式逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式逗号运算符和逗号表达式逗号运算符和逗号表达式sizeofsizeof运算符运算符共共95页页第48页2-5-1 运算符的分类 圆括号运算符:圆括号运算符:()()。算术运算符:算术运算符:+、-、*、%。增增1 1、减、减1 1运算符:运算符:+、-。赋值运算符:赋值运算符:=及其扩展赋值运算符。及其扩展赋值运算符。关系运算符:、关系运算符:、=、=、=、!=!=。逻辑运算符:逻辑运算符:&、!。逗号运算符:逗号运算符:,。求字节数运算
20、符:求字节数运算符:sizeofsizeof。共共95页页第49页2-5-1 运算符的分类 强制类型转换运算符:(类型)。条件运算符:?、:。下标运算符:。指针运算符:*、&。分量运算符:、。位运算符:、|、。共共95页页第50页2-5-2 运算符的优先级与结合性运算符的优先级运算符的优先级运算符的结合性运算符的结合性共共95页页第51页运算符的优先级 所谓运算符的优先级就是在一个表达式中运算符所具有的运算优先次序。优先级数字越大,表示优先级越高,越优先被执行。在C语言中,运算符的优先顺序共分15个等级,最低为1,最高为15。处在同一级别的运算符,它们的优先级相同。共共95页页第52页运算符的
21、结合性运算符的结合性所谓运算符的结合性就是同一优先级的运算符的结合方向。自左至右的结合方向,称为“左结合性”;反之称为“右结合性”。除单目运算符、赋值运算符和条件运算符是“右结合性”,即第14、3、2级。其他运算符都是“左结合性”。共共95页页第53页2-5-3 算术运算符和算术表达式算术运算符算术运算符算术表达式算术表达式算数运算符的优先级、结合性共共95页页第54页算术运算符算术运算符C语言有如下5个算术运算符。+:加法运算符,或正值运算符,如1+4,+8。-:减法运算符,或负值运算符,如5-2,-9。*:乘法运算符,如2*6。/:除法运算符,如7/4。%:模运算符,或称求余运算符,如5%
22、3。共共95页页第55页算术运算符算术运算符两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。但是,如果除数或被除数中有一个为负值,则舍入的方向是不固定的。模运算是取整数除法的余数。共共95页页第56页算术表达式算术表达式算术运算符和操作数结合构成算术表达式。操作数包括常量、变量、函数等。共共95页页第57页算数运算符的优先级、结合性算数运算符的优先级、结合性算术运算符中的“*、/、%”运算符指定优先级是第13级,它们优先于优先级小于13级的各种运算符,但它们低于优先级为第15级和第14级的运算符。而运算符+、-的优先级是第12级。也就是说在一个表达式中有加、减、乘和除运算时要先进
23、行乘、除运算,而后进行加、减运算。共共95页页第58页2-5-4 增1、减1运算符及表达式增1、减1运算符增1、减1表达式共共95页页第59页增1、减1运算符C语言中除了基本运算符外,还包括两个特殊的算术运算符:增1运算符“+”,减1运算符“-”。表达形式有4种:+操作数操作数操作数操作数+-操作数操作数操作数操作数-共共95页页第60页增1、减1表达式 由增由增1 1、减、减1 1运算符和变量构成的表达式是增运算符和变量构成的表达式是增1 1、减、减1 1表达式。表达式。使用增使用增1 1、减、减1 1操作时需注意:操作时需注意:增增1 1、减、减1 1运算的操作对象只能是变量,而不允许运算
24、的操作对象只能是变量,而不允许是常量或表达式、函数调用等。是常量或表达式、函数调用等。增增1 1、减、减1 1运算符的操作数通常是整型或字符型,运算符的操作数通常是整型或字符型,因为上述类型的数据操作后其值是确定的;而实因为上述类型的数据操作后其值是确定的;而实型数操作前后并不能确保其差的绝对值是型数操作前后并不能确保其差的绝对值是1 1。增增1 1、减、减1 1操作又分前置和后置操作两类,它们有操作又分前置和后置操作两类,它们有质的区别。质的区别。共共95页页第61页增1、减1表达式 增增1 1、减、减1 1运算是除了第运算是除了第1515级以外优先级最高的运级以外优先级最高的运算。但是后置
25、操作则要注意:必然先引用其值参算。但是后置操作则要注意:必然先引用其值参加运算,再做后置操作。加运算,再做后置操作。注意增注意增1 1、减、减1 1操作的副作用。操作的副作用。增增1 1、减、减1 1运算一般用于如下两种场合:运算一般用于如下两种场合:计数。最常用的场合是修改循环控制变量,因为计数。最常用的场合是修改循环控制变量,因为n+n+不不论是从书写的角度还是从阅读的角度都比论是从书写的角度还是从阅读的角度都比n=n+1n=n+1来得简来得简捷方便;且生成的目标码较之捷方便;且生成的目标码较之n=n+1n=n+1短。短。指针增指针增1 1、减、减1 1操作。操作。在增在增1 1或减或减1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 整套 课件 完整版 电子 教案 汇总 最新
限制150内