隐式类型转换 口若“=”两边变量类型不同,在赋值时要进行类型转换。 转换原则:根据左边变量的类型转换。 √将浮点型数据(包括单、双精度)赋给整型变量时,舍 弃其小数部分 √将整型数据赋给浮点型变量时,数值不变,但以指数形 式存储到变量中 √将一个double型数据赋给float3变量时,要注意数值范围不 能溢出 √字符型数据赋给整型变量,将字符的ASCⅡ码赋给整型变 量 周上濟大道大学 11/67 隐式类型转换 口int、short或long型数据赋给一个char型变量,低8位原封不 动地送到char型变量 例如 short int i=289; char c; c=i; /将一个int型数据赋给一个char型变量 i=2890000000100100001 c=33 周上濟文通大¥ 12/67 6
6 11/67 若“ = ” 两边变量类型不同,在赋值时要进行类型转换。 转换原则:根据左边变量的类型转换。 将浮点型数据(包括单、双精度)赋给整型变量时,舍 弃其小数部分 将整型数据赋给浮点型变量时,数值不变,但以指数形 式存储到变量中 将一个double型数据赋给float变量时,要注意数值范围不 能溢出 字符型数据赋给整型变量,将字符的ASCII码赋给整型变 量 隐式类型转换 12/67 int、short或long型数据赋给一个char型变量,低8位原封不 动地送到char型变量 例如 short int i=289; char c; c=i; //将一个int型数据赋给一个char型变量 c = 33 '!' 隐式类型转换
赋值表达式 <变量><赋值运算符><表达式> a=12; a+=a-=a*a; 请计算结果! a=a-(a*a)=12-(12*12)=-132 a=a+(-132)=-132-132=-264 a -264 周上海文通大学 13/67 关系运算符 口关系运算:是对两个运算数进行大小关系等的比较。 运算符 名称 例子 关系 大于 a>b a大于b 小于 a<b a小于b 等于 a=b a等于b ! 不等于 a!=b a不等于b 大于等于 a>=b a大于等于b 小于等于 a<=b a小于等于b ==与=区别! d=a>b 例:a=3,b-2,c=1 d=a>b>c 0 图上海文通大学 14/67 7
7 13/67 a=12; a+=a-=a*a; a 12 a=a-(a * a) =12-(12*12)=-132 a=a+(-132)=-132-132=-264 -132 -264 <变量> <赋值运算符> <表达式> 请计算结果! 赋值表达式 14/67 关系运算:是对两个运算数进行大小关系等的比较。 运算符 名称 例子 关系 > 大于 a>b a大于b < 小于 a<b a小于b == 等于 a==b a等于b != 不等于 a!=b a不等于b >= 大于等于 a>=b a大于等于b <= 小于等于 a<=b a小于等于b = = 与 =区别! 例:a=3,b=2,c=1 d=a>b d=a>b>c 1 0 关系运算符
逻辑运算符 口计算结果:逻辑值(true(真)和false(假) 口运算对象:算术、关系、赋值、字符及逻辑表达式 &&所有操作:与 所有操作:或 !所有操作:非 真&&真=真 真‖真=真 !真=假 真&&假=假 真‖假=真 假=真 假&&假=假 假‖假=假 周上海文通大学 15/67 关系表达式 口x<c或x≥b至少之一成立 x<=c‖x>=b 口和j均小于或等于100,或者和j均大于k (i<=100&&j<=100)‖(i>k&&j>k) 口选未婚、30岁以上女讲师和35岁以上男副教授 !婚否&&((性别=‘男’&&职称=‘副教授’&&年龄 >=35)‖(性别=‘女’&&职称=‘讲师’&&年龄 >=30)) 赋值运算<川、&〈关系运算<算术运算<!(非) 周上濟文通大¥ 16/67 8
8 15/67 计算结果:逻辑值(true(真)和false(假)) 运算对象:算术、关系、赋值、字符及逻辑表达式 &&所有操作:与 真 && 真 = 真 真 && 假 = 假 假 && 假 = 假 真 || 真 = 真 真 || 假 = 真 假 || 假 = 假 ||所有操作:或 !所有操作:非 !真 = 假 !假 = 真 逻辑运算符 16/67 xc或xb至少之一成立 x <= c || x >= b i和j均小于或等于100,或者i和j均大于k ( i <= 100 && j <= 100 ) || ( i > k && j > k ) 选未婚、30岁以上女讲师和35岁以上男副教授 ! 婚否 && ( (性别==‘男’&& 职称==‘副教授’&& 年龄 >=35)|| (性别==‘女’&& 职称==‘讲师’&& 年龄 >=30)) 赋值运算< ||、&& < 关系运算 < 算术运算< !(非) 关系表达式
关系表达式 口判别闰年:符合下面2个条件之一 √能被4整除,但不能被100整除 √能被100整除,又能被400整除 (year %4==0 &year%100!=0)Ilyear%400==0 口如何判别非闰年? !(year%4==0&&year%100I=0 llyear%400=0) (year%4!=0)‖(year%100==0&&year%4001=0) 周上濟大道大学 17/67 上浒充通大¥ ANGHA IMO TONG UNIVERSITY 1920 1987 2006 第2讲C+程序的流程控制 1.运算符和表达式 2. 程序设计基本结构 3. 选择结构程序设计 4.循环结构程序设计 5.标准文件输入输出 9
9 17/67 判别闰年:符合下面2个条件之一 能被4整除,但不能被100整除 能被100整除,又能被400整除 (year %4==0 && year%100!=0)||year%400==0 如何判别非闰年? !((year %4==0 && year%100!=0)||year%400==0) (year %4!=0) || (year%100==0&&year%400!=0) 关系表达式 第 2 讲 C++程序的流程控制 1. 运算符和表达式 2. 程序设计基本结构 3. 选择结构程序设计 4. 循环结构程序设计 5. 标准文件输入输出
程序设计基本结构 ▣程序流程按其在解决问题过程中,各处理步骤的执行次 序和模式,通常包含三大基本控制结构: √顺序结构 √选择结构 顺序 选择 √循环结构 结构 结构 任何程序只用这三种基 本控制结构就可以实现。 循环结构 周上濟大道大学 19/67 程序设计基本结构 口顺序结构:一个步骤完成后,顺 开始 序执行紧跟着的下个处理步骤。 语句1 口如播放电视节目,按节目单先后 顺序直线播下来。 语句2 语句n 结束 周上泽文通大¥ 20/67 10
10 19/67 程序流程按其在解决问题过程中,各处理步骤的执行次 序和模式,通常包含三大基本控制结构: 顺序结构 选择结构 循环结构 选择 结构 循环结构 顺序 结构 程序设计基本结构 任何程序只用这三种基 本控制结构就可以实现。 20/67 顺序结构:一个步骤完成后,顺 序执行紧跟着的下个处理步骤。 如播放电视节目,按节目单先后 顺序直线播下来。 开始 语句1 语句2 结束 语句n … 程序设计基本结构