好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言数据运算实用教案.ppt

23页
  • 卖家[上传人]:新**
  • 文档编号:574612433
  • 上传时间:2024-08-16
  • 文档格式:PPT
  • 文档大小:450.50KB
  • / 23 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 算术(suànshù)运算￿•算术运算,也叫数值(shùzí)运算,是程序设计中使用最多的一种数据运算￿•1.￿算术运算符•2.￿算术表达式￿第1页/共22页第一页,共23页 赋值运算(yùn￿suàn)￿•①￿赋值运算符“=”是一种二元运算符,必须连接(liánjiē)两个运算量其左边只能是变量或数组元素,不能是常量或表达式;右边则可以是任何表达式例如,x=y+2,x=x+1等是允许的,而y+2=x,5=x等是错误的•②￿赋值运算符除了“=”,还有另外10种复合赋值运算符它们由赋值号“=”和另外一个二元运算符组成,具有计算和赋值双重功能这10种复合赋值运算符是+=、–￿=、*=、/=、%=、&=、|=、^=、<<=和>>=其中,前5种复合赋值运算符具有算术运算和赋值的双重功能第2页/共22页第二页,共23页 逗号运算(yùn￿suàn)(顺序运算(yùn￿suàn))•逗号运算符的作用是连接多个数据项,从而能将它们作为一个整体来处理前面介绍的用一个类型关键字定义多个变量时,各变量之间要用逗号隔开•在printf()函数中多个输出(shūchū)项之间用逗号隔开,在scanf()函数中多个输入项之间用逗号隔开等,目的都是将多个变量、输出(shūchū)项或输入项视为一个整体。

      本节介绍用逗号运算符将多个表达式作为一个整体时的处理原则￿第3页/共22页第三页,共23页 关系(guān￿xì)运算和逻辑运算￿•在程序设计的实践中,关系运算和逻辑运算主要用来进行条件(tiáojiàn)判断,以便程序能按照指定的流程运行￿关系运算和逻辑运算通常用在第4章要介绍的if语句、switch语句、for语句或while语句中•1.￿关系运算符和关系表达式•2.￿逻辑运算符和逻辑表达式第4页/共22页第四页,共23页 测试数据长度(chángdù)运算符sizeof￿•C语言并不规定各种类型的数据占用多大的存储空间,同一类型的数据在不同的宿主机上可能占用不同的存储空间,为此,C语言提供了测试数据长度运算符sizeof,以测试各种数据类型的长度,它的一般格式如下:•￿￿￿sizeof(exp)•其功能(gōngnéng)是给出exp所占用的内存字节数其中,exp可以是类型关键字、变量或表达式例如:￿sizeof(double),sizeof(x),sizeof(a+b),sizeof(3*1.46/7.28)等￿第5页/共22页第五页,共23页 位操作￿•C语言是介于汇编语言和高级语言之间的一种中级语言,它综合了高级语言的要素和汇编语言的机能,可以实现汇编语言位操作的功能。

      所谓位操作,是对字节或字节内部的二进制位进行(jìnxíng)测试、设置、移位或逻辑运算•位操作经常应用于设备驱动程序中,如调制解调器驱动程序中用于屏蔽某些位,实现奇偶校验;在磁盘文件管理中如果希望文件不可读,可用密码子程序将文件中的字符逐位取反;有些C语言编译系统用左移位实现乘2运算,用右移位实现除2运算,其速度非常快￿第6页/共22页第六页,共23页 数学(shùxué)函数￿•C语言计算能力不强,但C语言编译系统在标题文件中定义了众多的数学函数当需要调用这些数学函数时,要用“#include￿”命令行包含该标题文件下面列出的函数中,自变量x和y为double型,n为int型,所有(suǒyǒu)的函数值均为double型三角函数的自变量以弧度为单位,反三角函数的函数值以弧度为单位•￿￿sin(x)￿￿￿￿￿￿￿x的正弦,值域为[–1,1]•￿￿cos(x)￿￿￿￿￿￿￿x的余弦,值域为[–1,1]•￿￿tan(x)￿￿￿￿￿￿￿x的正切•￿￿asin(x)￿￿￿￿￿￿x的反正弦,定义域为[–1,1],值域为[–π/2,π/2]•￿￿acos(x)￿￿￿￿￿￿x的反余弦,定义域为[–1,1],值域为[0,π]•￿￿atan(x)￿￿￿￿￿￿x的反正切,定义域为[–1,1]•￿￿atan2(y,x)￿￿￿y/x的反正切,y/x的取值范围为[–1,1]•￿￿sinh(x)￿￿￿￿￿￿x的双曲正弦,即(ex–e–x)/2•￿￿cosh(x)￿￿￿￿￿￿x的双曲余弦,即(ex+e–x)/2•￿￿tanh(x)￿￿￿￿￿￿x的双曲正切,即(ex–e–x)/(ex+e–x)第7页/共22页第七页,共23页。

      本章(běn￿zhānɡ)总结•本章重点是在理解各种运算符的优先级和结合性的基础上,正确构造算术表达式、赋值表达式、逗号表达式、关系表达式、逻辑表达式,并掌握各种各类表达式的求值规则•初步掌握简单的位操作及测试数据长度运算符的应用•本章的难点是:算术表达式和赋值表达式中的自动类型转换和强制(qiángzhì)类型转换规则;++和–￿–运算符在表达式中的计算规则;复杂逻辑表达式的计算规则￿第8页/共22页第八页,共23页 本章(běn￿zhānɡ)习题•一、选择题•1.￿C语言中要求运算量必须是整型的运算符是_____•A.￿+￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿/￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿%￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿–•2.￿在C语言中,不同类型的数据混合运算时,先要转换成同一类型,然后进行计算设一表达式中含有int、long、unsigned和char类型的常数和变量(biànliàng),则表达式的最后运算结果是￿￿①￿￿这四种类型的转换规律是￿￿②￿￿•①￿A.￿int￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿char￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿unsigned￿￿￿￿￿￿￿￿￿D.￿long•②￿A.￿int→unsigned→long→char￿￿￿￿￿￿￿￿￿￿￿B.￿char→int→long→unsigned•￿￿￿￿￿C.￿char→int→unsigned→long￿￿￿￿￿￿￿￿￿￿￿D.￿char→unsigned→long→int•3.￿a、b均为整数且b≠0,则表达式a/b*b+a%b的值为______。

      ￿•A.￿a￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿b•C.￿a被b除的整数部分￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿a被b除商的整数部分第9页/共22页第九页,共23页 本章(běn￿zhānɡ)习题•4.￿a、b均为整数(zhěngshù)且b≠0,则表达式a–a/b*b的值为______•A.￿0￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿a•C.￿a被b除的余数部分￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿a被b除商的整数(zhěngshù)部分•5.￿下列表达式中,值为0的是____•A.￿3%5￿￿￿￿￿￿￿￿￿￿￿￿B.￿3/5.0￿￿￿￿￿￿￿￿￿￿￿￿C.￿3/5￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿3<5第10页/共22页第十页,共23页 本章(běn￿zhānɡ)习题•6.￿下列语句中符合C语言语法的语句是______•A.￿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;•7.￿表达式18/4*sqrt(4.0)/8的数据类型为____。

      •A.￿int￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿float￿￿￿￿￿￿￿￿￿￿￿￿C.￿double￿￿￿￿￿￿￿￿￿￿￿D.￿ 不确定•8.￿若变量已正确(zhèngquè)定义且k的值是4,执行表达式j=k–￿–后,j,k的值是____•A.￿j=4,k=4￿￿￿￿￿￿￿￿￿￿B.￿j=4,k=3￿￿￿￿￿￿￿￿￿￿C.￿j=3,k=4￿￿￿￿￿￿￿￿￿￿D.￿j=3,k=3第11页/共22页第十一页,共23页 本章(běn￿zhānɡ)习题•9.￿设int￿x=10,x+=3+x%(–3),则x=______•A.￿14￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿15￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿11￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿12•10.￿表达式(int)(3.0/2.0)的值是____•A.￿1.5￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿1.0￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿1￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿0•11.￿设a为int型变量(biànliàng),则执行以下语句后,a的值为____•￿￿￿￿￿￿￿￿￿￿￿￿￿a=10;￿a+=a-=a-a;•A.￿10￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿20￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿40￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿30第12页/共22页第十二页,共23页。

      本章(běn￿zhānɡ)习题•12.￿设变量t为int型,下列(xiàliè)选项中,不正确的赋值语句是____•A.￿++t;￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿n1=(n2=(n3=0));￿￿￿C.￿k=i==1;￿￿￿￿￿￿￿￿￿D.￿a=b+c=1;•13.￿设float￿m=4.0,￿n=4.0;￿使m为10.0的表达式是____•A.￿m–￿=n*2.5￿￿￿￿￿￿￿￿￿B.￿m/=n+9￿￿￿￿￿￿￿￿￿￿C.￿m*=n–6￿￿￿￿￿￿￿￿￿D.￿m+=n+2•14.￿C语句x*=y+2;还可以写成____•A.￿x=x*y+2;￿￿￿￿￿￿￿￿￿B.￿x=2+y*x;￿￿￿￿￿￿￿￿C.￿x=x*(y+2);￿￿￿￿￿￿￿D.￿x=y+2*x;第13页/共22页第十三页,共23页 本章(běn￿zhānɡ)习题•15.￿若变量已正确定义,要将a和b中的数进行交换,则下列(xiàliè)不正确的语句组是____•A.￿a=a+b,￿b=a–b,￿a=a–b;￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿t=a,￿a=b,￿b=t;•C.￿a=t;￿t=b;￿b=a;￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿t=b;￿b=a;￿a=t;•16.￿设有如下变量定义:int￿a,b,i=4;double￿x=1.42,y;则以下符合C语言语法的表达式是____。

      •A.￿a+=a–=(b=4)*(a=3)￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿x%(–3)•C.￿a=a*3=2￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿y=float(i)•17.￿设已定义:int￿k=7,x=12;￿下列(xiàliè)表达式中,计算结果为0的是____•A.￿x%=(k%=5)￿￿￿￿￿￿￿B.￿x%=(k–k%5)￿￿￿￿￿C.￿x%=k–k%5￿￿￿￿￿￿￿D.￿(x%=k)￿–(k%=5)第14页/共22页第十四页,共23页 本章(běn￿zhānɡ)习题•18.￿若已定义x和y为double型变量(biànliàng),则表达式:x=1,y=x+3/2的值是____•A.￿1￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿2￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿2.0￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿2.5￿•19.￿设int￿c=5和int￿a,a=2+(c+=c++,c+8,++c),则a的值为______•A.￿15￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿14￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿13￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿16•20.￿设￿int￿a=7,b=8;￿则printf("%d,%d",(a+b,a),(b,a+b));的输出是____。

      •A.￿7,15￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿8,15￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿15,7￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿出错第15页/共22页第十五页,共23页 本章(běn￿zhānɡ)习题•21.￿设int￿a=3;￿则表达式a<1&&–￿–a>1的运算结果和a的值分别是___•A.￿0和2￿￿￿￿￿￿￿￿￿￿￿B.￿0和3￿￿￿￿￿￿￿￿￿￿￿￿C.￿1和2￿￿￿￿￿￿￿￿￿￿￿D.￿1和3•22.￿为表示(biǎoshì)关系x≥y≥z,应使用的C语言表达式是______•A.￿(x>=y)&&(y>=z)￿￿￿￿B.￿(x>=y)AND(y>=z)￿￿￿￿C.￿x>=y>=z￿￿￿￿￿D.￿(x>=y)&(y>=z)•23.￿已知int￿x=43,y=0;￿char￿ch='A';￿则表达式(x>=y&&ch<'B'&&!y)的值是____•A.￿0￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿语法错￿￿￿￿￿￿￿￿￿C.￿1￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿–1第16页/共22页第十六页,共23页 本章(běn￿zhānɡ)习题•24.￿为表示(biǎoshì)“a和b都大于0”,应使用的C语言表达式是____。

      •A.￿(a>0)&&(b>0)￿￿￿￿￿B.￿a&&b￿￿￿￿￿￿￿￿￿￿￿C.￿(a>0)||(b>0)￿￿￿￿￿￿￿D.￿(a>0)|(b>0)•25.￿当c的值不为0时,下列选项中能正确将c的值既赋给变量a又赋给变量b的是____•A.￿c=b=a￿￿￿￿￿￿￿￿￿￿￿￿B.￿(a=c)||(b=c)￿￿￿￿￿￿￿C.￿(a=c)&&(b=c)￿￿￿￿D.￿a=c=b•26.￿设a为整型变量,下列不能正确表达数学关系:1010&&a<15￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿!(a<=10)&&!(a>=15)第17页/共22页第十七页,共23页 本章(běn￿zhānɡ)习题•27.￿下面的程序(chéngxù)输出为______•￿￿￿￿￿￿￿￿main()•￿￿￿￿￿￿￿￿￿￿{￿int￿a=-1,b=4,k;•￿￿￿￿￿￿￿￿￿￿￿￿k=(a++<=0)&&(!(b--<=0));•￿￿￿￿￿￿￿￿￿￿￿￿printf("%d￿%d￿%d",k,a,b);•￿￿￿￿￿￿￿￿￿￿}•A.￿0￿0￿3￿￿￿￿￿￿￿￿￿￿￿￿B.￿0￿1￿2￿￿￿￿￿￿￿￿￿￿￿￿C.￿1￿0￿3￿￿￿￿￿￿￿￿￿￿￿￿D.￿1￿1￿2•28.￿设a、b和c都是int型变量,且a=3,b=4,c=5;￿则以下表达式中,值为0的是____。

      •A.￿a&&b￿￿￿￿￿￿￿￿￿￿￿B.￿a<=b￿￿￿￿￿￿￿￿￿￿￿￿C.￿a||b+c&&b–c￿￿￿￿￿D.￿!((a>(int)(x–y)的值为______。

      •A.￿2￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿4￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿1￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿3•33.￿设int￿b=2;,表达式(b<<2)/(b>>1)的值是____•A.￿0￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿2￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿C.￿4￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿8•34.￿sizeof(double)是______•A.￿一种函数调用￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿B.￿一个双精度表达式￿￿•C.￿一个整型表达式￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿D.￿一个不合法的表达式第19页/共22页第十九页,共23页 本章(běn￿zhānɡ)习题•二、填空题•1.￿设有以下(yǐxià)定义,并已赋确定的值•￿￿￿￿￿￿￿￿char￿ch;￿int￿i;￿float￿f;￿double￿d;•则表达式ch*i+d–f的数据类型为________￿•2.￿设有int￿a=11;,则表达式(a++*1/5)的值为________•3.￿下列程序的输出结果是________•￿￿￿￿￿￿￿￿main()•￿￿￿￿￿￿￿￿￿￿{￿double￿d=3.2;•￿￿￿￿￿￿￿￿￿￿￿￿int￿a=1.2,b;•￿￿￿￿￿￿￿￿￿￿￿￿b=(a+3.8)/5.0;•￿￿￿￿￿￿￿￿￿￿￿￿printf("%f\n",d*b);•￿￿￿￿￿￿￿￿￿￿}第20页/共22页第二十页,共23页。

      本章(běn￿zhānɡ)习题•三、编程题•1.￿编写程序,其功能是:从键盘输入长方体三边边长x,y,z分别为2.5,3.5,4.5,然后求其表面积a和体积v•2.￿编写程序,其功能是:从键盘输入正方形的边长a,计算( jì￿suàn)并输出该正方形的内接圆的面积s和周长c第21页/共22页第二十一页,共23页 感谢您的欣赏(xīnshǎng)!第22页/共22页第二十二页,共23页 内容(nèiróng)总结算术运算(yùn suàn)cos(x) x的余弦,值域为[–1,1]tan(x) x的正切atan(x) x的反正切,定义域为[–1,1]sinh(x) x的双曲正弦,即(ex–e–x)/2cosh(x) x的双曲余弦,即(ex+e–x)/2tanh(x) x的双曲正切,即(ex–e–x)/(ex+e–x)第二十三页,共23页。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.