




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter2Chapter2 求学生成绩和以及平均成绩的例题中, 学生成绩可以是整数,也可以是实数, 如何确定其到底是什么类型的?在程序 中,有些数据是变化的,有些却是固定 不变的,如何设置这些数据?如何表示 这些数据?C+中语句如何构成,其语 法结构如何?如何使用运算符和表达式 进行计算? Chapter2Chapter2 要点:数据类型、常数、变量、运算符与表达式要点:数据类型、常数、变量、运算符与表达式 什么是数据类型?什么是数据类型? 程序主要是对数据进行处理,首先要存储数据:程序主要是对数据进行处理,首先要存储数据: 用多大的空间存储数据、怎样存,进行什么运算用多大的空间存储数据、怎样存,进行什么运算 根据数的特点决定根据数的特点决定数据类型数据类型 根据处理方法决定选用根据处理方法决定选用常量或变量或数组常量或变量或数组 同时要起名字、知道存贮结构同时要起名字、知道存贮结构 根据数据类型决定采用的运算符与表达式根据数据类型决定采用的运算符与表达式 同时要知道运算优先顺序和方向同时要知道运算优先顺序和方向 Chapter2Chapter2 2.1 词法符号 2.2 基本数据类型 2.3 常量与变量 2.4 运算符与表达式 Chapter2Chapter2 2.1 2.1 词法符号词法符号P13P13 2.1.12.1.1 字符集字符集 2.1.22.1.2 标识符 标识符 2.1.32.1.3 关键字 关键字 Chapter2Chapter2 2.1.12.1.1 字符集 字符集 1.字符集字符集:即程序中允许出现的符号 (ASCII码字符集) 每种程序设计语言都使用一些特定的字符来构造基本 词法单位,这些字符构成的集合就叫做字符集。 26个小写字母(az)、26个大写字母(AZ) 10个数字(09) 其他符号:+ - * / = |? %,( )r; s=2*r*3.14; a=r*r*3.14; cout void main() double r,s,a; coutr; s=2*r*3.14; a=r*r*3.14; cout const double PI=3.14; void main() double r,s,a; coutr; s=2*r*PI; a=r*r*PI; coutij;ij; k=i+j k=i+j; Chapter2Chapter2 注意:注意: _不能重复定义一个变量不能重复定义一个变量 例:例:intint a,b, a,b,c c; ; double x,y, double x,y,c c; ; _没有存放字符串的变量没有存放字符串的变量 char a; char a; a=“d3$*j“; a=“d3$*j“; ( (错错!) !) Chapter2Chapter2 2.4 2.4 运算符与表达式运算符与表达式 2.4.22.4.2、算术运算符算术运算符 2.4.42.4.4、逗号运算符逗号运算符 2.4.12.4.1、表达式表达式 重要重要 2.4.52.4.5、类型转换类型转换 2.4.32.4.3、赋值运算符赋值运算符 Chapter2Chapter2 操作数:操作数: 运算符:运算符: 圆括号:圆括号: 优先级优先级: : 相邻两个运算符之间的运相邻两个运算符之间的运 算顺序算顺序 结合性结合性: : 优先级相同时那个运算符起作用,优先级相同时那个运算符起作用,左、右结合性左、右结合性 常量、变量、函数或其他表达式常量、变量、函数或其他表达式 改变运算符的运算次序改变运算符的运算次序 _组成组成 _值值 _书写书写 没有上、下标、分式;括号只能出现圆括没有上、下标、分式;括号只能出现圆括 号;乘号不能省略号;乘号不能省略 例如:例如:A+32+7.23*6/3-(4+3) / 3A+32+7.23*6/3-(4+3) / 3 说明运算的含义说明运算的含义 表达式表达式 Chapter2Chapter2 vv左结合:左结合: 一个运算符对其操作数一个运算符对其操作数从左到右从左到右进行规进行规 定的运算,称此运算符是定的运算,称此运算符是左左结合的。结合的。 vv右结合:右结合: 与与左左结合相反,即:结合相反,即:从右到左从右到左。 式子式子 运算符运算符 c+c+表达式表达式 结合性结合性 593 * / 5*9/3 593 * / 5*9/3 左左结合结合 -5-5 *6 *6 负号为右结合负号为右结合 X=5 = X=5 = 右结合右结合 结合性举例结合性举例 Chapter2Chapter2 赋值运算符与赋值表达式 逗号运算符与逗号表达式 逻辑运算符与逻辑表达式 算术运算符与算术表达式 C+中常用的运算符及其表达式 有以下几种: 优先级别 低 高 关系运算符与关系表达式 C+中常用的运算符及其表达式 有以下几种: 一、常用运算符与表达式一、常用运算符与表达式 C+C+中常用的运算符和表达式有以下几种:中常用的运算符和表达式有以下几种: Chapter2Chapter2 3 3、求模运算、求模运算% %:要求两个操作数必须均为整型。:要求两个操作数必须均为整型。两个整数相除后两个整数相除后 的的余数,其符号余数,其符号和和被除数的符号被除数的符号相同相同。 -(-(负号负号) ) * / %* / % + -+ - 二、算术运算符和算术表达式二、算术运算符和算术表达式 算术运算符算术运算符 (p23 (p23 表表2-52-5)结合性)结合性 算术表达式中算术表达式中 混有多种数据混有多种数据 时,注意结果时,注意结果 的类型的类型 1 1、整数相除结果为整数;、整数相除结果为整数;分子分子 函数名函数名含含义义义义范例范例结结结结果果 sin(x)sin(x)正弦函数 正弦函数sin(0)sin(0) 0 0 cos(xcos(x) )余弦函数 余弦函数cos(0)cos(0) 1 1 exp(x)exp(x)以 以e e为为为为底的指数函数底的指数函数 exp(3)exp(3)20.08620.086 fabs(xfabs(x) )求 求绝对值绝对值绝对值绝对值fabs(-2.6) fabs(-2.6)2.62.6 pow(x,ypow(x,y) ) x xy y pow(2,3)pow(2,3)8.08.0 sqrt(xsqrt(x) )平方根 平方根sqrt(16)sqrt(16)4.04.0 Chapter2Chapter2 式子式子 c+c+表达式表达式 (a+b)/(c-d)(a+b)/(c-d) a a* *a a* *a a sinxsinxsin(x)sin(x) sqrt(gsqrt(g) ) cosxcosxcos(xcos(x) ) exp(x)exp(x) 算术表达式举例算术表达式举例 #include#include Chapter2Chapter2 注:字符型数据可以进行运算字符型数据可以进行运算 char c1,c2;char c1,c2; intint i; i; c1=A; c1=A; c2=c1+32; c2=c1+32; i=c2;i=c2; 字符的字符的ASCIIASCII码值码值与与整型数据整型数据可以可以通用通用, 可以相互赋值,可以相互赋值,占占1 1个字节个字节。 65 97 97 小写字母小写字母a a的的 ASCIIASCII码的值码的值 Chapter2Chapter2 防止整数溢出错误!防止整数溢出错误! 例:例: short short intint i=1000,j=1000,k; i=1000,j=1000,k; k=i*j; k=i*j; short short intint 类型数的范围是类型数的范围是 32768327673276832767 结果:结果: k=1000*2000=100000032767k=1000*2000=100000032767 产生整数溢出,但产生整数溢出,但C+C+系统系统不报警不报警。 要引起注意:要引起注意:可改变可改变i ,j ,ki ,j ,k为为longlong类型变量来解决。类型变量来解决。 Chapter2Chapter2 三、赋值运算符和赋值表达式三、赋值运算符和赋值表达式 = = _赋值表达式:赋值表达式: = _赋值运算符:赋值运算符: _赋值过程赋值过程 : intint a,b; a,b; a=2.4+3.8; a=2.4+3.8; /类型不同要转换,类型不同要转换,a=6;a=6; b=a+3; b=a+3; /类型相同不需要转换类型相同不需要转换 a=a+b;a=a+b; 先求表达式的值,转换类型,再赋值先求表达式的值,转换类型,再赋值 _优先级仅高于逗号表达式,优先级仅高于逗号表达式,从右向左从右向左 Chapter2Chapter2 int a,b; b=(a=2.4+3.8);b=a=2.4+3.8 _注意赋值表达式的值和类型,当赋值号左右不一致时注意赋值表达式的值和类型,当赋值号左右不一致时 ,要将表达式的值类型转换为变量的类型,要将表达式的值类型转换为变量的类型 右右左左 = = = = = _由于赋值运算符是右结合性的由于赋值运算符是右结合性的,可不加括号可不加括号 _注意注意赋值运算符不是等于号,赋值运算符左边只能赋值运算符不是等于号,赋值运算符左边只能 是变量名,不可以是常量或其他表达式是变量名,不可以是常量或其他表达式 x+y=zx+y=z/error/error 3=a+73=a+7/error/error Chapter2Chapter2 读程序,写结果 #include #include void main() short int i; double d; long l; float f; L=d=i=f=20/3; cout= = ( ) 算术运算符复合算术运算符复合 +=+=,-=-=,* *= =,/=/=,%=%=(p26)p26) 例如:例如: a a +=1+=1 a=a+1a=a+1 a*=6+2a*=6+2 x%=y+3x%=y+3 a=a*(6+2)a=a*(6+2) x=x%(y+3)x=x%(y+3) intint a=12; a=12; a+=a-=a*=aa+=a-=a*=a Chapter2Chapter2 例2.2 输出赋值表达式的运算结果。 #include void main() int a,b,c,d,e=7; a=b=1; c=5; d=a=a+1; d*=a+b; /等价于d=d*(a+b) e%=c-b; /等价于e=e%(c-b) cout void main()void main() intint i=1,j; i=1,j; j=i+; j=i+; coutcout#includeiostream.hiostream.h void main()void main() intint i=1,j; i=1,j; j=+i ; j=+i ; coutcout #include void main() int i=3,j=2; int m,n; m=(i+)*(j+); cout void main()void main() double x=5.6; double x=5.6; intint i; i; i=i=intint (x); (x); coutcout #include void main() double i=3.9,j=2.7; int m; m=i+j; cout void main()void main() intint i=3,j=0,a; i=3,j=0,a; a=(a=(i+ji+j) coutcout void main()void mai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 梵净山旅游管理活动方案
- 汽车之家线下活动方案
- 爱心捐款主题班会课件
- 爱心家园主题班会课件
- 作业成本法下的企业生产成本控制策略探究
- 网点指示牌服务设计方案
- 母亲视角下的家庭情感与社会变迁研究
- 爆破单位安全课件
- 仙居传统调味品抗氧化性能探究
- Q系列钢材高温力学性能对比研究:材料特性与工程应用分析
- 宫外孕右输卵管妊娠腹腔镜下盆腔粘连分解术、右输卵管妊娠开窗取胚术手术记录模板
- 教科版 科学小学二年级下册期末测试卷及参考答案(基础题)
- 美军标电子装备环境试验-mil-std-810g
- 混凝土重力坝设计说明书
- 应用回归分析(第三版)何晓群_刘文卿_课后习题答案_完整版
- 道路及两侧便道保洁方案.docx
- 旅游开发公司组织架构
- 上期开特下期出特公式
- 杭州市普通住宅物业菜单式服务参考收费标准(试行)
- 钢材标准-SAEAMS5662M-2004镍基高温合金[1]._pdf
- 建筑工程内外墙面喷浆、粘钉、挂网施工合同(共2页)
评论
0/150
提交评论