面向对象程序设计第三章基本数据类型与基本运算

上传人:san****019 文档编号:71170919 上传时间:2019-01-19 格式:PPT 页数:84 大小:923.31KB
返回 下载 相关 举报
面向对象程序设计第三章基本数据类型与基本运算_第1页
第1页 / 共84页
面向对象程序设计第三章基本数据类型与基本运算_第2页
第2页 / 共84页
面向对象程序设计第三章基本数据类型与基本运算_第3页
第3页 / 共84页
面向对象程序设计第三章基本数据类型与基本运算_第4页
第4页 / 共84页
面向对象程序设计第三章基本数据类型与基本运算_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《面向对象程序设计第三章基本数据类型与基本运算》由会员分享,可在线阅读,更多相关《面向对象程序设计第三章基本数据类型与基本运算(84页珍藏版)》请在金锄头文库上搜索。

1、第三章 基本数据类型与基本运算,包含简单计算的C+程序,基本类型及其派生类型,说明语句,基本运算符,3.4 基本运算符,一、运算符和表达式的概念,单目运算:,双目运算:,三目运算:,3.4 基本运算符,二、赋值运算,1. 赋值运算是一种双目运算,其形式为:,变量名=表达式,赋值运算的操作是:计算表达式的值 把该值赋给左端的变量,例如:a=b+c*a,3.4 基本运算符,三、算术运算,1. 增量和减量,3.4 基本运算符,1. 增量和减量,int a=3; int b=+a; /相当于a=a+1; b=a; couta“ ”bendl; int c=a+; /相当于 c=a;a=a+1; cou

2、ta“ ”cendl;,例1,输出结果: 4 4 5 4,三、算术运算,3.4 基本运算符,1. 增量和减量,例2,输出结果: 2 2 1 2,int a=3; int b=a; /相当于a=a-1; b=a; couta“ ”bendl; int c=a; /相当于 c=a;a=a-1; couta“ ”cendl;,三、算术运算,3.4 基本运算符,1. 增量和减量,说明, 由于增量与减量操作包含有赋 值操作,所以操作数不能是常 量。 例如:3+;/error, 增量与减量操作符是两个+或- 的一个整体,中间不能有空格。 如果有多于两个+或-连写的情 况,则编译首先识别前面两个 +或-为增

3、量或减量操作符。,三、算术运算,3.4 基本运算符,1. 增量和减量,int a=5,b=5,c=5;,例3,三、算术运算,a+=b+c+,a+=b+c,a+=b+(+c),15,6,5,16,5,6,3.4 基本运算符,2. 数据类型转换,自动类型转换:两个运算分量应为同一类型,如果不同,应遵循类型转换原则,即由“短”类型向“长”类型转换。例如:,三、算术运算,3.4 基本运算符,2. 类型转换,强制类型转换:,三、算术运算,(1)类型说明符(表达式); (2)(类型说明符)表达式;,#include void main( ) double x; int n; x=123.123; n=in

4、t(x);/ n=(int)x; coutxendl; coutnendl; ,3.4 基本运算符,四、关系运算,1. 运算符,比较(),大于(),小于(),大于等于(),小于等于(),不等于(!),3.4 基本运算符,四、关系运算,2. 比较运算符(),比较()用于测试给定的两个操作数是否相等,因此产生的结果是比较的结果,即0(false)或1(true)。,x=8; if(x=9) cout“x is not 0n”;,3.4 基本运算符,四、关系运算,3. 不等于运算符(!),if(x!=9) cout“x isnt 9n”;,例,3.4 基本运算符,五、逻辑运算,! (逻辑非) &(逻

5、辑与) |(逻辑或),int temp=90,humi=80; if (temp=80 ,例2,输出结果:wow,its hot! The room is uncomfortable!,3.4 基本运算符,六、位运算,位运算是对整型数的二进制表示的每一位进行运算,包括: & 与 | 或 异或 右移位 左移位 取反,3.4 基本运算符,六、位运算,int a=39,b=45;,例,则a&b的值为:,39:0 0 1 0 0 1 1 1,45:0 0 1 0 1 1 0 1,&,37:0 0 1 0 0 1 0 1,3.4 基本运算符,六、位运算,int a=39,b=45;,例,则a|b的值为:

6、,39:0 0 1 0 0 1 1 1,45:0 0 1 0 1 1 0 1,|,47:0 0 1 0 1 1 1 1,3.4 基本运算符,六、位运算,int a=39,b=45;,例,则ab的值为:,39:0 0 1 0 0 1 1 1,45:0 0 1 0 1 1 0 1,10:0 0 0 0 1 0 1 0,3.4 基本运算符,六、位运算,int a=39,b=45;,例,则a的值为:,39:0 0 1 0 0 1 1 1,1 1 0 1 1 0 0 0,3.4 基本运算符,六、位运算,int a=39,b=45;,例,则a1的值为:,0 0 1 0 0 1 1 1,0 1 0 0 1

7、1 1 0,则a3的值为:,0 0 1 1 1 0 0 0,则a1的值为:,则a3的值为:,0 0 0 1 0 0 1 1,0 0 0 0 0 1 0 0,3.4 基本运算符,七、条件运算符,?(条件为真时的表达式):(条件为假时的表达式),x=ab?a:b;,例,3.4 基本运算符,八、逗号运算符,,(表达式2),(表达式n),int a,b,c; a=b,b=a+2,c=b+3;,说明1,C+顺序计算各个表达式的值,a=1; b=a+2; c=b+3;,3.4 基本运算符,八、逗号运算符,,(表达式2),(表达式n),int a,b,c,d; d=(a=1,b=a+2,c=b+3); co

8、utdendl;,说明2,逗号表达式是有值的,其值为第n个表达式的值。所以又称顺序求值运算符,输出为:6,3.4 基本运算符,九、字长提取符,格式:sizeof(),返回值:某数据在系统内分配的内存空间,#include void main( ) int n; short s; long l; unsigned int u1; unsigned short int u2; unsigned long int u3; float f; double d; char c;,例,编写一个程序求各种类型数据的存储长度。,cout“整型:”8*sizeof(n)endl; cout“短整型:”8*siz

9、eof(s)endl; cout“长整型:”8*sizeof(l)endl; cout“无符号整型:”8*sizeof(u1)endl; cout“无符号短整型:”8*sizeof(u2)endl; cout“无符号长整型:”8*sizeof(u3)endl; cout“单精度实型:”8*sizeof(f)endl; cout“双精度实型:”8*sizeof(d)endl; cout“字符型:”8*sizeof(c)endl; ,3.4 基本运算符,十、运算的优先级,1. 括号优先,2. 没有括号的地方,不同的运算按照优先 级的顺序进行计算,优先级高的先计算。,比如,算术运算的优先级:,,+,

10、(单目),*,/,%,+,(双目),3.4 基本运算符,十、运算的优先级,3. 具有相同优先级的运算符,按两种顺序决定先后次序。,3.4 基本运算符,括号 ( ) 从左向右 一元 + - + - 从右向左 乘 * / % 从左向右 加 + - 从左向右 插入/读取 从左向右 关系 = 从左向右 相等 = = != 从左向右 条件 ?: 从右向左 赋值 = += -= *= /= %= 从右向左 逗号 , 从左向右,类型,运算符,结合律,3.4 基本运算符,十、运算的优先级,例:z = p * r % q + w / x - y;,第四章 基本控制结构,控制语句,分支语句,循环语句,转向语句,4

11、.1 控制语句,控制语句,条件 控制语句,无条件 控制语句,分支语句,循环语句,break语句,continue语句,return语句,goto语句,for语句,while语句,do-while语句,if语句,switch语句,4.2 分支语句,一、if语句:称为单项选择结构语句,if 语句的语法是:,if (条件表达式) 语句;,if (条件表达式) 语句序列; ,或,其结构流程图:,t,f,4.2 分支语句,一、if语句,#include #include /控制台输入输出 void main( ) cout“Input the b key .n”; char ch=getche( );

12、if (ch= =b) couta; ,例,4.2 分支语句,二、ifelse语句:称为双项选择结构语句,if 语句的语法是:,if (条件表达式) /语句1; else /语句2;,其结构流程图:,t,f,4.2 分支语句,二、ifelse语句,if (grade=60) cout“passed”; else cout“failed”;,说明,C+提供的条件运算符与ifelse 语句是密切相关的,可以改写成:,cout=60?“ passed”: “ failed”);,grade=60? cout “ passed”: cout “ failed”;,或,4.2 分支语句,二、ifelse

13、语句,int x=20; if (x=0) if (x50) cout“x is ok.n”; else cout“x is not ok.n”;,说明,2. 解决二义性,C+规定:else连接到前面最近的一个没有配对的且为可见的if上。,4.2 分支语句,二、ifelse语句,if (条件) /第一个if if (条件) /第二个if if (条件) /第三个if 语句; else 语句;,说明,2. 解决二义性,此例中else连接到第二个if上,因为第三个if不可见。,4.2 分支语句,三、switch语句:称为开关语句或分情况语句,switch语句的语法是:,switch (表达式) c

14、ase 常量表达式1:语句组1 case 常量表达式2:语句组2 case 常量表达式n:语句组n default:语句组n+1 ,4.2 分支语句,三、switch语句:称为开关语句或分情况语句,char grade; / switch ( grade) case A:cout“85100n”; case B:cout“7084n”; case C:cout“6069n”; case D:cout“60n”; default:cout“errorn”; ,例,4.2 分支语句,三、switch语句,说明,switch后面括号中的表达式只能是整型、字符型或枚举型表达式。case后面常量表达式的类型必须与其匹配。,float f=4.0; switch ( f ) /error / ,用浮点类型作为switch的表达式,会引起编译错误,4.2 分支语句,三、switch语句,说明,2. 当表达式的值与某一个case后面的常量表达式值相等时,就执行此case后面的语句,若所有case中的常量表达式都没有与表达式的值匹配,就执行default后面的语句。,4.2 分支语句,三、switch语句,说明,省略switch结构中case字样与测试值之间的空格可能造成逻辑错误。例如: 写成 case3: 而不是 case 3: 只会造成一个无用标号。,4.2 分支语句,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号