C语言类型运算符与表达式.pptx

上传人:莉*** 文档编号:87527350 上传时间:2023-04-16 格式:PPTX 页数:63 大小:407.45KB
返回 下载 相关 举报
C语言类型运算符与表达式.pptx_第1页
第1页 / 共63页
C语言类型运算符与表达式.pptx_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《C语言类型运算符与表达式.pptx》由会员分享,可在线阅读,更多相关《C语言类型运算符与表达式.pptx(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、13.4.1 3.4.1 变量和内存的概念 变量:程序运行过程中其值可以改变的量。系统为程序中的每一个变量开辟存储单元。变量名:字母开头,后跟字母、数字和下划线组成。C语言中的关键字不能作为变量名。第1页/共63页23.4.1 3.4.1 变量和内存的概念#include#define PI 3.1415926 void main()float r,s,ar;scanf(“%f”,&r);s=2*PI*r;ar=PI*r*r;printf(s=%7.2f,s);printf(ar=%7.2f“,ar);说明:说明:变量必须先定义后使用;变量必须先定义后使用;变量中存储的只能是一个变量中存储的只

2、能是一个数据,往变量中存放数据数据,往变量中存放数据的操作称为赋值。的操作称为赋值。变量改变的是其值,而不变量改变的是其值,而不是变量名。是变量名。第2页/共63页33.4.2 3.4.2 变量赋初值 变量定义int a,b,c;float w;double z;char c1,c2;类型标识符 变量名1=1=常量11,变量名2=2=常量22,;/*/*指定指定a,b,ca,b,c为整型变量为整型变量*/*/*指定指定w w为单精度实型变量为单精度实型变量*/*/*指定指定z z为双精度实型变量为双精度实型变量*/*/*指定指定c1,c2c1,c2为字符型变量为字符型变量*/第3页/共63页4

3、3.4.2 3.4.2 变量定义和赋初值 变量赋初值变量赋初值int i=0;int a=5,b=5,c=5;float ep=0.001;char c=a;/*/*指定指定i i为整型变量,初值为为整型变量,初值为0*/0*/*/*指定指定a,b,ca,b,c的初值为的初值为5*/5*/*/*指定指定epep的初值为的初值为0.001*/0.001*/*/*指定指定c c的初值为的初值为a a*/*/第4页/共63页5注意:变量的“名”和变量的“值”不同,变量的“名”是该变量所代表的存储单元的标志,而变量的“值”是指存储单元中的内容。如:int a;int a;a=5;a=5;a=10;a=

4、10;?510第5页/共63页6第6页/共63页7第7页/共63页8第8页/共63页9第9页/共63页10主要内容1.预备知识2.常量和变量的概念3.各种数据类型的常量及变量4.变量赋初值5.不同类型数据之间的混合运算6.常用运算符和表达式7.输入函数与输出函数 第10页/共63页113.6 运算符和表达式C运运算算符符算术运算符:算术运算符:+-*/%+-+-*/%+-关系运算符:关系运算符:=!=!=逻辑运算符:(!逻辑运算符:(!&|&|位运算符位运算符 :|&|&赋值运算符:赋值运算符:=及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:,指针运算符:指针运算符:

5、*&求字节数求字节数 :sizeofsizeof强制类型转换:(类型)强制类型转换:(类型)分量运算符:分量运算符:.-.-下标运算符:下标运算符:其它其它 :()-()-第11页/共63页12学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型第12页/共63页13计算机实现操作有两种方式:运算:数学中所规定的各种基本运算,由运算符来实现。函数:对于复杂的运算,需要编制子函数来实现。标准函数(库函数);用户自定义函数;第13页/共63页14运算符与表达式1.算术运算符和算术表达式2.赋值运算符和赋值表达式第14页/共63页15+-*%加法运算或

6、正号运算符加法运算或正号运算符加法运算或正号运算符加法运算或正号运算符减法运算或负号运算符减法运算或负号运算符减法运算或负号运算符减法运算或负号运算符乘法运算符乘法运算符乘法运算符乘法运算符除法运算符除法运算符除法运算符除法运算符求余运算符,或称模运算符求余运算符,或称模运算符求余运算符,或称模运算符求余运算符,或称模运算符完成现实世界的算术运算完成现实世界的算术运算完成现实世界的算术运算完成现实世界的算术运算(+(+(+(+、)算术运算符算术运算符第15页/共63页16关于求余运算:求余运算求余运算A%BA%B表示:求表示:求A A 除以除以 B B 的余数的余数求余运算求余运算要求要求%两

7、侧都是整型数据两侧都是整型数据。对于除法,如果参加运算的两个数中有一个数对于除法,如果参加运算的两个数中有一个数为实数,则结果是实数为实数,则结果是实数 (实数除法实数除法)例:例:8%5 8%5 的运算结果:的运算结果:3 8/5 3 8/5 的运算结果:的运算结果:1 15.6/2 5.6/2:2.800000 8.43/52.800000 8.43/5:1.6860001.686000第16页/共63页17算术表达式:算算术术表表达达式式:用用算算术术运运算算符符和和括括号号将将运运算算对对象象连连接接起来的式子称为算术表达式。起来的式子称为算术表达式。运算符有优先级和结合性:运算符有优

8、先级和结合性:计算表达式的值时,按照优先级的高低依次计算;计算表达式的值时,按照优先级的高低依次计算;如果运算符优先级相同,则按规定的结合方向进行。如果运算符优先级相同,则按规定的结合方向进行。算术运算符的结合性算术运算符的结合性从左到右第17页/共63页18(1)(1)求三个数的算术平均值求三个数的算术平均值代数表达式:代数表达式:ave=ave=算术表达式:算术表达式:ave=(a+b+c)/3ave=(a+b+c)/3(2)(2)根据三角形三边计算三角形面积根据三角形三边计算三角形面积代数表达式:代数表达式:算术表达式:算术表达式:sqrt(s*(s-a)*(s-b)*(s-c)sqrt

9、(s*(s-a)*(s-b)*(s-c)(3)(3)根据半径计算圆的周长根据半径计算圆的周长代数表达式:代数表达式:s=2rs=2r算术表达式:算术表达式:s=2*3.14159*rs=2*3.14159*r算术表达式第18页/共63页19练习:练习:1.下列运算符的操作数不能是float型的运算符是()。A.*B.%C.D./2.执行以下程序段,c的值是()。int a=1,b=2,c;c=a/b;A.0 B.1/2 C.0.5 D.1答案:答案:B答案:答案:A第19页/共63页20算术运算符的优先级+、-(-(-(-(加减运算符加减运算符)最低!最低!*、/、%第二级!第二级!-(-(-

10、(-(负号运算符负号运算符)无括号时我最高无括号时我最高!(、)()()()(括号括号)最优先!最优先!第20页/共63页21自增(+)(+)和自减运算(-(-)+运算符的作用:是使变量的值增运算符的作用:是使变量的值增运算符的作用:是使变量的值增运算符的作用:是使变量的值增 1 1 1 1。-运算符的作用:是使变量的值减运算符的作用:是使变量的值减运算符的作用:是使变量的值减运算符的作用:是使变量的值减1 1 1 1。原始值原始值原始值原始值+1+1 +变量变量变量变量原始值原始值原始值原始值-1-1 -变量变量变量变量第21页/共63页22自增(+)(+)和自减运算(-)(-)自增和自减运

11、算只能应用于自增和自减运算只能应用于整型变量和指针型变量。整型变量和指针型变量。+和和 -可以写在变量的左侧或右侧;而且其意义不同。可以写在变量的左侧或右侧;而且其意义不同。“+变量名变量名”和和“-变量名变量名”:先做运算,后取值先做运算,后取值“变量名变量名 +”+”和和“变量名变量名 -”-”:先取值,后做运算先取值,后做运算第22页/共63页23自增(+)(+)和自减运算(-)(-)举例N=I+N=I+N=I+N=I+变量变量变量变量NN010变量变量变量变量I I变量变量变量变量NN?变量变量变量变量I IN=+IN=+IN=+IN=+I变量变量变量变量NN0 01010变量变量变量

12、变量I I变量变量变量变量NN?变量变量变量变量I I1111101011111111第23页/共63页24练习练习 :已知已知 i=7i=7j=i+j=i+;j=?i=?j=?i=?j=+ij=+i;j=?i=?j=?i=?7888第24页/共63页25 若 k 和 j 为 int 型变量,运算表达式 j=3;k=+j;j+;执行后,变量 k 的值为_,变量 j 的值为_。4 4 5 5练习练习第25页/共63页26关于自增和自减运算符的说明:1.自自增增和和自自减减运运算算符符的的运运算算对对象象不不能能是是常常量量或或表表达式,只能是单个变量。达式,只能是单个变量。2.自增和自减运算符的

13、自增和自减运算符的结合方向结合方向是是“自右向左自右向左”。例例:-i+-i+等价于等价于 -(i+)-(i+);*i+i+等价于等价于*(i+)(i+);第26页/共63页272、赋值运算符和赋值表达式1.赋值:在计算机程序中,要完成这样一种操作将一个表达式的计算结果送到一个变量当中。2.简单的赋值运算符:=3.赋值表达式:变量名 =表达式4.赋值运算符的结合性:自右向左5.即:a=b=c 相当于 a=(b=c)第27页/共63页28 算术运算符与“=”=”结合在一起,形成复合的赋值运算符。复合的赋值运算符例:i+=2 a%=3a*=b+5等价于 i=i+2等价于 a=a%3等价于 a=a*

14、(b+5)第28页/共63页29C运运算算符符算术运算符:算术运算符:+-*/%+-+-*/%+-关系运算符:关系运算符:=!=!=逻辑运算符:(!逻辑运算符:(!&|&|位运算符位运算符 :|&|&赋值运算符:赋值运算符:=及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:,指针运算符:指针运算符:*&求字节数求字节数 :sizeofsizeof强制类型转换:(类型)强制类型转换:(类型)分量运算符:分量运算符:.-.-下标运算符:下标运算符:其它其它 :()-()-第29页/共63页30主要内容1.预备知识2.常量和变量的概念3.各种数据类型的常量及变量4.变量赋初值

15、5.不同类型数据之间的混合运算6.常用运算符和表达式7.输入函数与输出函数 第30页/共63页313.5 数据的混合运算1、自动转换运算转换赋值转换2、强制类型转换第31页/共63页32 1 1、自动转换运算转换在进行运算时,不同类型的数据要先自动转换成同一类型,然后进行运算。转换的规则按图所示。int charint char,short short 高低longlongunsignedunsigneddouble floatdouble float转换由编译系统自动完成。转换按数据长度增加的方向进行,即按“向高看齐”的原则提升“较低”类型,以保证不降低精度。第32页/共63页33(1 1)

16、实型赋予整型,舍去小数部分。(2 2)整型赋予实型,数值不变,但将以浮点形式存放,即增 加小数部分(小数部分的值为0 0)。(3 3)字符型赋予整型,由于字符型为一个字节,而整型为两 个字节,因此将字符的ASCIIASCII码值放到整型变量的低八 位中,高八位为0 0。(4 4)整型赋予字符型,只把低八位赋予字符型变量。(5 5)doubledouble型赋予 floatfloat型,丢失的部分按四舍五入向前 进位。1、自动转换赋值转换第33页/共63页34注意:一个longlong型或doubledouble型数据给一个intint型或floatfloat型变量赋值时,可能会引起数值溢出。注

17、意:如果赋值运算符两边的数据类型不相同,系统将进行类型转换,即把赋值号右边的类型换成左边的类型,如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。1、自动转换赋值转换第34页/共63页35练习:练习:已知:double a;float b;int c;char d;执行语句c=(d+b)*c-a;后,变量c的数据类型是()。A.double B.float C.int D.char正确答案:正确答案:C第35页/共63页362 2、强制类型转换强制类型转换运算符,将一个类型的变量值强制转换为另一种类型。一般格式为:(类型标识符)表达式 例:k=(int)(int)x+(

18、float)i)(float)(x=85)第36页/共63页37注意:对一个变量进行强制转换后,得到一个新的类型的数据,但原来变量的类型不变。例:x x原为实型变量且值为2.62.6,在执行 i=(int)xi=(int)x 后得到一个整数 2 2,并把它赋给整型变量 i i,但 x x 仍为实型,值为2.62.6。2 2、强制类型转换第37页/共63页38练习:练习:若有定义:float a=3.9,b=6.9;int c;执行语句c=a+(int)(a+b)%3/2;后,c的值为()。A.3 B.3.9 C.4 D.4.4正确答案:正确答案:A第38页/共63页39主要内容1.预备知识2.

19、常量和变量的概念3.各种数据类型的常量及变量4.变量赋初值5.不同类型数据之间的混合运算6.常用运算符和表达式7.输入函数与输出函数 第39页/共63页403.7 3.7 输入函数与输出函数输入函数与输出函数 输出计算机向外部输出设备(显示器,打印机等)输出数据输入从输入设备(键盘,鼠标,扫描仪等)向计算机输入数据在使用系统库函数时,要用预编译命令“#include”包含有关的头文件#include /*标准输入输出库函数*/#include“stdio.h”/*标准输入输出库函数*/第40页/共63页41 3.7.1 3.7.1 格式输出函数printf printf printf函数一般格

20、式:printf(格式控制,输出表列)格式控制是由双引号括起来的字符串,包含三种信息:1、格式说明:由“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据按照指定的格式输出。2、普通字符:需要原样输出的字符。3、转义字符:用于控制输出。输出表列是一些要输出的数据。第41页/共63页42 3.7.1 3.7.1 格式输出函数printf printf printf函数一般格式:printf(格式控制,输出表列)普通字符普通字符 输出表列输出表列 printf(“sum=%dn”,sum);printf(“sum=%dn”,sum);格式说明格式说明 转义字符转义字符 printf(%d,

21、%dn,a,b);printf(%d,%dn,a,b);第42页/共63页43格式说明项:由“%”%”与格式字符组成,其作用是将数据转换为指定的格式输出,按不同类型的数据有以下不同的格式字符:u%d%d、%ld%ld,按整型数据的实际长度输出。u%md%md、%mld%mld,m m为指定的输出字段的宽度,如数据的位数小于m m,则左端补空;若数据位数大于m m,则按实际长度输出。u%c%c:用于输出一个字符。u%f%f:用于以小数形式输出实数(包括单、双精度);u%m.nf%m.nf、%m.nlf%m.nlf,指定输出的数据共占 m m 位,其中包括 n n 位小数,如数据的位数小于m m,

22、则左端补空;若数据位数大于m m,按实际长度输出。小数位数被截断时按四舍五入输出。3.7.1 3.7.1 格式输出函数printf printf 第43页/共63页44int a=-1,b=25,c=125;int a=-1,b=25,c=125;long x=356142;long x=356142;printf(%d,%5dn,a,b);printf(%d,%5dn,a,b);printf(%5d,%2dn,c,c);printf(%5d,%2dn,c,c);printf(%ld,%dn,x,x);printf(%ld,%dn,x,x);输出结果为:例:例:第44页/共63页453.7.2

23、 3.7.2 格式输入函数scanf scanf scanf函数一般格式:scanf(格式控制,地址表列)scanf函数的功能是按照指定的格式输入数据,可以输入任意类型的多个数据。格式控制与printf函数含义相同,它由若干个格式说明构成,其作用是控制转换输入数据的类型。地址表列由若干个地址构成,它们可以是变量的地址,也可以是字符串的首地址。第45页/共63页46如何分隔数据?用隐含的分隔符:在输入数据中用空格或换行符分隔数据。scanf(%d%d%d,&a,&b,&c);输入数据 3 4 5 或输入 3 4 5 则a=3,b=4,c=5使用显示分隔符:在格式说明符中还可以有其它字符,在输入字

24、符时应输入与这些字符相同的字符。scanf(%d,%d,%d,&a,&b,&c);输入数据 3,4,5 则 a=3,b=4,c=5 第46页/共63页47格式字符格式字符说明说明d,i用来输入有符号的十进制整数用来输入有符号的十进制整数 u用来输入无符号的十进制整数用来输入无符号的十进制整数 o用来输入无符号的八进制整数用来输入无符号的八进制整数 x X 用来输入无符号的十六进制整数用来输入无符号的十六进制整数(大小写作用相同大小写作用相同)c用来输入单个字符用来输入单个字符 f用来输入实数,可以用小数形式或指数形式输入用来输入实数,可以用小数形式或指数形式输入 s用来输入字符串,将字符串送到

25、一个字符数组中,用来输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志束。字符串以串结束标志作为其最后一个字符作为其最后一个字符e E g G 与作用相同,与、与作用相同,与、g可以互相替换可以互相替换(大小写作大小写作用相同用相同)scanfscanf格式字符格式字符 第47页/共63页48字符字符说明说明l l用于输入长整型数据(可用用于输入长整型数据(可用%ld%ld,%lo%lo,%lx%lx,%lu%lu)以及以及doubledouble型数据(用型数据(用%lf%lf或或%le%le

26、)h h用于输入短整型数据(可用,用于输入短整型数据(可用,)域宽域宽指定输入数据所占宽度(列数),域宽应为正整数指定输入数据所占宽度(列数),域宽应为正整数 表示本输入项在读入后不赋给相应的变量表示本输入项在读入后不赋给相应的变量 scanfscanf格式字符格式字符 说明:对unsignedunsigned型变量所需要的数据,可以用%u%u,%d%d或%o%o,%x%x格式输入。可以指定输入数据所占的列数,系统自动按它截取所需数据。如果在%后有一个“*”“*”附加说明符,表示跳过它指定的列数。输入数据时不能规定精度。第48页/共63页49字符数据的输入输出 用putchar函数输出一个字符

27、 putchar函数(字符输出函数)的作用是向终端输出一个字符。一般形式为 putchar(c)可以是字符型变量或整型变量 第49页/共63页50 例1:输出单个字符。#includevoid main()char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);putchar(n);第50页/共63页51字符数据的输入输出 用getchar函数输入一个字符 getchar函数(字符输入函数)的作用是从计算机终端输入一个字符。getchar函数没有参数,一般形式为 getchar()函数的值就是从输入设备得到的字符 第51页/共63页523

28、.7.3 3.7.3 数学函数使用数学库中的函数时,应该首先用预处理命令#include#include 指明要用到的数学函数的描述所在的头文件。调用数学函数时,要给出函数名,后面是一对圆括号,括号内是使用函数所需的参数,参数可以是常量、变量或表达式。第52页/共63页53例:计算并打印2的3次方的语句可以写成:printf(“%7.2f”,pow(2.0,3.0);调用的数学函数pow需要两个参数,这两个参数都是double型的,返回值也是double型的。语句执行结果为:8.00。第53页/共63页54常用数学函数函函 数数 名名功功 能能举举 例例fabs(x)fabs(x)计算计算x

29、x的绝对值的绝对值fabs(-3.5)fabs(-3.5)等于等于3.53.5sqrt(x)sqrt(x)计算计算x x的非负平方根的非负平方根sqrt(16.0)sqrt(16.0)等于等于4.04.0exp(x)exp(x)计算指数函数计算指数函数e ex xexp(1.0)exp(1.0)等于等于2.718282.71828log(x)log(x)计算计算x x的自然对数的自然对数ln xln xlog(2.718282)log(2.718282)等于等于1.01.0log10(x)log10(x)以以1010为底的对数函数为底的对数函数loglog1010 x xLog10(10.0)

30、Log10(10.0)等于等于1.01.0powpow(x,yx,y)计算计算x xy ypow(2.0,3.0)pow(2.0,3.0)等于等于8.08.0sin(x)sin(x)正弦函数正弦函数sin(0.0)sin(0.0)等于等于0.00.0cos(x)cos(x)余弦函数余弦函数cos(0.0)cos(0.0)等于等于1.01.0第54页/共63页55变量的定义int a,b,cint a,b,c;指定a a,b b,c c为整型变量unsigned lowerunsigned lower指定lowerlower为无符号整型变量float xfloat x,y y;指定x x,y y

31、为实型变量double zdouble z;指定z z为双精度实型变量char c1char c1,c2c2;指定c1c1,c2c2为字符型变量 课堂练习第55页/共63页561.定义一个无符号长整变量 L1;unsigned short S1unsigned long L12.定义一个无符号短整变量 S1;3.定义一个浮点类型变量 F1;4.定义一个双精度变量 D1;float F1double D1按要求写语句:第56页/共63页58写出下面算术表达式的值:设设x=2.5x=2.5,a=10a=10,y=4.7y=4.7求表达式的值求表达式的值 x+a%3*(int)(x+y)%2/4x+

32、a%3*(int)(x+y)%2/41.1.x=2.5x=2.5;a=10 a=10;y=4.7y=4.7;2.2.a%3a%3 10%3 1 10%3 1 3.3.(int)(x+y)(int)(x+y)(int)7.2 7 (int)7.2 7 4.4.a%3a%3*(int)(x+y)(int)(x+y)1*7 7 1*7 75.5.a%3a%3*(int)(x+y)(int)(x+y)%2%2 7%2 17%2 16.6.a%3a%3*(int)(x+y)(int)(x+y)%2%2/4/4 1/4 01/4 07.7.x+x+a%3a%3*(int)(x+y)(int)(x+y)%2

33、%2/4/4 2.5+02.5+0第58页/共63页59思考题:(简单程序设计)输入三角形的三边长,求三角形的面积。第59页/共63页60第60页/共63页61要求:1.深刻理解在计算机中各类型数据在内存中的存储形式、取值范围和能够对它进行的操作;2.深刻理解各基本类型作了 short、long、unsigned 扩展之后与原类型之间的区别;3.深刻理解各种整型常量的形式,字符常量、转义字符和符号常量的意义和作用。4.熟练掌握每一种变量的定义格式;5.深刻理解每一个算术运算符的功能、使用格式、计算结果,尤其是/、%、+、-;6.深刻理解赋值运算符(=)的意义、注意与数学中的等号相区别;复合赋值运算符的执行过程和执行结果。第61页/共63页62小结1、在计算机中对数据进行描述:数据的基本类型:整型、字符型、浮点类型;数据在在内存中的存储形式、取值范围和能够对它进行的操作;扩展基本类型:short、long、unsigned 2、常量:各种整型常量的形式、字符常量、转义字符、符号常量;3、变量:定义格式;4、运算符:算术运算符:/、%、+、-;优先级;赋值运算符:=,与数学中的等号相区别;第62页/共63页63感谢您的欣赏!第63页/共63页

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

当前位置:首页 > 应用文书 > PPT文档

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁