第 运算符和表达式.pptx
运算符运算符 C+中包含了C语言中的运算符和表达式 C+提供的基本运算符有以下几种:算术运算符、关系运算符、逻辑运算符、位运算符、条件运算符、赋值运算符、逗号运算符、sizeof运算符及其他运算符(按功能分)。不同的运算符需要指定的操作数的个数并不相同。根据运算符需要的操作数的个数,可将其分为3种:单目运算符(一个操作数)、双目运算符(两个操作数)和三目运算符(三个操作数)。第第2页页/共共12页页第1页/共12页算术运算符算术运算符 C+的算术运算符包含单目运算符和双目运算符,其中单目运算符有减、增量、减量运算符,双目运算符有加、减、乘、除和模运算符。在进行包含多个算术运算符的表达式运算时候,需要注意算术运算符的优先级。优先级相同的运算符,按照其结合性进行处理;在算术运算符中,除单目运算符外,其余双目运算符的结合性都是从左到右的。【范例3-1】算术运算符的使用。该范例中a=5,b=3,c=1,d=2,e=6,求表达式a+b-c/d+e%d的值 第第3页页/共共12页页第2页/共12页赋值运算符赋值运算符 赋值运算符是C+程序设计中最基本的运算符之一,利用赋值运算符可以给一个变量赋值。其说明语句的一般形式为,=;运运 算算 符符使用方法使用方法等效形式等效形式说说 明明+=a+=ba=a+b将将a加加b的值赋给的值赋给a-=a-=ba=a-b将将a减减b的值赋给的值赋给a*=a*=ba=a*b将将a乘以乘以b的值赋给的值赋给a/=a/=ba=a/b将将a除以除以b的值赋给的值赋给a%=a%=ba=(a%b)将将a除以除以b的余数的值赋给的余数的值赋给a=a=ba=(a=a=ba=(ab)将将a右移右移b位的值赋给位的值赋给a&=a&=ba=(a&b)将将a与与b逐位与的值赋给逐位与的值赋给a|=a|=ba=(a|b)将将a与与b逐位或的值赋给逐位或的值赋给a=a=ba=(ab)将将a与与b逐位异或的值赋给逐位异或的值赋给a第第4页页/共共12页页第3页/共12页条件运算符条件运算符 C+中,还支持条件运算符的使用,条件运算符是一个比较特殊的运算符,其是三目运算符,说明语句的一般形式为:?:例如,读者可以通过如下的表达式理解条件运算符的使用。x=ab?a:b上述表达式的含义为:如果ab成立,那么将a的值赋给x;如果ab不成立,则将b的值赋给x。这在实际程序中应用是比较多的。第第5页页/共共12页页第4页/共12页表达式表达式 表达式是由运算符和操作数组成的式子,运算符可以是3.1.9节介绍过的各种运算符。操作数包含了常量、变量、函数和其他一些命名的标识符,最常见的表达式是常量和变量。此外,由于C+中运算符很丰富,因此表达式的种类也很多。常见的表达式有如下6种:算术表达式。例如,a+5.2/3.0-9%5关系表达式。例如,m=x逻辑表达式。例如,!a&8|7条件表达式。例如,a4?+a:-a赋值表达式。例如,a=7逗号表达式。例如,a+5,a=7,a+=4 第第6页页/共共12页页第5页/共12页语句语句 一般说来,C+语句和表达式并没有严格区分。一个表达式,加上一个分号后,便直接形成语句。例如,算术表达式3+2,为其加上分号,写成如下形式:3+2;这就是语句了。计算机可以执行该语句,但它并不改变程序的运行逻辑。当然,这条语句并没有实际意义。当一些表达式组合起来,完成某一相对完整的功能后,再加一个分号表示结束,这就组成一条语句。如下面的语句:a=3+2;这就是一条赋值语句,它改变了a的值。第第7页页/共共12页页第6页/共12页语句中的空格语句中的空格 在前面的示例中,读者接触到了许多简单的程序,其中包含很多语句。读者可能也注意到了,程序段中的语句并不是全部顶格对齐的,在语句中包含了很多空格。【范例3-10】语句中存在部分空格,保证程序的可读性。该范例是一个简单地比较两个变量大小的程序,输出其中大的一个。第第8页页/共共12页页第7页/共12页空语句空语句 前面使用较多的都是表达式语句,即一个表达式加上一个分号组成。除此之外,语句也可以直接是一个分号,这种语句称为空语句。空语句仅由一个分号组成,不进行任何操作。一般用于语法上要求有一条语句但实际没有任何操作的场合。例如下列语句中:for(i=1;i10;i+);/空语句,起延时作用for循环中没有进行任何操作,而只是起到延时的作用。一般情况下,除非为了调试程序,否则写一句空语句也纯属多余。第第9页页/共共12页页第8页/共12页本章主要介绍了C+的运算符和表达式,这是C+的入门基础之一。在运算符部分,本章着重讲解了7种运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符、位运算符,在介绍这些运算符的基本概念后,都设置了一个简单示例用以说明这些运算符在具体程序中的使用,并对这些运算符的优先级和结合性进行了说明。同样地,针对不同的运算符,在表达式部分也对这些表达式做了详细介绍。最后简要介绍了C+中常见的几种语句,在第4章中还将继续讲解C+的流程控制语句。小结 第第10页页/共共12页页第9页/共12页1编写一个C+程序,要求从键盘上输入两个整数,将其存入整型变量x和y,并求出这两个整数进行四则算术运算、整除运算和取余运算的结果。2若有下面的语句int x=5,y=6,z=7,m;则在计算表达式 m=(xz-4)后,m的值为多少?3设int x=15,则表达式 x=20?10:30 的值为多少?习题第第11页页/共共12页页第10页/共12页习题习题4下面程序段的输出结果是多少?#include void main()int a,b;a=b=10;couta=a,b=bendl;int c=10,d;d=(c=5*(a+b);coutc=c,d=dendl;第第12页页/共共12页页第11页/共12页感谢您的观看!第12页/共12页