C语言程序设计教程第2章.pptx

上传人:wuy****n92 文档编号:70104830 上传时间:2023-01-16 格式:PPTX 页数:42 大小:415.80KB
返回 下载 相关 举报
C语言程序设计教程第2章.pptx_第1页
第1页 / 共42页
C语言程序设计教程第2章.pptx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《C语言程序设计教程第2章.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计教程第2章.pptx(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第 2 2 章章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式 2.1 C语言的基本数据类型 2.2 常量和变量 2.3 运算符与表达式 2.4 数据类型转换C C语言程序设计教程语言程序设计教程2 2 字符型(字符型(字符型(字符型(charcharcharchar)整型(整型(整型(整型(short,int,long,unsignedshort,int,long,unsignedshort,int,long,unsignedshort,int,long,unsigned)单精度型(单精度型(单精度型(单精度型(floatfloatfloatfloat)实型实型实型实型 双精

2、度型(双精度型(双精度型(双精度型(doubledoubledoubledouble)枚举类型(枚举类型(枚举类型(枚举类型(enumenumenumenum)数组类型(数组类型(数组类型(数组类型()构造类型构造类型构造类型构造类型 结构体类型(结构体类型(结构体类型(结构体类型(structstructstructstruct)共用体类型(共用体类型(共用体类型(共用体类型(unionunionunionunion)指针类型(指针类型(指针类型(指针类型(*)空类型(空类型(空类型(空类型(voidvoidvoidvoid)基本类型基本类型数据类型数据类型2.1 C2.1 C语言的基本数据

3、类型语言的基本数据类型一、数据类型概述第2章 C语言的基本数据类型与表达式3 31 1 1 1、常量:常量:常量:常量:(1)(1)(1)(1)十进制形式十进制形式十进制形式十进制形式:与数学上的整数表示相同;与数学上的整数表示相同;与数学上的整数表示相同;与数学上的整数表示相同;例如例如例如例如:12,-100,0:12,-100,0:12,-100,0:12,-100,0(2)(2)(2)(2)八进制形式八进制形式八进制形式八进制形式:在数码前加数字在数码前加数字在数码前加数字在数码前加数字0 0 0 0;例如例如例如例如:012=1*8:012=1*8:012=1*8:012=1*81

4、1 1 1+2*8+2*8+2*8+2*80 0 0 0=10(=10(=10(=10(十进制)十进制)十进制)十进制)(3)(3)(3)(3)十六进制形式十六进制形式十六进制形式十六进制形式:在数码前加在数码前加在数码前加在数码前加0X0X0X0X(数字数字数字数字0 0和字母和字母和字母和字母X X)。)。)。)。例如例如例如例如:0 x12=1*16:0 x12=1*16:0 x12=1*16:0 x12=1*161 1 1 1+2*16+2*16+2*16+2*160 0 0 0=18(=18(=18(=18(十进制)十进制)十进制)十进制)*八进制的数码范围为八进制的数码范围为八进制

5、的数码范围为八进制的数码范围为0707;018018 *十六进制的十六进制的十六进制的十六进制的数码除了数字数码除了数字数码除了数字数码除了数字0 0 0 0 9 9 9 9外外外外,还使用英文字母还使用英文字母还使用英文字母还使用英文字母af(af(或或或或AF)AF)表示表示表示表示10151015。如:如:如:如:0 x1e0 x1e 二、整型第2章 C语言的基本数据类型与表达式4 422、分类:分类:分类:分类:根据数据所占的二进制位数分为根据数据所占的二进制位数分为根据数据所占的二进制位数分为根据数据所占的二进制位数分为:intint、shortshort、longlong;同样存储

6、长度的数据又分同样存储长度的数据又分同样存储长度的数据又分同样存储长度的数据又分unsignedunsigned、signedsigned;故可组合出六种类型。故可组合出六种类型。故可组合出六种类型。故可组合出六种类型。3 3、值域:值域:值域:值域:由机器中数据的存储长度决定。由机器中数据的存储长度决定。由机器中数据的存储长度决定。由机器中数据的存储长度决定。如如如如TurboCTurboC中,有中,有中,有中,有 short(2short(2字节字节字节字节)int(2int(2字节字节字节字节)long(4long(4字节字节字节字节)关键字关键字关键字关键字 所占位数所占位数所占位数所

7、占位数取值范围取值范围取值范围取值范围 short 16 short 16 short 16 short 16 -32768-32768-32768-3276832767327673276732767 unsigned short 16 unsigned short 16 unsigned short 16 unsigned short 16 0 0 0 065535655356553565535 int 16 int 16 int 16 int 16 -32768-32768-32768-3276832767327673276732767 unsigned 16 unsigned 16 un

8、signed 16 unsigned 16 0 0 0 065535655356553565535 long 32 long 32 long 32 long 32 -2147483648-2147483648-2147483648-21474836482147483647214748364721474836472147483647 unsigned long 32 unsigned long 32 unsigned long 32 unsigned long 32 0 0 0 04294967295429496729542949672954294967295第2章 C语言的基本数据类型与表达式

9、5 51 1 1 1、常量:常量:常量:常量:(1)(1)(1)(1)十进制小数形式:十进制小数形式:十进制小数形式:十进制小数形式:由数字和小数点组成;由数字和小数点组成;由数字和小数点组成;由数字和小数点组成;例如例如例如例如:3.4,4.,.3:3.4,4.,.3:3.4,4.,.3:3.4,4.,.3。(2)(2)(2)(2)指数形式:指数形式:指数形式:指数形式:“十进制小数十进制小数十进制小数十进制小数”+“e(e(e(e(或或或或E)E)E)E)”+“十进制数整十进制数整十进制数整十进制数整数数数数”。例如例如例如例如:12.5e-6:12.5e-6:12.5e-6:12.5e-

10、6表示表示表示表示12.512.512.512.510101010-6-6 。小数点不能单独出现;小数点不能单独出现;小数点不能单独出现;小数点不能单独出现;0.0.0.0.0 .0 .0 .0 .e e e e或或或或E E E E的两边必须有数,且其后面必须为整数;的两边必须有数,且其后面必须为整数;的两边必须有数,且其后面必须为整数;的两边必须有数,且其后面必须为整数;如:如:如:如:6E0.2 6E0.2 6E0.2 6E0.2 e5e5e5e5 2 2、分类:分类:分类:分类:关键字关键字关键字关键字 字节数字节数字节数字节数 取值范围取值范围取值范围取值范围 精度精度精度精度(位位

11、位位)float 4 3.4 float 4 3.4 float 4 3.4 float 4 3.410101010-38-38 3.43.43.43.41010101038387 7 7 7 double 8 1.7 double 8 1.7 double 8 1.7 double 8 1.710101010-308-308 1.71.71.71.71010101030830815151515注意注意第2章 C语言的基本数据类型与表达式三、实型6 61 1 1 1、常量:常量:常量:常量:(1)(1)(1)(1)用单引号括起来的一个字符;如:用单引号括起来的一个字符;如:用单引号括起来的一个

12、字符;如:用单引号括起来的一个字符;如:A A、11、?等等等等。(2)(2)(2)(2)用单引号括起来的由反斜杠用单引号括起来的由反斜杠用单引号括起来的由反斜杠用单引号括起来的由反斜杠()()()()引导的转义字符。引导的转义字符。引导的转义字符。引导的转义字符。字符形式字符形式字符形式字符形式 功能功能功能功能 n n n n 换行换行换行换行 t t t t 横向跳格横向跳格横向跳格横向跳格 b b b b 退格退格退格退格 r r r r 回车回车回车回车 反斜杠字符反斜杠字符反斜杠字符反斜杠字符 单引号字符单引号字符单引号字符单引号字符 ddd 8ddd 8ddd 8ddd 8进制数

13、表示的进制数表示的进制数表示的进制数表示的ASCIIASCIIASCIIASCII码对应的字符码对应的字符码对应的字符码对应的字符 xhh 16xhh 16xhh 16xhh 16进制数表示的进制数表示的进制数表示的进制数表示的ASCIIASCIIASCIIASCII码对应的字符码对应的字符码对应的字符码对应的字符第2章 C语言的基本数据类型与表达式四、字符类型7 7例如:字符例如:字符例如:字符例如:字符A A A A的的的的ASCIIASCIIASCIIASCII码为:码为:码为:码为:65D65D65D65D(十进制)(十进制)(十进制)(十进制)=41H=41H=41H=41H(十六进

14、制)(十六进制)(十六进制)(十六进制)=101Q=101Q=101Q=101Q(八进制)(八进制)(八进制)(八进制)字符字符字符字符A A A A可以表示为可以表示为可以表示为可以表示为 A A A A、x41x41x41x41、101101101101。2 2、分类:分类:分类:分类:char char char char 和和和和 unsigned charunsigned charunsigned charunsigned char;3 3 3 3、值域:值域:值域:值域:每每每每个个个个字字字字符符符符型型型型数数数数据据据据在在在在内内内内存存存存中中中中占占占占一一一一个个个个

15、字字字字节节节节;包包包包括括括括ASCIIASCIIASCIIASCII字字字字符符符符表中的所有字符(可显示字符和非显示字符)。表中的所有字符(可显示字符和非显示字符)。表中的所有字符(可显示字符和非显示字符)。表中的所有字符(可显示字符和非显示字符)。4 4 4 4、字符串:字符串:字符串:字符串:是用一对双引号括起来的字符序列。是用一对双引号括起来的字符序列。是用一对双引号括起来的字符序列。是用一对双引号括起来的字符序列。如如如如:“SHANGHAISHANGHAISHANGHAISHANGHAI”,“AbcdeFGHijkAbcdeFGHijkAbcdeFGHijkAbcdeFGHi

16、jk”,“How How How How are are are are youyouyouyou”。注意注意第2章 C语言的基本数据类型与表达式 a a与与“a a”的区别。的区别。8 8一、常量与符号常量一、常量与符号常量 常量是指在程序运行中常量是指在程序运行中常量是指在程序运行中常量是指在程序运行中,其数值不能被改变的量。其数值不能被改变的量。其数值不能被改变的量。其数值不能被改变的量。常量又可分为直接常量和符号常量。常量又可分为直接常量和符号常量。常量又可分为直接常量和符号常量。常量又可分为直接常量和符号常量。第2章 C语言的基本数据类型与表达式2.2 2.2 常量与变量常量与变量9

17、 9120120、-100-100、0 0;01200120、072072;0 xFFFF0 xFFFF、0 x1e0 x1e、0X28AF0X28AF,0XED40XED4;120120L,200LL,200L;长整型常量长整型常量长整型常量长整型常量3.143.14、-3.1-3.1、5.125.12E-6E-6;aa、#、nn、101101 ;099099、12f12f、0 xg0 xg、48EA48EA;019.5019.5、1e-081e-08;实型常量只能用十进制形式表示实型常量只能用十进制形式表示实型常量只能用十进制形式表示实型常量只能用十进制形式表示2.12.1E+10.2E+

18、10.2、E-6E-6、6.4E+4.86.4E+4.8、E9E9;changshachangsha 、+?abab ;第2章 C语言的基本数据类型与表达式1、直接常量:直接常量:是在程序中直接引用的数据。是在程序中直接引用的数据。请请判判断断这这些些常常量量正正确确与与否否:10102 2、符号常量符号常量符号常量符号常量是是是是用标识符用标识符用标识符用标识符来表示一个数据;来表示一个数据;来表示一个数据;来表示一个数据;在程序不能给它赋值。在程序不能给它赋值。在程序不能给它赋值。在程序不能给它赋值。定义形式定义形式定义形式定义形式:#definedefine 标识符标识符标识符标识符 常

19、量数据常量数据常量数据常量数据例如例如例如例如:#definePdefinePI I3.141593.14159在程序预处理时,凡是出现标识符在程序预处理时,凡是出现标识符在程序预处理时,凡是出现标识符在程序预处理时,凡是出现标识符PIPI的地方都将用的地方都将用的地方都将用的地方都将用数据数据数据数据3.141593.14159来替换。来替换。来替换。来替换。如如如如:2*2.3*:2*2.3*P PI I 就等价于就等价于就等价于就等价于 2*2.3*3.141592*2.3*3.14159。第2章 C语言的基本数据类型与表达式二、变量 变量是指变量是指以标识符为名字,其值可以改变的量。以

20、标识符为名字,其值可以改变的量。变量代表计算机内存中的某一存储空间,该存储空间变量代表计算机内存中的某一存储空间,该存储空间 中存放中存放的数据就是变量的值。的数据就是变量的值。在同一程序块中,在同一程序块中,变量变量不能被重复定义。不能被重复定义。使用变量时必须使用变量时必须“先定义,后使用先定义,后使用”。11111 1、定义形式:定义形式:定义形式:定义形式:类型标识符类型标识符类型标识符类型标识符:变量名变量名变量名变量名1,1,变量名变量名变量名变量名2,2,变量名变量名变量名变量名3.3.;例如例如例如例如:inta,b,c;inta,b,c;floatx,y;floatx,y;c

21、harc1,c2;charc1,c2;或或或或 intc1,c2;intc1,c2;自己设定,满足自己设定,满足标识符的规定。标识符的规定。如:如:int,int,float,charfloat,char;不可省;不可省第2章 C语言的基本数据类型与表达式2 2、变量初始化变量初始化变量初始化变量初始化 在说明变量的同时给变量一个初始值。在说明变量的同时给变量一个初始值。在说明变量的同时给变量一个初始值。在说明变量的同时给变量一个初始值。例如例如int a=5,b=3;int a=5,b=3;int a=b=c=3;int a=b=c=3;int a,b,c;a=b=c=3;int a,b,c

22、;a=b=c=3;1212 mainmainmainmain()int x int x int x int x,y y y y,z z z z,w w w w;/*/*/*/*定义定义定义定义x x x x,y y y y,z z z z,w w w w为整型变量为整型变量为整型变量为整型变量*/unsigned int k unsigned int k unsigned int k unsigned int k;/*/*/*/*定义定义定义定义k k k k为无符号整型变量为无符号整型变量为无符号整型变量为无符号整型变量*/x=10 x=10 x=10 x=10;y=-20y=-20y=-2

23、0y=-20;k=30k=30k=30k=30;z=x+kz=x+kz=x+kz=x+k;w=y+kw=y+kw=y+kw=y+k;printfprintfprintfprintf(“x+k=%dx+k=%dx+k=%dx+k=%d,y+k=%dny+k=%dny+k=%dny+k=%dn”,z z z z,w w w w);第2章 C语言的基本数据类型与表达式例例2-1:程序运行结果为:程序运行结果为:x+k=40 x+k=40,y+k=10y+k=101313 3 3 3 3、局部变量局部变量 C C C C语言程序是由函数组成的,且有且只能有一个语言程序是由函数组成的,且有且只能有一个语

24、言程序是由函数组成的,且有且只能有一个语言程序是由函数组成的,且有且只能有一个mainmainmainmain函数。函数。函数。函数。变量定义可以出现在函数内,亦可出现在函数外或者是函变量定义可以出现在函数内,亦可出现在函数外或者是函变量定义可以出现在函数内,亦可出现在函数外或者是函变量定义可以出现在函数内,亦可出现在函数外或者是函数的参数中。数的参数中。数的参数中。数的参数中。按照变量定义语句出现的位置,可以分为:按照变量定义语句出现的位置,可以分为:局部变量:局部变量:在函数内定义;在函数内定义;只在该函数中才能使用。只在该函数中才能使用。全局变量:全局变量:在函数外定义;在函数外定义;从

25、它被定义的位置起从它被定义的位置起,在在之后的之后的所有函数中有效。所有函数中有效。形式参数:形式参数:定义为函数的参数;定义为函数的参数;只在该函数中才能使用。只在该函数中才能使用。第2章 C语言的基本数据类型与表达式1414第2章 C语言的基本数据类型与表达式 在在函函数数内内部部说说明明的的变变量量或或者者在在复复合合语语句句中中定定义义的的变变量量称称为为局局部部变变量量。其其作作用用范范围围是是其其所所在在的的函函数数或或复复合合语句。语句。1515第2章 C语言的基本数据类型与表达式 又又称称全全程程变变量量或或外外部部变变量量,在在函函数数外外部部说说明明。其其作作用用范范围围从

26、从它它被被定定义义的的位位置置起起,在在之之后后的的程程序序段段中都是起作用的。中都是起作用的。4 4、全局变量全局变量1616第2章 C语言的基本数据类型与表达式 如如果果在在全全局局变变量量定定义义之之前前的的函函数数想想引引用用该该外外部部变变量量,则则应应该该在在该该函函数数中中用用关关键键字字externextern作作“外外部部变变量说明量说明”。1717int a,b;int a,b;int a,b;int a,b;void swap()void swap()void swap()void swap()int t;int t;int t;int t;t=a;a=b;b=t;t=a

27、;a=b;b=t;t=a;a=b;b=t;t=a;a=b;b=t;printf(printf(printf(printf(“swap:a=%d,b=%dnswap:a=%d,b=%dnswap:a=%d,b=%dnswap:a=%d,b=%dn”,a,b);,a,b);,a,b);,a,b);main()main()main()main()printf(printf(printf(printf(“Enter a,b:Enter a,b:Enter a,b:Enter a,b:”););););scanf(scanf(scanf(scanf(“%d,%d%d,%d%d,%d%d,%d”,&a,&

28、b);,&a,&b);,&a,&b);,&a,&b);swap();swap();swap();swap();printf(printf(printf(printf(“main:a=%d,b=%dmain:a=%d,b=%dmain:a=%d,b=%dmain:a=%d,b=%d”,a,b);,a,b);,a,b);,a,b);Enter a,b:Enter a,b:5,35,3 swap:a=3,b=5swap:a=3,b=5main:a=3,b=5main:a=3,b=5第2章 C语言的基本数据类型与表达式运行结果运行结果1818int a,b;int a,b;int a,b;int a,

29、b;void swap()void swap()void swap()void swap()int t;int t;int t;int t;t=a;a=b;b=t;t=a;a=b;b=t;t=a;a=b;b=t;t=a;a=b;b=t;printf(printf(printf(printf(“swap:a=%d,b=%dnswap:a=%d,b=%dnswap:a=%d,b=%dnswap:a=%d,b=%dn”,a,b);,a,b);,a,b);,a,b);main()main()main()main()printf(printf(printf(printf(“Enter a,b:Enter

30、 a,b:Enter a,b:Enter a,b:”););););scanf(scanf(scanf(scanf(“%d,%d%d,%d%d,%d%d,%d”,&a,&b);,&a,&b);,&a,&b);,&a,&b);swap();swap();swap();swap();printf(printf(printf(printf(“main:a=%d,b=%dmain:a=%d,b=%dmain:a=%d,b=%dmain:a=%d,b=%d”,a,b);,a,b);,a,b);,a,b);第2章 C语言的基本数据类型与表达式运行结果运行结果int a,b;int a,b;程序在编译时,屏

31、幕将程序在编译时,屏幕将提示有错误提示有错误:Undefine symbol Undefine symbol a a Undefine symbol Undefine symbol b b1919int a,b;int a,b;int a,b;int a,b;void swap()void swap()void swap()void swap()int t;int t;int t;int t;t=a;a=b;b=t;t=a;a=b;b=t;t=a;a=b;b=t;t=a;a=b;b=t;printf(printf(printf(printf(“swap:a=%d,b=%dnswap:a=%d,

32、b=%dnswap:a=%d,b=%dnswap:a=%d,b=%dn”,a,b);,a,b);,a,b);,a,b);main()main()main()main()printf(printf(printf(printf(“Enter a,b:Enter a,b:Enter a,b:Enter a,b:”););););scanf(scanf(scanf(scanf(“%d,%d%d,%d%d,%d%d,%d”,&a,&b);,&a,&b);,&a,&b);,&a,&b);swap();swap();swap();swap();printf(printf(printf(printf(“mai

33、n:a=%d,b=%dmain:a=%d,b=%dmain:a=%d,b=%dmain:a=%d,b=%d”,a,b);,a,b);,a,b);,a,b);第2章 C语言的基本数据类型与表达式运行结果运行结果int a,b;int a,b;int a=5,b=3;int a=5,b=3;Enter a,b:Enter a,b:5,35,3 swap:a=3,b=5swap:a=3,b=5main:a=5,b=3main:a=5,b=32020 按操作功能运按操作功能运按操作功能运按操作功能运算符大致可分为算符大致可分为算符大致可分为算符大致可分为算算算算术运算符、关系运术运算符、关系运术运算符

34、、关系运术运算符、关系运算符、逻辑运算符、算符、逻辑运算符、算符、逻辑运算符、算符、逻辑运算符、按位运算符以及其按位运算符以及其按位运算符以及其按位运算符以及其它运算符如赋值运它运算符如赋值运它运算符如赋值运它运算符如赋值运算符、算符、算符、算符、条件运算符、条件运算符、条件运算符、条件运算符、逗号运算符等。逗号运算符等。逗号运算符等。逗号运算符等。表表表表达达达达式式式式是是是是由由由由操操操操作作作作数数数数和和和和运运运运算算算算符符符符组组组组成成成成的序列。的序列。的序列。的序列。第2章 C语言的基本数据类型与表达式2.3 2.3 运算符与表达式运算符与表达式算术运算符算术运算符 +

35、-*/%+-*/%关系运算符关系运算符 =!=!=逻辑运算符逻辑运算符 !&位运算符位运算符|&|&赋值运算符赋值运算符 =条件运算符条件运算符?:逗号运算符逗号运算符 ,指针运算符指针运算符*和和&求字节数运算符求字节数运算符 sizeofsizeof强制类型转换运算符强制类型转换运算符分量运算符分量运算符 下标运算符下标运算符 2121 一、一、算术运算符和算术表达式算术运算符和算术表达式 1 1 1 1、运算符运算符运算符运算符 +(+(+(+(加加加加):3+43+43+43+4、+3+3+3+3 -(-(-(-(减减减减):3-53-53-53-5、-5-5-5-5 *(*(*(*(

36、乘乘乘乘):3*53*53*53*5 /(/(/(/(除除除除):5/25/25/25/2的值为的值为的值为的值为2 2 2 2;5.0/25.0/25.0/25.0/2的值为的值为的值为的值为2.52.52.52.5;%(%(%(%(取余取余取余取余):5%35%35%35%3的值为的值为的值为的值为2 2 2 2;-5%3-5%3-5%3-5%3的值为的值为的值为的值为-2-2-2-2;5%(-3)5%(-3)5%(-3)5%(-3)的值为的值为的值为的值为2 2 2 2;-5%(-3)-5%(-3)-5%(-3)-5%(-3)的值为的值为的值为的值为-2-2-2-2;12.3%3 12.

37、3%3 12.3%3 12.3%3 若若若若a a a a能被能被能被能被b b b b整除,则有:整除,则有:整除,则有:整除,则有:a%b=0 a%b=0 a%b=0 a%b=0 第2章 C语言的基本数据类型与表达式2222 2 2 2 2、算术表达式算术表达式算术表达式算术表达式 用算术运算符和括符将操作数连接起来的式子。用算术运算符和括符将操作数连接起来的式子。用算术运算符和括符将操作数连接起来的式子。用算术运算符和括符将操作数连接起来的式子。优先级:()优先级:()优先级:()优先级:()*、/、%+%+%+%+、-结合性:从左至右;结合性:从左至右;结合性:从左至右;结合性:从左至

38、右;表达式的值:表达式的值:表达式的值:表达式的值:数值型数值型数值型数值型(int(int(int(int、longlonglonglong、unsignedunsignedunsignedunsigned、double)double)double)double);例如:例如:已知:已知:float a=2.0;float a=2.0;int b=6,c=3;int b=6,c=3;求解:求解:a*b/c-1.5+a*b/c-1.5+a a+fabs(-5)=+fabs(-5)=?第2章 C语言的基本数据类型与表达式2323 double float long unsigned int ch

39、ar,short float a=2.0;int b=6,c=3;float a=2.0;int b=6,c=3;a*b/c-1.5+a*b/c-1.5+a a+fabs(-5)+fabs(-5)12.012.0/3/354.04.0 -1.5-1.52.52.5 +97(int)+97(int)99.599.5 +5+5104.5104.5(double)(double)第2章 C语言的基本数据类型与表达式24243 3 3 3、自增与自减运算符自增与自减运算符自增与自减运算符自增与自减运算符 +i,-i+i,-i+i,-i+i,-i:使用之前使:使用之前使:使用之前使:使用之前使i i i

40、 i的值增的值增的值增的值增1 1 1 1(或减(或减(或减(或减1 1 1 1););););i+,i-i+,i-i+,i-i+,i-:使用之后使:使用之后使:使用之后使:使用之后使i i i i的值增的值增的值增的值增1 1 1 1(或减(或减(或减(或减1 1 1 1););););等价于等价于 i=i+1;i=i+1;j=i;i+;j=i;i+;所以所以i i的值为的值为4 4,j j的值为的值为3 3。i+;j=i;i+;j=i;所以所以i i的值为的值为4 4,j j的值为的值为4 4。例如:例如:(1)i+;(1)i+;+i;+i;(2)i=3;(2)i=3;j=i+;j=i+;

41、(3)i=3;(3)i=3;j=+i;j=+i;第2章 C语言的基本数据类型与表达式2525 结合性:自右至左。结合性:自右至左。结合性:自右至左。结合性:自右至左。如:如:如:如:i=2;i=2;i=2;i=2;j=-i+;j=-i+;j=-i+;j=-i+;等价于:等价于:等价于:等价于:j=-(i+);j=-(i+);j=-(i+);j=-(i+);即:即:即:即:j=-i;i+;j=-i;i+;j=-i;i+;j=-i;i+;“+”与与与与”-“是同优先级是同优先级是同优先级是同优先级 所以所以所以所以i i i i的值为的值为的值为的值为3 3 3 3,j j j j的值为的值为的值

42、为的值为-2-2-2-2。第2章 C语言的基本数据类型与表达式 注意注意 “+”或或“-”自增与自减运算符的使用。自增与自减运算符的使用。如:设如:设i=3i=3,k=(i+)+(i+)+(i+)k=(i+)+(i+)+(i+),k=k=?如:设如:设i=3i=3,j=4j=4,k=i+jk=i+j,k=k=?2626 1 1 1 1、6 6 6 6种关系运算符:种关系运算符:种关系运算符:种关系运算符:=!=!=!=!=2 2 2 2、关系表达式:关系表达式:关系表达式:关系表达式:用关系运算符将表达式连接起来的式子用关系运算符将表达式连接起来的式子用关系运算符将表达式连接起来的式子用关系运

43、算符将表达式连接起来的式子 优先级:优先级:优先级:优先级:(=)(=)(=)(=)(=!=)(=!=)(=!=)(=!=)结合性:自左至右;结合性:自左至右;结合性:自左至右;结合性:自左至右;表达式的值:表达式的值:表达式的值:表达式的值:若为真,则结果为若为真,则结果为若为真,则结果为若为真,则结果为1 1 1 1;若为假,则结果为若为假,则结果为若为假,则结果为若为假,则结果为0 0 0 0。35 35 的值为的值为 0 0;32 32 的值为的值为 0 0;3+(43)*43+(43)*4的值为的值为 3 3;3+43+43*4&|结合性:自左至右;结合性:自左至右;结合性:自左至右

44、;结合性:自左至右;表达式的值:表达式的值:表达式的值:表达式的值:若为真,则结果为若为真,则结果为若为真,则结果为若为真,则结果为1 1 1 1;若为假,则结果为若为假,则结果为若为假,则结果为若为假,则结果为0 0 0 0。第2章 C语言的基本数据类型与表达式三、逻辑运算符和逻辑表达式2828inta=5;floatb=3.5;inta=5;floatb=3.5;!a(!a(0 0)!(ab)()!(ab)(1 1)a&b(a&b(1 1)!a&b()!a&b(0 0)!a&!b(!a&!b(0 0)!(a&b)()!(a&b)(0 0)&:只要有一个为假,结果则为假;只要有一个为假,结果

45、则为假;只要有一个为假,结果则为假;只要有一个为假,结果则为假;aab(b(1 1)!a|b()!a|b(1 1)!a|!b(!a|!b(0 0)!(a|b)()!(a|b)(0 0)|:只要有一个为真,结果则为真;只要有一个为真,结果则为真;只要有一个为真,结果则为真;只要有一个为真,结果则为真;(a0)(a0)(0 0)(ab)(a0)(a0)(1 1)例如例如第2章 C语言的基本数据类型与表达式2929 !高高 算术运算符算术运算符 关系运算符关系运算符&和和|赋值运算符赋值运算符 低低 4-04-01&21&28 48 3&2|8 3&2|8 4-!5第2章 C语言的基本数据类型与表达

46、式3030注意:注意:注意:注意:在在在在逻逻逻逻辑辑辑辑表表表表达达达达式式式式的的的的求求求求解解解解中中中中,并并并并不不不不是是是是所所所所有有有有的的的的逻逻逻逻辑辑辑辑运运运运算算算算符符符符都都都都被被被被执执执执行行行行,只只只只是是是是在在在在必必必必须须须须执执执执行行行行下下下下一一一一个个个个逻逻逻逻辑辑辑辑运运运运算算算算符符符符才才才才能能能能求求求求出出出出表达式的解时,才执行该运算符。表达式的解时,才执行该运算符。表达式的解时,才执行该运算符。表达式的解时,才执行该运算符。例如:例如:例如:例如:(1)a=0;b=1;(1)a=0;b=1;(1)a=0;b=1;

47、(1)a=0;b=1;c=a+&(b=3);c=a+&(b=3);c=a+&(b=3);c=a+&(b=3);结果结果结果结果:a:a:a:a为为为为1,b1,b1,b1,b为为为为1,c1,c1,c1,c为为为为0 0 0 0。(2)a=1;b=1;c=0;(2)a=1;b=1;c=0;(2)a=1;b=1;c=0;(2)a=1;b=1;c=0;d=-a d=-a d=-a d=-a b-b-b-b-(c=b+3);(c=b+3);(c=b+3);(c=b+3);结果结果结果结果:a:a:a:a为为为为0,b0,b0,b0,b为为为为0,c0,c0,c0,c为为为为0,d0,d0,d0,d为

48、为为为1 1 1 1。第2章 C语言的基本数据类型与表达式3131逻辑表达式一般用于控制语句中的条件:逻辑表达式一般用于控制语句中的条件:逻辑表达式一般用于控制语句中的条件:逻辑表达式一般用于控制语句中的条件:例如:例如:例如:例如:(1)n(1)n(1)n(1)n是小于是小于是小于是小于m m m m的偶数:的偶数:的偶数:的偶数:nm&n%2=0nm&n%2=0nm&n%2=0nm&n%2=0 (2)year (2)year (2)year (2)year是闰年是闰年是闰年是闰年:(能被(能被(能被(能被4 4 4 4整除但不能被整除但不能被整除但不能被整除但不能被100100100100

49、整除或能被整除或能被整除或能被整除或能被400400400400整除)整除)整除)整除)year%4=0&year%100!=0|year%400=0year%4=0&year%100!=0|year%400=0第2章 C语言的基本数据类型与表达式3232 1 1 1 1、赋值运算符赋值运算符赋值运算符赋值运算符 =2 2 2 2、赋赋赋赋值值值值表表表表达达达达式式式式:用用用用赋赋赋赋值值值值运运运运算算算算符符符符将将将将变变变变量量量量和和和和表表表表达达达达式式式式连连连连接接接接起起起起来来来来的式子的式子的式子的式子 形式形式形式形式:=求值规则求值规则求值规则求值规则:将将将将

50、“=”右边表达式的值赋给左边的变右边表达式的值赋给左边的变右边表达式的值赋给左边的变右边表达式的值赋给左边的变量。量。量。量。优先级:优先级:优先级:优先级:!算术算术算术算术 关系关系关系关系&和和和和|赋值赋值赋值赋值 结合性:自右至左;结合性:自右至左;结合性:自右至左;结合性:自右至左;表达式的值:被赋值变量的值。表达式的值:被赋值变量的值。表达式的值:被赋值变量的值。表达式的值:被赋值变量的值。例如例如例如例如:(1)x=(y=12)/4 (1)x=(y=12)/4 (1)x=(y=12)/4 (1)x=(y=12)/4 y y y y值为值为值为值为12121212,x x x x

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com