c++运算符与表达式题稿.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
各种显式的数或字符也是一种常量 立即数:进制,类型 字符常量:单引号:’A’ 字符串常量:双引号 “ABC” 换码序列(转义序列) 反斜杠 \+ [一个字母|三位八进制数|x二位十六进制数] 用途: 字符 控制字符:回车、换行、tab 不方便表示的字符,如 ”、’、\ 等 面向对象的程序设计 2.5 数组(了解) 一、什么是数组 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。 C中属于构造(复合)数据类型 面向对象的程序设计 二、数组的声明 声明格式: 类型说明符 数组名 [常量表达式],……; 类型是数组元素的类型 表达式是常量表达式,不能含变量 表达式的值是数组元素的最大个数, 元素从0开始,a[0] 命名遵守标识符的命名规则,不允许与其他标识符重名 数据类型、存储类型及其它特性与变量相同 面向对象的程序设计 三、数组的使用、赋值和初始化 使用:不能整体使用,使用数组元素 赋值:按元素赋值,不能整体赋值 初始化: 外部数组、内部static可以初始化(原来),现在一般允许 使用初始化列表,一次初始化 int a[5]={100,120,140,160,200}; int b[]={1,3,6,8}; 注意下标溢出的问题 面向对象的程序设计 #define MAXA 10 void main() {   int i, max, a[MAXA]; printf(input 10 numbers:\n); for(i=0;iMAXA;i++) scanf(%d, a[i]); max=a[0]; for(i=1;iMAXA;i++) if(a[i]max) max=a[i]; printf(maxmum=%d\n, max); } 面向对象的程序设计 2.6 运算和表达式 一、基本概念 运算:对数据(对象)进行的处理 操作符(运算符,operator):描述不同运算的符号,同一个运算符对不同类型的数据,运算的逻辑意义一样,处理的过程是不同的。 一元(单目)、二元(双目)、三元运算符 面向对象的程序设计 表达式:有操作符、操作数组成的式子,用来描述一个计算过程,涉及类型转换、优先级、结合规则、求值顺序等 优先级:表达式中多个操作符的执行顺序的规定性,如: *x++; // 先做x++ 结合性:同级操作符的执行顺序的规定性,如: a=b=6; // 先做b=6 表达式是C/C++的语句 面向对象的程序设计 二、算术操作符 赋值运算 a=3, b=c; d=r=f; 算术运算 + - * / % 操作数的类型,混合运算,类型转换 表达式的类型 算术赋值运算 += -= *= /= %= 面向对象的程序设计 赋值运算式作为一个整体的值 赋值运算表达式整个表达式的值是最右侧操作数的值 面向对象的程序设计 算术运算问题( Arithmetic Problems ) 超出范围,溢出 整型数表示范围有限,如: 1+2+3+...+10000 不能用整型变量累计的一般循环方法来解: int sum = 0; for(int i=1; i=10000; ++i) sum += i; coutsum“\n”; 面向对象的程序设计 浮点数的精度和有效位 影响比较的正确性,如: float f1 = 7.123456789; float f2 = 7.123456785; if ( f1==f2 ) cout“f1 equal to f2\n”; float f = 1.0/3.0; double d = 1.0/3.0; if ( g==d ) cout“g not equal to d\n”; 结果为: f1 equals to f2 g not equals to d 面向对象的程序设计 浮点数计算的近似性 使精确性比较失败,如: double d1 = 123456789.9*9; double d2 = 1111111109.1; if ( d1!=d2 ) cout “Not same\n” ; else cout “Same\n” ; if ( abs ( d1-d2 ) 0.00001f) cout “Same\n” ; else cout “Not same\n” ; 结果为: Not same Same 面向对象的程序设计 从表达能力弱的类型到强的类型的转换 是安全的,反之,会引起精度丢失.如: int a = 7; int b = 3; float c = a/b; // dou

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档