书签 分享 收藏 举报 版权申诉 / 40
上传文档赚钱

类型2C语言的基本数据类型与表达式.ppt课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2533421
  • 上传时间:2022-05-01
  • 格式:PPT
  • 页数:40
  • 大小:134.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《2C语言的基本数据类型与表达式.ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 基本 数据类型 表达式 ppt 课件
    资源描述:

    1、第第2章章 C语言的基本语言的基本数据类型与表达式数据类型与表达式2.1 C2.1 C语言的基本数据类型语言的基本数据类型(1)数据类型概述)数据类型概述 整型整型 int int 基本类型基本类型 字符型字符型 charchar 实型实型 floatfloat,doubledouble 枚举类型枚举类型 enumenum数据类型数据类型 数组数组 构造类型构造类型 结构体结构体 structstruct 共用体共用体 unionunion 指针指针 * * 空类型空类型 voidvoid(2)整数类型)整数类型u整型常量的表示方法整型常量的表示方法(a a)十进制整数)十进制整数 如如123

    2、123,-456-456,0 0(b b)八进制整数)八进制整数 如如0 0开头是八进数,开头是八进数,01230123,表示为表示为8383。如:。如:0505,0100 0100 等。等。(c c)十六进制数)十六进制数 如如0 x1230 x123,表示,表示291291。如:。如:0X50X5,0X100 0X100 等。等。 u整型变量的分类整型变量的分类(a a)intint:基本整型:基本整型(b b) shortshort:短整型,也可写成:短整型,也可写成 short int short int,在,在MS DOSMS DOS上,与整型相同上,与整型相同(c c) longl

    3、ong:长整型:长整型(d d)unsigned:unsigned:无符号型无符号型在在MS DOSMS DOS上,每个整型变量分配上,每个整型变量分配 16 bit 16 bit 存储空存储空间。整型又分成两类,一类表示有符号整数,用间。整型又分成两类,一类表示有符号整数,用 1 bit 1 bit 表示符号,表示符号,15 bit 15 bit 表示数值,可表示数值表示数值,可表示数值范围为范围为 -32768 -32768 至至 3276732767。一类表示无符号整数,。一类表示无符号整数,16 bit 16 bit 都表示数值,可表示数值范围为都表示数值,可表示数值范围为 0 0 至

    4、至 6553565535。数值都用二进制存储。例如:。数值都用二进制存储。例如:int a; int a; unsigned int date; unsigned int date; 等等00000000 001 1001011111111 110 0111050=(110010)50=(110010)2 2 -50 -50例例2.1 2.1 整数变量的定义整数变量的定义void main()void main() int a,b,c,d; int a,b,c,d; unsigned u; unsigned u; a=12;b=-24;u=10; a=12;b=-24;u=10; c=a+u;

    5、d=b+u; c=a+u;d=b+u; printf(a+u=%d,b+u=%dn,c,d); printf(a+u=%d,b+u=%dn,c,d); 例例2.2 2.2 整型数据的溢出整型数据的溢出 #include#include#include#includevoid main()void main() int a,b; int a,b; a=32767; a=32767; b=a+1; b=a+1; printf(%d,%d,a,b); printf(%d,%d,a,b); (3)实数类型)实数类型u实型常量的表示方法实型常量的表示方法(1 1)十进制)十进制 .123.123,123

    6、.0123.0,0.00.0(2 2)指数形式)指数形式 123e3123e3,123E3123E3 e3 e3,2.1e3.52.1e3.5,.e3.e3,e e规范化指数形式,小数点左边只有一位非零的数规范化指数形式,小数点左边只有一位非零的数字字 2.3478e22.3478e2ufloatfloat:单精度浮点型,近似表示实数,在:单精度浮点型,近似表示实数,在MS DOSMS DOS上,每个浮点型变量分配上,每个浮点型变量分配 32 bit 32 bit 存储空间。浮点存储空间。浮点型都是有符号的,可表示数值范围分为三段:型都是有符号的,可表示数值范围分为三段:-10-103838

    7、至至 -10-10-38-38, 0, 10, 0, 103838 至至 10103838。数值都先化成指数,。数值都先化成指数,再用二进制存储。再用二进制存储。6 - 7 6 - 7 位有效数字。位有效数字。例如:例如:float x, y; float x, y; 等。等。udoubledouble:双精度型,近似表示更大实数,在:双精度型,近似表示更大实数,在MS MS DOSDOS上,每个浮点型变量分配上,每个浮点型变量分配 64 bit 64 bit 存储空间。双存储空间。双精度型都是有符号的,可表示数值范围分为三段:精度型都是有符号的,可表示数值范围分为三段:1010308308

    8、至至 -10-10-308-308, 0, 10, 0, 10308308 至至 1010308308。数值都先。数值都先化成指数,再用二进制存储。化成指数,再用二进制存储。15 - 16 15 - 16 位有效数字。位有效数字。例如:例如:double x, y; double x, y; 等。等。 (4)字符类型)字符类型u转义字符(见转义字符(见p15p15)v v 纵向制表纵向制表a a 响铃响铃b b 退格退格 ddddddxhhxhh0 0 空空使用(见程序例使用(见程序例2.32.3)字符形式字符形式 功能功能nn换行换行tt横向跳格横向跳格( (跳到下一个输出区跳到下一个输出区

    9、) )vv竖向跳格竖向跳格bb退格退格rr回车回车, ,本行开头本行开头ff走纸换页走纸换页, ,下页开头下页开头反斜杠字符反斜杠字符单引号字符单引号字符u 字符变量字符变量charchar:字符型,表示一个字符,如:字符型,表示一个字符,如A-Z,0-A-Z,0-9,!,%9,!,%等。在等。在MS DOSMS DOS上,每个字符型变上,每个字符型变量分配量分配 8 bit8 bit(1 byte1 byte)存储空间。字符型变)存储空间。字符型变量用二进制存储字符的量用二进制存储字符的 ASCII ASCII 码值。例如:码值。例如:一个变量存储字符一个变量存储字符AA,实际上是存储,实际

    10、上是存储AA的的 ASCII ASCII 值:值:6565。 u 字符型也分成两类,一类有符号,用字符型也分成两类,一类有符号,用 1 bit 1 bit 表示符号,表示符号,7 bit 7 bit 表示数值,可表示数值范表示数值,可表示数值范围为围为 -128 -128 至至 127127。一类无符号,。一类无符号,8 bit 8 bit 都都表示数值,可表示数值范围为表示数值,可表示数值范围为 0 0 至至 255255。u 字符型常量写成字符型常量写成A,t,65A,t,65等形式。等形式。 u 字符串常量:严格的说,这不是一种数据类字符串常量:严格的说,这不是一种数据类型。只有常量,没

    11、有变量。一个字符串常量型。只有常量,没有变量。一个字符串常量用双引号括起来:用双引号括起来:Hello,World!nHello,World!n。(2009.3)(2009.3)13.13.以下选项中以下选项中, ,能用作数据常量的是能用作数据常量的是A)o115A)o115B)0118B)0118C)1.5e1.5C)1.5e1.5D)115LD)115LD D(2008.9)(2008.9)13.13.以下选项中不能作为以下选项中不能作为C C语言合法常语言合法常量的是量的是A)cdA)cdB)0.1e+6B)0.1e+6C)aC)aD)011D)011A A(2008.9)(2008.9

    12、)16.C16.C源程序中不能表示的数制是源程序中不能表示的数制是A)A)二进制二进制B)B)八进制八进制C)C)十进制十进制D)D)十六进制十六进制A2.2 2.2 常量与变量常量与变量(1)概述)概述 直接常量直接常量 数值常量(整型、实型)数值常量(整型、实型) 字符型常量(字符、字符串)字符型常量(字符、字符串)C C语言常量语言常量 符号常量符号常量(2 2)常量与符号常量)常量与符号常量u 常量:在程序运行时,其值不能被改变的量常量:在程序运行时,其值不能被改变的量叫常量。如叫常量。如 5, 3.14159, 3.618 5, 3.14159, 3.618 等等const int

    13、k=3;const int k=3;u 符号常量可以使用一个标识符表示常量,符号常量可以使用一个标识符表示常量,如:如:PI PI 表示表示 3.141593.14159,RETIREMENT RETIREMENT 表示退表示退休年龄休年龄 60 60 等(等(C C 语言中写作语言中写作 #define PI #define PI 3.14159, #define RETIREMENT 603.14159, #define RETIREMENT 60),这样),这样的标识符叫符号常量,一般大写。见的标识符叫符号常量,一般大写。见P17P17#define MAX 1000#define MA

    14、X 1000#define MIX 10#define MIX 10#define PI 3.14159#define PI 3.14159#define END $#define END $u变量:在程序运行时,其值能被改变的量叫变变量:在程序运行时,其值能被改变的量叫变量。程序运行时,计算机给每个变量分配一定量量。程序运行时,计算机给每个变量分配一定量的存储空间。每个变量必须有一个类型,如整型、的存储空间。每个变量必须有一个类型,如整型、浮点型等,它指明给这个变量分配多大量的存储浮点型等,它指明给这个变量分配多大量的存储空间;每个变量还必须有一个名字,如空间;每个变量还必须有一个名字,如

    15、x, y x, y 等,等,它指明是哪个变量;一般,一个变量还要有值,它指明是哪个变量;一般,一个变量还要有值,值放在变量的存储空间内值放在变量的存储空间内类型类型 变量表;变量表;int I,j,k;int I,j,k;short int si;short int si;double balance,profit,loss;double balance,profit,loss; u变量赋初值变量赋初值赋值语句是将一个值传给一个变量。赋值语句是将一个值传给一个变量。例如:例如: int x; x = 5; int x; x = 5; 将值将值 5 5 传给变量传给变量 x x。例如:例如: i

    16、nt a,b,x; a = 5; b = 3; x = int a,b,x; a = 5; b = 3; x = a+b; a+b; 将值将值 5 5 传给变量传给变量 a a,值,值 3 3 传给变量传给变量 b b,将将 a+b a+b 的值,也就是的值,也就是 8 8 传给变量传给变量 x x。例如:例如: int a,b; a = 5; b = 3; a = a+b; int a,b; a = 5; b = 3; a = a+b; 将值将值 5 5 传给变量传给变量 a a,值,值 3 3 传给变量传给变量 b b,将,将 a+b a+b 的值,也就是的值,也就是 8 8 传给变量传给

    17、变量 a a。例例2.4 整型变量定义及赋初值整型变量定义及赋初值void main() int x,y,z,w; unsigned int k; x=10; y=-20; k=30; z=x+k; w=y+k; printf(x+k=%d,y+k=%dn,z,w);例例2.5 字符型变量定义及赋初值字符型变量定义及赋初值void main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c %c,c1,c2);(2008.9)(2008.9)14.14.以下选项中正确的定义语句是以下选项中正确的定义语句是A)doubleA)doub

    18、lea;b;a;b;B)doubleB)doublea=b=7;a=b=7;C)doubleC)doublea=7,b=7;a=7,b=7;D)double,a,b;D)double,a,b;C C2.3 2.3 运算符与表达式运算符与表达式(1)概述)概述 C C语言的运算符非常丰富,主要有语言的运算符非常丰富,主要有3 3大类:大类:算术运算符、关系运算符与逻辑运算符、按位算术运算符、关系运算符与逻辑运算符、按位运算符。除此之外运算符。除此之外, ,还有一些用于完成特殊任还有一些用于完成特殊任务的运算务的运算, ,如赋值运算符、条件运算符、逗号如赋值运算符、条件运算符、逗号运算符等。归纳如

    19、下:运算符等。归纳如下:p19p19先掌握以下五个:先掌握以下五个:+、-、*、/、%(2)算术运算符与算术表达式)算术运算符与算术表达式 一般的程序设计语言都提供了以下的算术运算符:一般的程序设计语言都提供了以下的算术运算符:加法加法 + +减法减法 - -乘法乘法 * *除法除法 / /求余求余 % %前四种用于所有数据类型,最后一种只用于整型、前四种用于所有数据类型,最后一种只用于整型、长整型、字符型。乘法、除法、求余运算符的优长整型、字符型。乘法、除法、求余运算符的优先级高于加法、减法,即:先乘、除、求余,后先级高于加法、减法,即:先乘、除、求余,后加、减。加、减。 类型转换类型转换各

    20、类数值型数据间的混合运算各类数值型数据间的混合运算10+a+1.5-8765.123410+a+1.5-8765.1234* *bbdoublefloatlongunsignedintchar,short运算符优先级关系和结合方向运算符优先级关系和结合方向 参见课本参见课本p21-22p21-22页,和页,和350350页附录页附录(2008.9)(2008.9)15.15.以下不能正确表示代数式以下不能正确表示代数式2ab/cd2ab/cd的的C C语言表达式是语言表达式是A)2A)2* *a a* *b/c/db/c/dB)aB)a* *b/c/db/c/d* *2 2C)a/c/dC)a

    21、/c/d* *b b* *2 2D)2D)2* *a a* *b/cb/c* *d dD D(3)赋值运算符与赋值表达式)赋值运算符与赋值表达式 赋值运算符赋值运算符为为”=“=“x=10 x=10Y=3Y=3* *x+5x+5* *a a赋值表达式赋值表达式是指由赋值运算符将一个变量和一个是指由赋值运算符将一个变量和一个表达式连接起来。表达式连接起来。 X=y=z=8X=y=z=8X=10+(y=5)X=10+(y=5)A=(b=10)/(c=2)A=(b=10)/(c=2)X=6yX=6yA=b=20/4A=b=20/4 复合赋值运算符复合赋值运算符一般的程序设计语言都提供了以下的算术运算

    22、符:一般的程序设计语言都提供了以下的算术运算符:+ +、- -、* *、/ /、% %。C C语言为提高效率,提供了一些特有的语言为提高效率,提供了一些特有的算术运算符:算术运算符:算术运算符例子相当于算术运算符例子相当于+i+i+、+i+ii=i+1;i=i+1;-i-i-、-i-ii=i-1;i=i-1;+=+=x+=yx+=yx=x+yx=x+y-=-=x-=yx-=yx=x-yx=x-y* *= =x x* *=y=yx=xx=x* *y y/=/=x/=yx/=yx=x/yx=x/yx+=5x+=5x=x+5x=x+5x x* *=y+8=y+8x=xx=x* *(y+8)(y+8)

    23、x%=3x%=3x=x%3x=x%3a a* *=b=ba=aa=a* *b b设设a=10,b=4,c=5a=10,b=4,c=5求求:a:a* *=b+c=b+c9090(2009.3)(2009.3)14.14.设有定义设有定义:int x=2;,:int x=2;,以下表达式中以下表达式中, ,值不为值不为6 6的是的是A)xA)x* *=x+1=x+1B)x+,2B)x+,2* *x xC)xC)x* *=(1+x)=(1+x)D)2D)2* *x,x+=2x,x+=2D 自增与自减运算符自增与自减运算符自增为自增为”+”+”,自减为,自减为”-”-”i+i+和和+i+i略有不同,例

    24、如:略有不同,例如:a=i+; a=i+; 是先将是先将 i i 的值赋与的值赋与 a a,i i 再加再加 1 1,a=+i; a=+i; 是是i i先加先加1 1,再将再将 i i的值赋给的值赋给a a。a+=a-=aa+=a-=a* *a(a(设设a=12)a=12)思考:思考:i=5;a=i+;i=5;a=i+;与与i=5;a=+i;i=5;a=+i;有什么不同,有什么不同,a,ia,i各等于什么?各等于什么?(i+)+(i+)+(i+)(i+)+(i+)+(i+)i+ji+jprintf(“%d,%d”,i,i+)printf(“%d,%d”,i,i+)设有变量说明设有变量说明”in

    25、t m=4;”,int m=4;”,则执则执行语句行语句”m+=mm+=m* *=m-=m/=m;”=m-=m/=m;”后,后,m m的值为的值为: : 0 0(2008.9)(2008.9)6.6.设变量设变量a a和和b b已正确定义并赋初值。已正确定义并赋初值。请写出请写出a-=a+ba-=a+b等价的赋值表达式【等价的赋值表达式【6 6】a=-b a=-b 如果如果int I=3;int I=3;则则k=(I+)+(I+)+(I+),k=(I+)+(I+)+(I+),则则k k =(), I=();=(), I=(); 如果如果 int I=3;int I=3;则则k=(I+)+(+I

    26、)+(I+),k=(I+)+(+I)+(I+),则则k=(), I=();k=(), I=(); 如果如果 int I=3;int I=3;则则k=(+I)+(+I)+(I+)k=(+I)+(+I)+(I+),则,则k=(),I=();k=(),I=(); 如果如果 int I=3;int I=3;则则k=(+I)+(+I)+(+I),k=(+I)+(+I)+(+I),则则k=(),I=();k=(),I=();(4)逗号运算符与求字节运算符)逗号运算符与求字节运算符 表达表达1 1,表达,表达2 2(表达(表达2 2的值)的值)a=3a=3* *5,a5,a* *4 4sizeof(size

    27、of(变量名)变量名)sizeof(sizeof(类型名)类型名)float f;float f;printf(“%d”,sizeof(f);printf(“%d”,sizeof(f);printf(“%d”,sizeof(int);printf(“%d”,sizeof(int);若有说明若有说明”int a,b;”int a,b;”,执行语,执行语句句”b=(a=3b=(a=3* *5,a5,a* *4),a+15;”4),a+15;”之后,之后,b b的值为的值为: : 6060设有变量说明设有变量说明”int x;”int x;”,则表,则表达式达式”(x=4(x=4* *5,x5,x*

    28、 *5),x+25”5),x+25”的值的值为:为: 4545(5)条件运算符)条件运算符 ?:3void main()void main() char ch; char ch; scanf(%c,&ch); scanf(%c,&ch); ch=ch=A&ch=A&ch=Z?ch+32:ch; printf(%c,ch); printf(%c,ch); 设有说明设有说明”int int x,y,z,m=10,n=5;”x,y,z,m=10,n=5;”,执行下面三,执行下面三个语句:个语句: x=(-m=n+)?-m:+n;x=(-m=n+)?-m:+n; y=m+; y=m+; z=n; z=

    29、n;则则x,y,zx,y,z的值分别为的值分别为: :7,9,77,9,7(2008.9)(2008.9)17.17.若有表达式若有表达式(w)?(-x):(+y),(w)?(-x):(+y),则则其中与其中与w w等价的表达式是等价的表达式是A)w=1A)w=1B)w=0B)w=0C)w!=1C)w!=1D)w!=0D)w!=0D D(6)强制类型转换)强制类型转换 (类型名)(表达式)(类型名)(表达式)(double)a(double)a(int)(x+y)(int)(x+y)(float)(5%3)(float)(5%3)例:例:int a=7,b=2; float y1,y2;int

    30、 a=7,b=2; float y1,y2;y1=a/b;y1=a/b; y2=(float)a/b; y2=(float)a/b;(2009.32009.3)6.6.表达式表达式(int)(double)(5/2)+2.5)(int)(double)(5/2)+2.5)的值是的值是【 】4 4(2009.3)(2009.3)12.12.若函数中有定义语句若函数中有定义语句:int k;,:int k;,则则A)A)系统将自动给系统将自动给k k赋初值赋初值0 0B)B)这时这时k k中的值无定义中的值无定义C)C)系统将自动给系统将自动给k k赋初值赋初值-1-1D)D)这时这时k k中无任何值中无任何值B

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:2C语言的基本数据类型与表达式.ppt课件.ppt
    链接地址:https://www.163wenku.com/p-2533421.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库