c第2章基本数据类型及表达式.ppt_第1页
c第2章基本数据类型及表达式.ppt_第2页
c第2章基本数据类型及表达式.ppt_第3页
c第2章基本数据类型及表达式.ppt_第4页
c第2章基本数据类型及表达式.ppt_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论