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

上传人:sccc 文档编号:5378227 上传时间:2023-07-01 格式:PPT 页数:23 大小:153.01KB
返回 下载 相关 举报
C语言程序设计课件5.ppt_第1页
第1页 / 共23页
C语言程序设计课件5.ppt_第2页
第2页 / 共23页
C语言程序设计课件5.ppt_第3页
第3页 / 共23页
C语言程序设计课件5.ppt_第4页
第4页 / 共23页
C语言程序设计课件5.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C语言程序设计课件5.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件5.ppt(23页珍藏版)》请在三一办公上搜索。

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

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

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

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

5、时,要用“#include”命令行包含该标题文件。下面列出的函数中,自变量x和y为double型,n为int型,所有的函数值均为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的双曲正弦,即(exex)/2 cosh(x)x的双曲余弦,即(ex

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

7、t、long、unsigned和char类型的常数和变量,则表达式的最后运算结果是。这四种类型的转换规律是。A.int B.char C.unsigned D.long A.intunsignedlongchar B.charintlongunsigned C.charintunsignedlong D.charunsignedlongint3.a、b均为整数且b0,则表达式a/b*b+a%b的值为_。A.a B.bC.a被b除的整数部分 D.a被b除商的整数部分,本章习题,4.a、b均为整数且b0,则表达式aa/b*b的值为_。A.0 B.aC.a被b除的余数部分 D.a被b除商的整数部分5

8、.下列表达式中,值为0的是_。A.3%5 B.3/5.0 C.3/5 D.35,本章习题,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.若变量已正确定义且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,本章习题,9.设int x=10,x+=3+x%(3),则x=_。A.14 B.15 C.1

9、1 D.1210.表达式(int)(3.0/2.0)的值是_。A.1.5 B.1.0 C.1 D.011.设a为int型变量,则执行以下语句后,a的值为_。a=10;a+=a-=a-a;A.10 B.20 C.40 D.30,本章习题,12.设变量t为int型,下列选项中,不正确的赋值语句是_。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*=n6 D.m+=n+214.C语句x*=y+2;还可以写成_。A.x=x*y+2;B.x=2+y*x;C.

10、x=x*(y+2);D.x=y+2*x;,本章习题,15.若变量已正确定义,要将a和b中的数进行交换,则下列不正确的语句组是_。A.a=a+b,b=ab,a=ab;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;下列表达式中,计算结果为0的是_。A.x%=(k%=5)B.x%=(kk%5)C.x%=kk%5 D.

11、(x%=k)(k%=5),本章习题,18.若已定义x和y为double型变量,则表达式: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.1620.设 int a=7,b=8;则printf(%d,%d,(a+b,a),(b,a+b);的输出是_。A.7,15 B.8,15 C.15,7 D.出错,本章习题,21.设int a=3;则表达式a1的运算结果和a的值分别是_。A.0和2 B.0和3 C.1和2 D.1和322.为表示关系xyz,应使用的C语

12、言表达式是_。A.(x=y)则表达式(x=y&chB&!y)的值是_。A.0 B.语法错 C.1 D.1,本章习题,24.为表示“a和b都大于0”,应使用的C语言表达式是_。A.(a0)&(b0)B.a&b C.(a0)|(b0)D.(a0)|(b0)25.当c的值不为0时,下列选项中能正确将c的值既赋给变量a又赋给变量b的是_。A.c=b=a B.(a=c)|(b=c)C.(a=c)&(b=c)D.a=c=b26.设a为整型变量,下列不能正确表达数学关系:1010&a=15),本章习题,27.下面的程序输出为_。main()int a=-1,b=4,k;k=(a+=0)则以下表达式中,值为0

13、的是_。A.a&b B.a=b C.a|b+c&bc D.!(ab)&!c|1)29.表达式5&2|5|2的值是_。A.0 B.1 C.2 D.3,本章习题,30.设int i=2,j=1,k=3,则表达式i,表达式(b1)的值是_。A.0 B.2 C.4 D.834.sizeof(double)是_。A.一种函数调用 B.一个双精度表达式 C.一个整型表达式 D.一个不合法的表达式,本章习题,二、填空题1.设有以下定义,并已赋确定的值 char ch;int i;float f;double d;则表达式ch*i+df的数据类型为_。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(%fn,d*b);,本章习题,三、编程题1.编写程序,其功能是:从键盘输入长方体三边边长x,y,z分别为2.5,3.5,4.5,然后求其表面积a和体积v。2.编写程序,其功能是:从键盘输入正方形的边长a,计算并输出该正方形的内接圆的面积s和周长c。,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号