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

下载本文档

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

文档简介

第2章C语言的基本数据类型与表达式2.1C语言的基本数据类型2.2常量和变量2.3运算符与表达式2.4数据类型转换,C语言程序设计教程,2,2.1C语言的基本数据类型,一、数据类型概述,第2章C语言的基本数据类型与表达式,3,int,0000,0002,0004,0006,0008,0010,float,double,第2章C语言的基本数据类型与表达式,4,1、常量:(1)十进制形式:与数学上的整数表示相同;例如:12,-100,0(2)八进制形式:在数码前加数字0;例如:012=1*81+2*80=10(十进制)(3)十六进制形式:在数码前加0X(数字0和字母X)。例如:0 x12=1*161+2*160=18(十进制)*八进制的数码范围为07;018*十六进制的数码除了数字09外,还使用英文字母af(或AF)表示1015。如:0 x1e,注意!,二、整型,第2章C语言的基本数据类型与表达式,5,2、分类:根据数据所占的二进制位数分为:int、short、long;同样存储长度的数据又分unsigned、signed;故可组合出六种类型。缺省值为short。如:25(short),25l(长整型),25u(无符号),25ul(无符号长)3、值域:由机器中数据的存储长度决定。如TurboC中,有short(2字节)int(2字节)long(4字节)关键字所占位数取值范围short16(2B)-3276832767unsignedshort16(2B)065535int16(2B)-3276832767unsigned16(2B)065535long32(4B)-21474836482147483647unsignedlong32(4B)04294967295,第2章C语言的基本数据类型与表达式,6,1、常量:(1)十进制小数形式:由数字和小数点组成;例如:3.4,4.,.3。(2)指数形式:“十进制小数”+“e(或E)”+“十进制数整数”。例如:12.5e-6表示12.510-6。小数点不能单独出现;0.0.e或E的两边必须有数,且其后面必须为整数;如:6E0.2e52、分类:关键字字节数取值范围精度(位)float43.410-383.410387double81.710-3081.71030815缺省值类型为double。,注意,第2章C语言的基本数据类型与表达式,三、实型,7,1、常量:(1)用单引号括起来的一个字符;如:A、1、?等。(2)用单引号括起来的由反斜杠()引导的转义字符。字符形式功能n换行t横向跳格b退格r回车反斜杠字符单引号字符ddd8进制数表示的ASCII码对应的字符xhh16进制数表示的ASCII码对应的字符,第2章C语言的基本数据类型与表达式,四、字符类型,8,例如:字符A的ASCII码为:65D(十进制)=41H(十六进制)=101Q(八进制)字符A可以表示为A、x41、101。2、分类:char和unsignedchar;3、值域:每个字符型数据在内存中占一个字节;包括ASCII字符表中的所有字符(可显示字符和非显示字符)。4、字符串:是用一对双引号括起来的字符序列。如:“SHANGHAI”,“AbcdeFGHijk”,“Howareyou”。,注意,第2章C语言的基本数据类型与表达式,a与“a”的区别。,9,一、常量与符号常量常量是指在程序运行中,其数值不能被改变的量。常量又可分为直接常量和符号常量。,第2章C语言的基本数据类型与表达式,2.2常量与变量,10,120、-100、0;0120、072;0 xFFFF、0 x1e、0X28AF,0XED4;120L,200L;长整型常量3.14、-3.1、5.12E-6;a、#、n、101;099、12f、0 xg、48EA;019.5、1e-08;实型常量只能用十进制形式表示2.1E10.2、E-6、6.4E+4.8、E9;changsha、+?ab;、p、ab;,第2章C语言的基本数据类型与表达式,1、直接常量:是在程序中直接引用的数据。,请判断这些常量正确与否:,11,2、符号常量是用标识符来表示一个数据;在程序不能给它赋值。定义形式:#define标识符常量数据例如:#definePI3.14159在程序预处理时,凡是出现标识符PI的地方都将用数据3.14159来替换。如:2*2.3*PI就等价于2*2.3*3.14159。,第2章C语言的基本数据类型与表达式,二、变量变量是指以标识符为名字,其值可以改变的量。变量代表计算机内存中的某一存储空间,该存储空间中存放的数据就是变量的值。在同一程序块中,变量不能被重复定义。使用变量时必须“先定义,后使用”。,12,第2章C语言的基本数据类型与表达式,2、变量初始化在说明变量的同时给变量一个初始值。,例如,inta=5,b=3;inta=b=c=3;inta,b,c;a=b=c=3;,变量名,a,变量地址,5,变量值,13,main()intx,y,z,w;/*定义x,y,z,w为整型变量*/unsignedintk;/*定义k为无符号整型变量*/x=10;y=-20;k=30;z=x+k;w=y+k;printf(“x+k=%d,y+k=%dn”,z,w);,第2章C语言的基本数据类型与表达式,例2-1:,程序运行结果为:x+k=40,y+k=10,14,例,完善程序(s1-3.c)程序功能:下面的程序是求整数a/b的商和余数,请用正确的表达式填空。main()inta,b,c,d;a=100;b=30;_printf(“a=%d,b=%d,c=%d,d=%dn”,a,b,c,d);,第2章C语言的基本数据类型与表达式,15,按操作功能运算符大致可分为算术运算符、关系运算符、逻辑运算符、按位运算符以及其它运算符如赋值运算符、条件运算符、逗号运算符等。单目、双目、三目运算符表达式是由操作数和运算符组成的序列。,第2章C语言的基本数据类型与表达式,2.3运算符与表达式,算术运算符+-*/%关系运算符=!=逻辑运算符!intb=6,c=3;求解:a*b/c-1.5+a+fabs(-5)=?,第2章C语言的基本数据类型与表达式,18,floata=2.0;intb=6,c=3;a*b/c-1.5+a+fabs(-5),12.0/3,5,4.0-1.5,2.5+97(int),99.5+5,104.5(double),第2章C语言的基本数据类型与表达式,19,1、6种关系运算符:双目:=!=2、关系表达式:用关系运算符将表达式连接起来的式子优先级:(=)(=!=)结合性:自左至右;表达式的值:若为真,则结果为1;若为假,则结果为0。,35的值为0;32的值为0;3+(4bab=cb+cbc,例如,第2章C语言的基本数据类型与表达式,二、关系运算符和关系表达式,20,1、3种逻辑运算符:双目:floatb=3.5;!a(0)!(a0)(0)(a0)(1),例如,第2章C语言的基本数据类型与表达式,22,!高算术运算符关系运算符d=(a=+b);e=(a-!=b);f=(+ab-);?a,b,c,d,e,f,第2章C语言的基本数据类型与表达式,31,3、设intx=4;y=25;z=2;z=(-y/+x)*z?z4、设intx=y=z=0;+x|+y,第2章C语言的基本数据类型与表达式,32,1、赋值运算符单目:=2、赋值表达式:用赋值运算符将变量和表达式连接起来形式:=求值规则:将“=”右边表达式的值赋给左边的变量。优先级:!算术关系a=b=c=5;c+=a+b;d=c%a;,第2章C语言的基本数据类型与表达式,35,综合练习:设inta=12,n=5;a+=a-=a*=a;a%=(n%=2);设intx3,y;x*=y=x+;,第2章C语言的基本数据类型与表达式,36,1、条件运算符?和:,它们与三个操作数组组成三元运算。形式为:?:求值规则和表达式的值:真(非0),求解表达式2求解表达式1条件表达式的值假(0),求解表达式3例如:intmax,a=5;b=3;max=ab?a:bmax及赋值表达式的值均为5;a条件赋值,第2章C语言的基本数据类型与表达式,38,结合性:自右至左;y=x10?x/10:x0?x:-x;等价于:y=x10?x/10:(xy+?x+:y+;intx=3;y=4,z=4;(z=yx)?1:0;inta=5,c=4;(-a=c+)?a?+c;,第2章C语言的基本数据类型与表达式,40,分析以下程序的执行结果(s2-2.c)#includemain()inti=16,j,x=6,y,z;j=i+1;printf(“1:%dn”,j);x*=i=j;printf(“2:%dn”,x);x=1;y=2;z=3;x+=y+=z;printf(“3:%dn”,z+=xy?x+:y+);x=y=z=-1;+x|+y,第2章C语言的基本数据类型与表达式,41,2、逗号运算符:单目:,形式:逗号表达式1,逗号表达式2,逗号表达式n求值规则:从左至右依次计算各表达式的值;优先级:最低;结合性:自左至右;表达式的值:最后一个表达式的值。如,a=3,6*a;结果为18,但a的值为3一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式。如,(a=3*5,a*4),a+5;值为20,第2章C语言的基本数据类型与表达式,42,例如: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注意:C语言常用逗号作为分隔符,例如:inta=3,b=4,c=5;printf(“%d,%d,%d”,(a,b,c);printf(“%d,%d,%d”,a,(a,b,c),c);结果为3,5,5,第2章C语言的基本数据类型与表达式,43,形式有两种:sizeof变量名sizeof(类型名)结果为整型数。,inta;floatx;printf(“%d,%d”,sizeofa,sizeofx);printf(“%d,%d”,sizeof(int),sizeof(float);以上两个printf语句结果均为2,4。,例如,第2章C语言的基本数据类型与表达式,3、求字节运算符:sizeof作用:求得变量或某种数据类型所需的字节数。,44,分析程序执行结果(s2-3.c)#includemain()inta=1;charc=a;floatf=2.0;printf(“%dn”,(a+2,c+2);printf(“%dn”,(a=c);printf(“%dn”,(!(a=0),f!=0,第2章C语言的基本数据类型与表达式,45,C语言允许整型、实型、字符型数据进行混合运算。有3种转换方式:自动转换、赋值转换和强制转换。一、类型自动转换,doublefloatlongunsignedintchar,short,第2章C语言的基本数据类型与表达式,2.4数据类型转换,46,intx=2;floaty=1.6;charc=A;则:c+x*y=c+x*y65(int)+2(int)*1.6(double)=68.2(double)二、赋值转换在赋值时将赋值符右边值的类型转换成与其左边变量类型一致的类型。有下列几种情况:(1)实型整型(字符型):去掉小数部分;,例如,charc=68.5;printf(“%c”,c);,第2章C语言的基本数据类型与表达式,47,(2)整型(字符型)实型:补足有效位;(3)对char、int、short、long、unsigned型数据:赋值符右边数据(a位)赋值符左边的变量(b位)若a=b原样照赋;ab截断高a-b位,送低b位;有符号数据有符号变量:符号扩展;其他情况:高a-b位全补0。符号扩展:符号位为0,剩余的高位

温馨提示

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

评论

0/150

提交评论