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