C语言程序设计课件52.ppt

上传人(卖家):晟晟文业 文档编号:3713896 上传时间:2022-10-06 格式:PPT 页数:23 大小:74.51KB
下载 相关 举报
C语言程序设计课件52.ppt_第1页
第1页 / 共23页
C语言程序设计课件52.ppt_第2页
第2页 / 共23页
C语言程序设计课件52.ppt_第3页
第3页 / 共23页
C语言程序设计课件52.ppt_第4页
第4页 / 共23页
C语言程序设计课件52.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、第3章 数 据 运 算 内容提要n本章主要介绍C语言中的各种表达式的构造方法及其求值规则。n通过本章学习,应掌握数值运算、赋值运算、逗号运算、关系运算、逻辑运算及简单的位运算的一般规则,这些运算贯穿在整个程序设计的过程中。算术运算 n算术运算,也叫数值运算,是程序设计中使用最多的一种数据运算 n1.算术运算符n2.算术表达式 赋值运算 n 赋值运算符“=”是一种二元运算符,必须连接两个运算量。其左边只能是变量或数组元素,不能是常量或表达式;右边则可以是任何表达式。例如,x=y+2,x=x+1等是允许的,而y+2=x,5=x等是错误的。n 赋值运算符除了“=”,还有另外10种复合赋值运算符。它们

2、由赋值号“=”和另外一个二元运算符组成,具有计算和赋值双重功能。这10种复合赋值运算符是+=、=、*=、/=、%=、&=、|=、=、=。其中,前5种复合赋值运算符具有算术运算和赋值的双重功能。逗号运算(顺序运算)n逗号运算符的作用是连接多个数据项,从而能将它们作为一个整体来处理。前面介绍的用一个类型关键字定义多个变量时,各变量之间要用逗号隔开。n在printf()函数中多个输出项之间用逗号隔开,在scanf()函数中多个输入项之间用逗号隔开等,目的都是将多个变量、输出项或输入项视为一个整体。本节介绍用逗号运算符将多个表达式作为一个整体时的处理原则。关系运算和逻辑运算 n在程序设计的实践中,关系

3、运算和逻辑运算主要用来进行条件判断,以便程序能按照指定的流程运行。关系运算和逻辑运算通常用在第4章要介绍的if语句、switch语句、for语句或while语句中n1.关系运算符和关系表达式n2.逻辑运算符和逻辑表达式测试数据长度运算符sizeof nC语言并不规定各种类型的数据占用多大的存储空间,同一类型的数据在不同的宿主机上可能占用不同的存储空间,为此,C语言提供了测试数据长度运算符sizeof,以测试各种数据类型的长度,它的一般格式如下:n sizeof(exp)n其功能是给出exp所占用的内存字节数。其中,exp可以是类型关键字、变量或表达式。例如:sizeof(double),siz

4、eof(x),sizeof(a+b),sizeof(3*1.46/7.28)等。位操作 nC语言是介于汇编语言和高级语言之间的一种中级语言,它综合了高级语言的要素和汇编语言的机能,可以实现汇编语言位操作的功能。所谓位操作,是对字节或字节内部的二进制位进行测试、设置、移位或逻辑运算。n位操作经常应用于设备驱动程序中,如调制解调器驱动程序中用于屏蔽某些位,实现奇偶校验;在磁盘文件管理中如果希望文件不可读,可用密码子程序将文件中的字符逐位取反;有些C语言编译系统用左移位实现乘2运算,用右移位实现除2运算,其速度非常快。数学函数 nC语言计算能力不强,但C语言编译系统在标题文件中定义了众多的数学函数。

5、当需要调用这些数学函数时,要用“#include”命令行包含该标题文件。下面列出的函数中,自变量x和y为double型,n为int型,所有的函数值均为double型。三角函数的自变量以弧度为单位,反三角函数的函数值以弧度为单位。n sin(x)x的正弦,值域为1,1n cos(x)x的余弦,值域为1,1n tan(x)x的正切n asin(x)x的反正弦,定义域为1,1,值域为/2,/2n acos(x)x的反余弦,定义域为1,1,值域为0,n atan(x)x的反正切,定义域为1,1n atan2(y,x)y/x的反正切,y/x的取值范围为1,1n sinh(x)x的双曲正弦,即(exex)

6、/2n cosh(x)x的双曲余弦,即(ex+ex)/2n tanh(x)x的双曲正切,即(exex)/(ex+ex)本章总结n本章重点是在理解各种运算符的优先级和结合性的基础上,正确构造算术表达式、赋值表达式、逗号表达式、关系表达式、逻辑表达式,并掌握各种各类表达式的求值规则n初步掌握简单的位操作及测试数据长度运算符的应用。n本章的难点是:算术表达式和赋值表达式中的自动类型转换和强制类型转换规则;+和 运算符在表达式中的计算规则;复杂逻辑表达式的计算规则。本章习题n一、选择题n1.C语言中要求运算量必须是整型的运算符是_。nA.+B./C.%D.n2.在C语言中,不同类型的数据混合运算时,先

7、要转换成同一类型,然后进行计算。设一表达式中含有int、long、unsigned和char类型的常数和变量,则表达式的最后运算结果是 。这四种类型的转换规律是 。n A.int B.char C.unsigned D.longn A.intunsignedlongchar B.charintlongunsignedn C.charintunsignedlong D.charunsignedlongintn3.a、b均为整数且b0,则表达式a/b*b+a%b的值为_。nA.a B.bnC.a被b除的整数部分 D.a被b除商的整数部分本章习题n4.a、b均为整数且b0,则表达式aa/b*b的值为

8、_。nA.0 B.anC.a被b除的余数部分 D.a被b除商的整数部分n5.下列表达式中,值为0的是_。nA.3%5 B.3/5.0 C.3/5 D.35本章习题n6.下列语句中符合C语言语法的语句是_。nA.a=7+b+c=a+7;B.a=7+b+=a+7;C.a=7+b,b+,a+7;D.a=7=b,c=a+7;n7.表达式18/4*sqrt(4.0)/8的数据类型为_。nA.int B.float C.double D.不确定n8.若变量已正确定义且k的值是4,执行表达式j=k 后,j,k的值是_。nA.j=4,k=4 B.j=4,k=3 C.j=3,k=4 D.j=3,k=3本章习题n

9、9.设int x=10,x+=3+x%(3),则x=_。nA.14 B.15 C.11 D.12n10.表达式(int)(3.0/2.0)的值是_。nA.1.5 B.1.0 C.1 D.0n11.设a为int型变量,则执行以下语句后,a的值为_。n a=10;a+=a-=a-a;nA.10 B.20 C.40 D.30本章习题n12.设变量t为int型,下列选项中,不正确的赋值语句是_。nA.+t;B.n1=(n2=(n3=0);C.k=i=1;D.a=b+c=1;n13.设float m=4.0,n=4.0;使m为10.0的表达式是_。nA.m=n*2.5 B.m/=n+9 C.m*=n6

10、D.m+=n+2n14.C语句x*=y+2;还可以写成_。nA.x=x*y+2;B.x=2+y*x;C.x=x*(y+2);D.x=y+2*x;本章习题n15.若变量已正确定义,要将a和b中的数进行交换,则下列不正确的语句组是_。nA.a=a+b,b=ab,a=ab;B.t=a,a=b,b=t;nC.a=t;t=b;b=a;D.t=b;b=a;a=t;n16.设有如下变量定义:int a,b,i=4;double x=1.42,y;则以下符合C语言语法的表达式是_。nA.a+=a=(b=4)*(a=3)B.x%(3)nC.a=a*3=2 D.y=float(i)n17.设已定义:int k=7

11、,x=12;下列表达式中,计算结果为0的是_。nA.x%=(k%=5)B.x%=(kk%5)C.x%=kk%5 D.(x%=k)(k%=5)本章习题n18.若已定义x和y为double型变量,则表达式:x=1,y=x+3/2的值是_。nA.1 B.2 C.2.0 D.2.5 n19.设int c=5和int a,a=2+(c+=c+,c+8,+c),则a的值为_。nA.15 B.14 C.13 D.16n20.设 int a=7,b=8;则printf(%d,%d,(a+b,a),(b,a+b);的输出是_。nA.7,15 B.8,15 C.15,7 D.出错本章习题n21.设int a=3;

12、则表达式a1的运算结果和a的值分别是_。nA.0和2 B.0和3 C.1和2 D.1和3n22.为表示关系xyz,应使用的C语言表达式是_。nA.(x=y)&(y=z)B.(x=y)AND(y=z)C.x=y=z D.(x=y)&(y=z)n23.已知int x=43,y=0;char ch=A;则表达式(x=y&ch0)&(b0)B.a&b C.(a0)|(b0)D.(a0)|(b0)n25.当c的值不为0时,下列选项中能正确将c的值既赋给变量a又赋给变量b的是_。nA.c=b=a B.(a=c)|(b=c)C.(a=c)&(b=c)D.a=c=bn26.设a为整型变量,下列不能正确表达数学

13、关系:10a15的C语言表达式是_。nA.10a10&a15 D.!(a=15)本章习题n27.下面的程序输出为_。n main()n int a=-1,b=4,k;n k=(a+=0)&(!(b-=0);n printf(%d%d%d,k,a,b);n nA.0 0 3 B.0 1 2 C.1 0 3 D.1 1 2n28.设a、b和c都是int型变量,且a=3,b=4,c=5;则以下表达式中,值为0的是_。nA.a&b B.a=b C.a|b+c&bc D.!(a(int)(xy)的值为_。nA.2 B.4 C.1 D.3n33.设int b=2;,表达式(b1)的值是_。nA.0 B.2

14、 C.4 D.8n34.sizeof(double)是_。nA.一种函数调用 B.一个双精度表达式 nC.一个整型表达式 D.一个不合法的表达式本章习题n二、填空题n1.设有以下定义,并已赋确定的值n char ch;int i;float f;double d;n则表达式ch*i+df的数据类型为_。n2.设有int a=11;,则表达式(a+*1/5)的值为_。n3.下列程序的输出结果是_。n main()n double d=3.2;n int a=1.2,b;n b=(a+3.8)/5.0;n printf(%fn,d*b);n 本章习题n三、编程题n1.编写程序,其功能是:从键盘输入长方体三边边长x,y,z分别为2.5,3.5,4.5,然后求其表面积a和体积v。n2.编写程序,其功能是:从键盘输入正方形的边长a,计算并输出该正方形的内接圆的面积s和周长c。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C语言程序设计课件52.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|