C语言程序设计第2章-数据类型课件_第1页
C语言程序设计第2章-数据类型课件_第2页
C语言程序设计第2章-数据类型课件_第3页
C语言程序设计第2章-数据类型课件_第4页
C语言程序设计第2章-数据类型课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0102032.1 数据类型2.2 标识符、常量与变量2.3 运算符与表达式第二章 数据类型、运算符和表达式04052.4 知识点强化与应用2.5 本章小结【学习要点】1.常量和变量2.几种基本的数据类型3.算术运算符、赋值运算符、自增自减运算符、逗号运算符等多种运算符本章主要介绍数据类型、运算符和表达式。希望大家能通过学习理解C语言中数据的存储及处理。描述某个学生的信息,包括性别,英语、高等数学、计算机考试成绩,计算该学生的考试平均分。【导入案例:数据的存储及处理】根据学生的英语、高等数学、计算机考试成绩计算平均分,这些数据可能是整数也可能是小数,那么在C语言中如何表示整数和小数呢?学生的性

2、别又该如何去表示呢?又如何用C语言去计算三门课的平均值呢? 分析C语言提供了丰富的数据类型,整型、实型、字符型,它们可以用来描述学生的成绩和性别。无论是学生三门课的成绩还是平均成绩都不是固定不变的值,因此,C语言提供了变量来保存学生的成绩信息,以便对它们进行处理。C语言还提供了丰富的运算符,算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符等。这些运算符能够将算法的实现过程、对数据的处理流程在程序中用C语言描述出来。分析“程序=算法+数据结构”,算法处理的对象是数据,C语言提供了丰富的数据类型,可分为基本数据类型、构造数据类型、指针类型和空类型四大类。2.1 数据类型数据类型概述C语言数

3、据类型数据类型概述(续)ChinaThe quick brown foxTRUE数据 非数值数值整型实型90.12899/12/19963.141519Jackie Chan字符类型 3.5%字符字符串数据类型概述(续)类型符号关键字占字节数数的表示范围整型int(signed)int 在32位系统下4-21474836482147483647unsigned int 在32位系统下04294967295short(signed)short2-3276832767unsigned short065535long(signed)long4-21474836482147483647unsigned

4、 long04294967295实型有float4绝对值10-371038double8绝对值10-30710308long double12绝对值10-4931104932字符型有(signed)char1-128127无unsigned char02552.2.1 标识符2.2.2 常量2.2.3 变量2.2 标识符、常量与变量2.2.1 标识符例:判断下列标识符号合法性sum Sum M.D.John day Date 3days char ab _aboveM.D.John3dayschar定义:用来标识变量、常量、函数等的字符序列规则:只能由字母、数字、下划线组成,且第一个必须是字母

5、或下划线区分大小写不能使用关键字最大长度编译器TC、BCVC最大长度32255标识符命名习惯:见名知义,不引起混淆常量和变量常量:程序运行时其值不能改变的量(即常数)变量:其值可以改变的量请分析,下面问题中的常量和变量。设银行定期存款的年利率为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit。5x+3y+z/3=100 x+y+z=100常量已知的、确定的、不变的变量未知的、不确定的或可变的2.2.2 常量整型常量(整常数)无前缀十进制0八进制0 x或0X十六进制思考题:下列整型常量哪些是非法的?若合法,是多少进制的数。 012,oX7A

6、,00,078,0 x5Ac,-0 xFFFF,0034,7B。首字符不能是字母o 八进制数中不能有数字8 十进制数中不能有字母B 口诀:前缀决定进制,后缀决定类型2.2.2 常量整型常量(整常数)口诀:前缀决定进制,后缀决定类型无后缀有符号U或u无符号L或llong int 写程序时候除非有特别要求加上前缀后缀,一般来说,我们只需要像平时使用整数那样来写就可以了。123L、-30u、358u、235Lu0XA5Lu, 0 x38Au, 0XAFL2.2.2 常量表示形式:十进制数小数形式(必须有小数点) 0.123 .123 -123. 0.0 123十进制指数形式 a10n 表示为 aEn

7、 或 aen 12.3e+3 -1.23e4 e-5 1.2E-3.5 实型常量(实数)e或E之前必须有数字,e或E之后必须为整数实型常量的类型单精度后缀F或f,长双精度后缀L或l,默认double2.2.2 常量类 型精度(不含小数点) float 7 8 double 16 17 long double 17 18/*实型精度示例*/#include void main( )printf(%fn%fn, 123456.789e4f,123456.789e4);2.2.3 变量变量类型 变量名1, 变量名2, , 变量名n;至少一个空格以分号;结尾整型变量、实型变量、字符变量变量必须先定义再

8、使用unsigned int male_num, female_num;float averge;double a, b, sum;char sex;2.2.3 变量整型变量、实型变量、字符变量变量初始化:变量的初值,在定义变量时,变量名后面增加“= 数值” int x = 7, y = -3, sum;double a = 7.0, b = -2.1E+3, c;char sex=M没有初始化的变量值多少呢?十进制整型常量小数形式的实型常量指数形式的实型常量a10n 表示为 aEn 或 aen数值类型的变量若未初始化则是一个很小的负数。2.3.1 算数运算符与算数表达式2.3.2 赋值运算符

9、与赋值表达式2.3.3 自增/自减运算符2.3.4 逗号运算符与逗号表达式2.3.5 位运算符2.3.6 数据类型转换2.3 运算符与表达式2.3 运算符与表达式C运算符算术运算符:(+ - * / % + -)关系运算符:( = !=)逻辑运算符:(! & |)位运算符 :( | &)赋值运算符:(= 及复合赋值运算符)条件运算符:(?:)逗号运算符:(,)指针运算符:(* &)求字节数 :(sizeof)强制类型转换:(类型)分量运算符:(. -)下标运算符:()其它 :(( ) -)2.3.1 算数运算符与算数表达式算术运算符(+ - * / % )和表达式结合性:从左向右优先级: -

10、- * / % - + -说明: - 可为单目运算符,右结合性 两整数相除,求商 % 要求两侧均为整型数据 单目运算符优先级最高例 5/2 -5/2.0 5%2 -5%2 5%1 5.5%2x + y g * h * (t/20)+ 65 r % 22.3.2 赋值运算符与赋值表达式 一般形式:赋值表达式 x=20 表达式的值?赋值语句x=20;赋值运算符(“” 双目,右结合,优先级仅比逗号高)变量名 = 变量(常量、表达式)先计算右边再把右边的值给左边 int x=0, y, sum; double r; y = x; r = 1.3; c = 2 * 3.14 * r; gw = x %

11、10 ; bw = x / 100 ; x = x + 1 工作原理:2.3.2 赋值运算符与赋值表达式赋值表达式的值: 即赋值号左边变量的值 a=b=c=5; a=(b=5); a=5+(c=6); a=(b=4)+(c=6); a=(b=10)/(c=2); x=(a=5)+(b=8);2.3.2 赋值运算符与赋值表达式运算符表达式计算结果(假设 X=10)含义+=X += 5X = X + 515-=X -= 5X = X - 55*=X *= 5X = X * 550/=X /= 5X = X / 52%=X %= 5X = X % 50复合赋值运算符:双目,右结合,优先级仅比逗号高种

12、类: += -= *= /= %= = &= = |=增加减少累乘2.3.3 自增/自减运算符作用:使变量值加1或减1,用于for循环i+ +i j- -j说明:单目(优先级比双目和三目都要高),右结合优先级:- + - * / % + -+ - 不能用于常量和表达式,如 5+, (a+b)+ 种类:前置 +i -i (先执行i+1或i-1,再使用i值)后置 i+ i- (先使用i值,再执行i+1或i-1)例 int a, b, c, i=3, j, k; j=3; k=j+; j=3; k=+j; a=3; b=5; c = (-a)*b; a=3; b=5; c = (a-)*b; pri

13、ntf(%d, j+);printf(%d, -i+); 2.3.3 自增/自减运算符(续)表达式如何计算结果 (num1=5)num2 = +num1;num1 = num1 + 1;num2 = num1;num2 = 6;num1 = 6;num2 = num1+;num2 = num1;num1 = num1 + 1;num2 = 5;num1 = 6;num2 = -num1;num1 = num1 - 1;num2 = num1;num2 = 4;num1 = 4;num2 = num1-;num2 = num1;num1 = num1 - 1;num2 = 5;num1 = 4;

14、2.3.4 逗号运算符与逗号表达式形式:表达式1,表达式2,表达式n例 a = 3*5, a*4 a = 3*5, a*4, a+5例 x = ( a=3, 6*3 ) x=a=3,6*a优先级: 最低结合性: 从左向右逗号表达式的值:等于表达式n的值/a=15,表达式值60/a=15,表达式值20/赋值表达式,表达式值18,x=18/逗号表达式,表达式值18,x=3/*逗号举例*/#include void main( ) int x, y = 7; float z = 4; x = ( y = y+6, y/z ); printf(x=%dn,x);2.3.6 数据类型转换自动转换:赋值,

15、混合运算把表示范围小的类型的值转换到表示范围大的类型的值强制转换低高doublefloatlongunsignedintchar, shortlong double必定的转换运算对象类型不同时转换例如:int a = 2.5; float r = 1;4 / 3.0 * 3.14 * r *r *r2.3.6 数据类型转换(续)(类型说明符) (表达式或变量或常量)例: float x = 3.5, y = 2.1, z; int a; a = ( int )( x+y ); /结果为5 z = ( int )x + y; 类型转换运算符: 单目,高优先级,右结合 void main( ) float x=3.6; int i; i = ( int )x; printf( x=%f, i=%d , x, i ); 结果:x=3.600000,i=3强制转换2.4 知识点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论