C语言的基本数据类型与表达式_第1页
C语言的基本数据类型与表达式_第2页
C语言的基本数据类型与表达式_第3页
C语言的基本数据类型与表达式_第4页
C语言的基本数据类型与表达式_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

2.1常量和变量2.2运算符与表达式2.3数据类型转换第二章C语言的基本数据类型与表达式第二章目录

1、程序由语句组成。2、C程序中有一种语句,叫表达式语句,它的形式是:

表达式;3、表达式是由若干运算符将若干运算量连接而成的式子。4、运算量有常量、变量和函数三种形态。2.1常量和变量一、常量概念:在程序运行中,其数值不能被改变的量。分类:直接常量和符号常量1.直接常量:是在程序中直接引用的数据。分为:整型、实型、字符型、字符串以数据的原形出现!第二章2.2常量和变量(1)整型常量(即整数)三种表现形式:十进制形式:与数学上的整数表示相同。例如:12,-100,0八进制形式:在数码前加数字0。例如:012=1*81+2*80=10(十进制)十六进制形式:在数码前加0X(数字0和字母X,大小写均可)。例如:0x12=1*161+2*160=18(十进制)第二章2.2常量和变量X=12;y=012;z=0x12;?(2)实型常量(即实数)二种表现形式:十进制形式:由数字和小数点组成;指数形式:由“十进制小数”+“e(或E)”+“十进制数整数”三部分组成。第二章2.2常量和变量例如:3.44.

.3

例如:12.5e-6表示12.5×10-6十进制小数e(或E)十进制数整数注意事项:小数点不能单独出现;e或E的两边必须有数,且其后面必须为整数;

如:0.=.0=0=0.0.

如:6E0.2e56E

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

'\'例:“abc\bcef\fg123\01234\x123\n”的长度?

18第二章2.2常量和变量字符的值域:即字符的取值范围。0-255ASCII字符表中的所有字符,每个字符型数据在内存中占一个字节。第二章2.2常量和变量2.符符号号常常量量::特点点::在程程序序中中不不能能给给它它赋赋值值,,必必须须先先定定义义,,后后使使用用。概念念::是是用用标标识识符符来来表表示示一一个个数数据据。。定义义形形式式:#define标标识识符符常常量量数数据据例如如:#definePI3.14159在程程序序预预处处理理时时,,凡凡是是出出现现标标识识符符PI的的地地方方都都将将用用数数据据3.14159来来替替换换。。如:2*2.3*PI就就等等价价于于2*2.3*3.14159。。#definePI3.14main(){floatr,l,s,v;scanf(““%f””,&r);l=2*PI*r;s=PI*r*r;v=4*PI*r*r*r/3;printf(“l=%f,s=%f,v=%f\n”,l,s,v);}第二章2.2常量和变量二、变量变量是指在程程序运行中,其值可以以被改变的量量。基本概念:变量代表计算算机内存中的的某一存储空空间;变量的值就是是该存储空间间中存放的数数据;变量的类型决决定了该存储储空间的大小小及运算的类类型;该该存储空间的的大小决定了了该变量所能能存储的数据据的范围。在同一程序块块中,每个变变量都有唯一一的名字,不不能被重复定定义。使用变量时必必须“先定义义,后使用””。inta,b,c;floatx,y;charc1,c2;或intc1,c2;自己设定,满满足标识符的的规定。如:int,float,char;不可省第二章2.2常量和变量1.定义形式式:类型标识符变变量名1[,变量量名2,变量量名3,...];例如:第二章2.2常量和变量2.整型变量量(1)整型变变量的分类基本型,以int表示。短整型,以shortint表示,或以short表表示。长整型,以longint表示,,或以long表示。无符号型,其其中无符号型型又分为无符符号整型,无无符号短整型型和无符号长长整型,分别别以unsignedintunsignedshortunsignedlong表示。。intx;longy;2000200120022005xy内存内存地址20032004第二章2.2常量和变量第二章2.2常量和变量整数后加一个个字母1或或L,则认认为是longint型常量.长整型常量的的表示:例如:1231,432L,0L等等等。这往往用于函函数调用中,如果函数的的形参为long型,则则要求实参也也为long型,此时时用123作作实参不行,而要用123L作实参参。第二章2.2常量和变量3、实型变量量的分类(1)实型变变量的分类单精度(float)型型双精度(double))型

占内存有效数字位数范围float4个字节710-38-1038double8个字节14-1510-308-10308(2)实例floatx;doubley;2000200320042011xy内存内存地址第二章2.2常量和变量例如:charc;c=’a’’;c=’\034’;c=’’\n’;c=’\x65’;c=65;c=0101;c=0x41;第二章2.2常量和变量4.字符变量量字符变量用来来存放字符常常量,注意一一个字符变量量只能存放一一个字符。一般以一个字字节来存放一一个字符,或或者说一个字字符变量在内内存中占一个个字节。注意:字符型型数据在ascII码范范围内与整型型数据通用!!如:‘A’’和数值65等价。例:main(){intx=32,y;y=x+’A’;printf(“%d,%c”,y,y);}运行结果为::97,a第二章2.2常量和变量5.变量初始始化在说明变量的的同时给变量量一个初始值值。变量定义分配存储空间间变量初始化分配存储空间间的同时存入入数据inta,b;ab??inta=1,b=2;ab12不确定例2-3:看看一看,下列列的定义哪些些是正确的??inta=5,b=3;inta=b=c=3;inta,b,c;a=b=c=3;第二章2.2常量和变量2.2运算算符与表达式式运算符的分类类算术运算符关系运算符逻辑运算符赋值运算符按位运算符其它运算符表达式:是由操作数和运算符组成的序列。。第二章2.3运算符和表达式一、算术运算算符和算术表表达式1、算术运算算符+:加法-:减法*:乘法/:除法%:取余或模模3+51+1+33-51-1-33*5aba.b3/5=03./5=0.63/5.=0.613%5=3a%ba、b必必须为整数5%3=221%7=06%8=6第二章2.3运算符和表达式2、算术表达达式用算术运算符和括符将操作数连接接起来的式子子。优先级:()*/%+-结合性自左向右,与与数学上一致致。表达式在执行行时,先执行行优先级高的的运算,再执执行优先级低低的运算;当当优先级平级级时,则根据据优先级的结结合性来决定定运算的先后后。第二章2.3运算符和表达式结合性是指同同级运算时运运算符的结合合方向。如 a#b#c(#代代表某一运算算符)A、若先运算算a#b,再再将其结果与与c运算,称为左结合性性;从左至右右运算规则B、若先运算算b#c,再再将a与其结结果运算,则称右结合性性。从右至左左运算规则3.自增与自自减运算符(重点和难难点)第二章2.3运算符和表达式++i,--i先增(减)1,再使用i值i++,i--先使用i值,,再增(减))1(1)单独独使用时++i;等价i++;等价i=i+1;(2)j=++i;(3)j=i++;若i的初始值值为3i=4;j=4;i=4;j=3;第二章2.3运算符和表达式结合性:自右向左例:i=2;j=-i++;分析::应理理解为为j=(-(i++));(1))++、--、、+((正号号)、、-((取负负)是是同级级运算算符,,结合合方向向:自右向向左。(2))-i++等等价于于-((i++))(3))对对于括括号内内的自自增运运算,,又要要先使使用i,再再使i增加加1。。运算结结果::i的值值为3,j的值值为-2。。四、赋赋值运运算符符和赋赋值表表达式式1、赋赋值运运算符符=((数学学上的的等号号)功能::将一一个表表达式式的值值赋给给一个个变量。2、赋赋值表表达式式用赋值值运算算符将将变量量和表表达式式连接接起来来的式式子形式:<变量量>=<表表达式式>求值规规则:将“=”右右边表表达式式的值值赋给给左边边的变变量。。结合性性:自自右至至左第二章2.3运算符和表达式赋值表表达式式的值值就是是被赋赋值变变量所所获得得的值值例2-9::(1))x=(y=12)/4y值为为12,x值为为3,,表达达式的的值为为3(2))x=y=12/4y值为为3,,x值值为3,表表达式式的值值为3(3))x=(y=12/4)(y值值为3,x值为为3,,表达达式的的值为为3(4))(x=y)=12/4该赋值值运算算符左左边不不是变变量,,而是是一个个表达达式,,错!!第二章2.3运算符和表达式3、复复合赋赋值运运算符符*=、、/=、%=、、+=、-=、、<<=、、>>=、、&=、ΛΛ=、、¦=共10个由赋值值运算算符与与算术术、位位移、、位逻逻辑运运算符符组成成。复合运运算符符是一一个运运算符符,但但功能能上,是两两个运运算符符功能能的组组合。。例2-10:a+=b相相当当于a=a+ba*=b+c相相当当于a=a*(b+c)a=2;a+=a*=a;第二章2.3运算符和表达式五、其其它运运算符符1、逗号运运算符符形式:逗号表表达式式1,,逗号号表达达式2,……,逗逗号表表达式式n求值规规则:从左至至右依依次计计算各各表达达式的的值优先级级最低结合性性:自左至至右表达式式的值值最后一一个表表达式式的值值。第二章2.3运算符和表达式例2-12:aby逗号表表达式式y=a=4,b=5,a+b;4549y=(a=4,b=5,a+b);4599y=(a=4,b=5),a+b;4559y=a=(4,b=5),a+b;55510第二章2.3运算符和表达式2、求求字节节运算算符形式::sizeof变变量名名sizeof(类类型名名)功能::求得变变量或或某种种数据据类型型所需需的字字节数数。运算结结果::整型数数例2-13:inta;floatx;sizeofa,,sizeofx,sizeof(int),sizeof(float)第二章2.3运算符和表达式2.3数数据类类型转转换C语言言允许许整型型、实实型、、字符符型数数据进进行混混合运运算。。有3种种转换换方式式:第二章2.4数据类型转换自动转转换赋值转转换强制转转换intunsignedintlongintdoublefloatchar,short一、类类型自自动转转换((隐式式转换换)存储长长度较较短存储长长度较较长总趋势势:第二章2.4数据类型转换例2-14:intx=2;floaty=1.6;charc='A';;c+x*y=??65(int)2(int)1.6(double)3.2(double)68.2(double)第二章2.4数据类型转换二

温馨提示

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

评论

0/150

提交评论