C语言的基本数据类型与表达式(ppt 41页).ppt_第1页
C语言的基本数据类型与表达式(ppt 41页).ppt_第2页
C语言的基本数据类型与表达式(ppt 41页).ppt_第3页
C语言的基本数据类型与表达式(ppt 41页).ppt_第4页
C语言的基本数据类型与表达式(ppt 41页).ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、2.1 常量和变量 2.2 运算符与表达式 2.3 数据类型转换,第二章 C语言的基本数据类型与表达式,1、 程序由语句组成。 2、C程序中有一种语句,叫表达式语句,它的形式是: 表达式 ; 3、 表达式是由若干运算符将若干运算量连接而成的式子。 4、运算量有常量、变量 和 函数 三种形态,2.1 常量和变量,一、常量,1.直接常量:是在程序中直接引用的数据,分为:整型、实型、字符型、字符串,以数据的原形出现,1)整型常量(即整数,三种表现形式,十进制形式:与数学上的整数表示相同。 例如: 12, -100, 0,八进制形式:在数码前加数字0 。 例如: 012=1*81+2*80=10(十进

2、制,十六进制形式:在数码前加0X(数字0和字母X,大小写均可)。 例如: 0 x12=1*161+2*160=18(十进制,X=12; y=012; z=0 x12,2)实型常量(即实数,二种表现形式,十进制形式:由数字和小数点组成,指数形式:由“十进制小数” + “ e(或E)” + “十进制数整数” 三部分组成,例如: 3.4 4. .3,例如: 12.5e-6 表示12.510-6,十进制小数,e(或E,十进制数整数,注意事项,小数点不能单独出现,e或E的两边必须有数,且其后面必须为整数,如:0. = .0 = 0 = 0.0,如: 6E0.2 e5 6E,3)字符型,二种表现形式,用单

3、引号括起来的一个字符,用单引号括起来的由反斜杠()引导的转义字符,如:A、 1、?等,如: n 101 x41,在统计字符个数时,只能记为一个字符,只能是英文的单引号,转义字符表,字符形式,功能,n,换行,t 、V,横向跳格,b 、r,坚向跳格,退格,f,回车,8进制数表示的ASCII码对应的字符,反斜杠、单引号、双引号,ddd,换页,xhh,16进制数表示的ASCII码对应的字符,一个字符的多种表示方法,65D(十进制)=41H(十六进制)=101Q(八进制) 字符A可以表示为A、x41、101、65、0 x41、0101,要避免的错误,表示单引号: 表示双引号: 表示斜线:,例:“abcb

4、ceffg12301234x123n”的长度,18,字符的值域,即字符的取值范围,0-255,ASCII字符表中的所有字符,每个字符型数据在内存中占一个字节,2.符号常量,特点:在程序中不能给它赋值,必须先定义,后使用,概念:是用标识符来表示一个数据,定义形式,define 标识符 常量数据,例如: #define PI 3.14159,在程序预处理时,凡是出现标识符PI的地方都将用数据3.14159来替换,如:2*2.3*PI 就等价于 2*2.3*3.14159,define PI 3.14 main( ) float r , l , s , v ; scanf(“%f ” ,二、变量,变

5、量是指在程序运行中, 其值可以被改变的量,基本概念,变量代表计算机内存中的某一存储空间; 变量的值就是该存储空间中存放的数据; 变量的类型决定了该存储空间的大小及运算的 类型;该存储空间的大小决定了该变量所能存储的数据的范围,在同一程序块中,每个变量都有唯一的名字,不能被重复定义,使用变量时必须“先定义,后使用,int a,b,c ; float x,y; char c1,c2; 或 int c1,c2,自己设定,满足标识符的规定,如:int, float,char,不可省,1.定义形式,类型标识符 变量名1 ,变量名2,变量名3,.,例如,2.整型变量,1)整型变量的分类,基本型,以int表

6、示,短整型,以short int表示,或以short表示,长整型,以long int表示,或以long表示,无符号型,其中无符号型又分为无符号整型,无符号短整型和无符号长整型,分别以 unsigned int unsigned short unsigned long表示,int x; long y,2000,2001,2002,2005,x,y,内存,内存地址,2003,2004,整数后加一个字母1 或 L,则认为是long int型常量,长整型常量的表示,例如:1231 , 432L, 0L等等,这往往用于函数调用中,如果函数的形参为long型,则要求实参也为 long型,此时用123作实参

7、不行,而要用123L作实参,3、实型变量的分类,1)实型变量的分类,单精度(float)型,双精度(double)型,2)实例,2000,2003,2004,2011,x,y,内存,内存地址,例如: char c; c= a; c= 034; c= n; c= x65; c=65;c=0101;c=0 x41,4.字符变量,字符变量用来存放字符常量,注意一个字符变量只能存放一个字符,一般以一个字节来存放一个字符,或者说一个字符变量在内存中占一个字节,注意:字符型数据在ascII码范围内与整型数据通用!如:A和数值65等价。 例:main( ) int x=32 , y; y=x+A; prin

8、tf(“%d,%c”,y,y);,运行结果为: 97 ,a,5.变量初始化,在说明变量的同时给变量一个初始值,变量定义,分配存储空间,变量初始化,分配存储空间的同时存入数据,int a,b,int a=1,b=2,不确定,例2-3:看一看,下列的定义哪些是正确的,int a=5, b=3,int a=b=c=3,int a,b,c; a=b=c=3,2.2 运算符与表达式,运算符的分类,算术运算符,关系运算符,逻辑运算符,赋值运算符,按位运算符,其它运算符,表达式,是由操作数和运算符组成的序列,一、算术运算符和算术表达式,1、算术运算符,:加法,:减法,:乘法,:除法,:取余或模,3+5 1+

9、1 +3,3-5 1-1 -3,3*5 ab a.b,3/5=0 3./5=0.6 3/5.=0.6,13%5=3 a%b a、b必须为整数 5%3=2 21%7=0 6%8=6,2、算术表达式,用算术运算符和括符将操作数连接起来的式子,优先级,/ ,结合性,自左向右,与数学上一致,表达式在执行时,先执行优先级高的运算,再执行优先级低的运算;当优先级平级时,则根据优先级的结合性来决定运算的先后,结合性是指同级运算时运算符的结合方向。 如a#b#c (#代表某一运算符) A、若先运算a#b,再将其结果与c运算, 称为左结合性;从左至右运算规则 B、若先运算b#c,再将a与其结果运算, 则称右结合

10、性。从右至左运算规则,3.自增与自减运算符 (重点和难点,i,-i,先增(减)1,再使用i值,i+,i,先使用i值,再增(减)1,1) 单独使用时,i,等 价,i,等 价,i=i+1,2) j=+i,3) j=i,若i的初始值为3,i=4; j=4,i=4; j=3,结合性,自右向左,例,i = 2; j = -i,分析:应理解为 j=(-(i+); (1)+、-、+(正号)、-(取负)是同级运算符,结合方向:自右向左,2) -i+等价于-(i,3) 对于括号内的自增运算,又要先使用i,再使i增加1,运算结果: i的值为3,j的值为-2,四、赋值运算符和赋值表达式,1、赋值运算符,(数学上的等

11、号,功能:将一个表达式的值赋给一个变量,2、赋值表达式,用赋值运算符将变量和表达式连接起来的式子,形式:,求值规则: 将“=”右边表达式的值赋给左边的变量,结合性:自右至左,赋值表达式的值就是被赋值变量所获得的值,例2-9,1) x=(y=12)/4,y值为12,x值为3,表达式的值为3,2) x=y=12/4,y值为3,x值为3,表达式的值为3,3) x=(y=12/4,y值为3,x值为3,表达式的值为3,4) (x=y)=12/4,该赋值运算符左边不是变量,而是一个表达式,错,3、复合赋值运算符,、/=、%=、+=、-=、=、 a+=a*=a,五、其它运算符 1、逗号运算符,形式,逗号表达

12、式1,逗号表达式2,逗号表达式n,求值规则,从左至右依次计算各表达式的值,优先级,最低,结合性,自左至右,表达式的值,最后一个表达式的值,例2-12,a b y 逗号表达式 y=a=4,b=5,a+b; 4 5 4 9 y=(a=4,b=5,a+b); 4 5 9 9 y=(a=4,b=5),a+b; 4 5 5 9 y=a=(4,b=5),a+b; 5 5 5 10,2、求字节运算符,形式,sizeof 变量名 sizeof (类型名,功能,求得变量或某种数据类型所需的字节数,运算结果,整型数,例2-13,int a;float x,sizeof a,sizeof x, sizeof(int

13、),sizeof(float,2.3 数据类型转换,C语言允许整型、实型、字符型数据进行混合运算,有3种转换方式,自动转换,赋值转换,强制转换,int,unsigned int,long int,double,float,char, short,一、类型自动转换(隐式转换,存储长度较短,存储长度较长,总趋势,例2-14,int x=2;float y=1.6;char c=A,c+x*y=,65(int,2(int,1.6 (double,3.2(double,68.2(double,二、赋值转换,在赋值时,将赋值符右边值的类型转换成与其左边变量类型一致的类型,几种情况,1) 实型,整型(字符型,取整数部分,去掉小数部分,2) 整型、字符型,实型,补足有效位,float f=23; 23.00000 (7位) double f=A; 65.00 000 000 000 000 (16位,三、强制转换,形式,类型名)表达式,注意,强制类型转换时

温馨提示

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

评论

0/150

提交评论