b基本数据运算与输入输出

上传人:san****019 文档编号:71499481 上传时间:2019-01-20 格式:PPT 页数:40 大小:1.05MB
返回 下载 相关 举报
b基本数据运算与输入输出_第1页
第1页 / 共40页
b基本数据运算与输入输出_第2页
第2页 / 共40页
b基本数据运算与输入输出_第3页
第3页 / 共40页
b基本数据运算与输入输出_第4页
第4页 / 共40页
b基本数据运算与输入输出_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《b基本数据运算与输入输出》由会员分享,可在线阅读,更多相关《b基本数据运算与输入输出(40页珍藏版)》请在金锄头文库上搜索。

1、第2章 基本数据运算和输入输出(B),课件制作,2,主要内容,语句和表达式 赋值语句与赋值表达式(2.7) 算术运算(2.9) 字符数据及其运算(2.11) 常用数学函数(5.14) 逗号表达式 sizeof 运算 位运算(附录D) 小结与作业,课件制作,3,2.7 语句与表达式,C+中的语句 语句是程序组成的基本单位,必须是以“;“结束 执行语句是为了完成某个操作或修改某个数据 C+语言的语句类型 变量声明语句,如:int x, y; 执行语句 表达式语句: x=0;x = x + 1; 流程控制:if-else; do-while; for; switch; continue; break

2、; 函数和流对象调用语句 空语句: 只有一个分号的语句,其形式为:; 什么也不做,只表示语句的存在 自顶向下程序设计时用在那些未完成的模块中 复合语句:用一对 括起来的一条或多条语句,if (x9) ; /空语句 else coutxendl;,void DataInitialze() ; /空语句 ,/复合语句 t = x; x = y; y = t; ,课件制作,4,2.7 语句与表达式,表达式 由操作符、操作数和标点符号组成的序列,用来说明一个计算过程,如 z = x+y 操作数也称为运算量或数据,可以是常量、变量或函数;只有数据的式子是最简单的表达式。 操作符描述的是对数据进行的操作,

3、C+语言的操作符有40多种;根据操作符需要的操作数个数不同,将操作符分为 3 类:单目运算符、双目运算符和三目运算符; 表达式可以嵌套,如 2+3+5*sizeof(int)/345 表达式根据某些约定、求值次序、结合性和优先级规则来进行计算 约定:类型转换的约定,由低高 求值次序:与编译器有关,课件制作,5,2.8 赋值语句,操作符:= 作用是将一个数据赋给一个变量,如 int a=3; 将一个表达式的值赋给一个变量,如 int a=3;int b=a+3; 赋值表达式 由赋值运算符将一个变量和一个表达式连接起来的式子 语法形式: 赋值表达式求解过程:将赋值运算符右侧“表达式”的值赋给左侧的

4、变量。表达式的值就是被赋值的变量的值。 上述一般形式中的“表达式”还可以是一个赋值表达式: a=(b=5) C+语言允许连续赋值,如 int a,b; a=b=3;,int a=3; int b=a+3;,课件制作,6,2.8 赋值语句,变量赋初值 程序中常需要对一些变量预先设置初值 C+语言允许在定义变量的同时使变量初始化 int a=3; /*指定a为整型变量,初值为3*/ float f=3.56f; /*指定f为实型变量,初值为3.56*/ char c=a; /*指定c为字符变量,初值为a*/ 也可以使被定义的变量的一部分赋初值 int a,b,c=5; /*指定a,b,c为整型变量

5、,只对c初始化*/ 如果对几个变量赋予初值3,应写为: int a=3, b=3, c=3; 不能写成:int a=b=c=3; 但可以写成:int a, b, c; a=b=c=3;,注意:int a=3; 相当于:int a; /*指定a为整型变量*/ a=3; /*赋值语句,将3赋给a*/ int a,b,c=5; 相当于: int a,b,c; /*指定a,b,c为整型变量*/ c=5; /*赋值语句,将5赋给c*/,课件制作,7,2.9 算术运算与赋值,中学阶段已学过的算术运算 基本运算:、, , , 取余 其它运算:取整、求整(四舍伍入),() C+中的基本算术运算 +、*(乘)、

6、/(除)、%(求余) 双目或双元运算符 +、-、*、/ 的运算量可以是整型、实型甚至为字符型,如:4 + 8、8/5、5.5*4 、 A 1 / 对于整型数为除法取整操作,如 5/2 结果为2; 对于浮点数则为通常意义上的除法,如6.2/2为3.1 % 要求两个运算量必须是整型数,否则会引起编译错误, 如:5%2 、 5.6%2,课件制作,8,2.9 算术运算与赋值,C+中的基本算术运算 双目运算符在运算时运算结果的类型取决于参与运算的两个运算量的数据类型 类型一致时,结果为参与运算的两个运算量的数据类型; 当两个运算量的类型不一致时,系统会自动进行类型转换,转换成相同的类型之后再进行运算,称

7、为 隐式类型转换; 隐式类型转换规则:转换总是朝表达能力更强的方向并且转换总是逐个运算符进行;,float f=3.5f; int n=6; long k=21; double ss = f*n + k/2;,课件制作,9,2.9 算术运算与赋值,C+中的基本算术运算 强制类型转换,又称显示转换 在一个数值或变量前加上带括号的类型名,或类型名后跟带括号的数值或表达式 如:cout(long)234.35*456/6endl; coutlong(234.35)*456/6endl; 若类型名带类型修饰符,则只能给类型名加括号 cout(unsigned long)234.35*456/6endl

8、; 溢出 一个变量被赋予一个超出其数据类型表示范围的数值时发生溢出 short weight = 32764+4; / VC结果 -32768 数值溢出不会引起编译错误(有可能引起警告),但运行结果发生偏差,int a = 7 ; float x = 2.5f, y = 4.7f, z; 求表达式 z = x + a%3*( int ) ( x + y )%2/4 的值,课件制作,10,2.9 算术运算与赋值,C+中的基本算术运算 复合的赋值运算符:将算术运算符与赋值运算符结合起来:+=、-=、*=、/=、%= 注意:两个符号之间不可以有空格 优先级与“=” 同级、右结合性。,例:c=b*=a

9、+2;,课件制作,11,2.9 算术运算与赋值,C+中的基本算术运算 自加、自减运算符(+、-) 自加运算符 + 的推出 自减运算符- 的推出 自加、自减运算符均为单目运算,并且要求运算量只能是变量 在表达式中,一般不考虑+、- 的优先级,而是去找它的运算量,从而确定它是以前缀形式还是以后缀形式出现,例:int i=0 ; i=i+1 ;,i=i - 1 ;,课件制作,12,2.9 算术运算与赋值,C+中的基本算术运算 自加、自减运算符(+、-) 如果以后缀形式出现,则先参与其它运算再使变量的值增1(或减1) 如果以前缀形式出现,则先使变量的值增1(或减1)后再参与其它运算;,例:int i

10、= 5 , x , y ; x = i+ ; y = i ; cout“i:“i“ x:“x “ y:“yendl;,例:int i = 5 , x , y ; x = +i ; y = i ; cout“i:“i“ x:“x “ y:“yendl;,课件制作,13,2.9 算术运算与赋值,C+中的基本算术运算 自加、自减运算符(+、-) 当表达式中只有一个+、或-运算时,前缀和后缀形式一样,如 i+; +i; 副作用问题,x=i+y ; x=i+(+y) ; x=i+y ;,int x=1,y=2,i=3; x=i+y ; cout“x=“x“,y=“y“,i=“iendl; x=1,y=2

11、,i=3; x=i+(+y) ; cout“x=“x“,y=“y“,i=“iendl;,课件制作,14,2.9 算术运算与赋值,C+中的基本算术运算 负号运算符( - ):单元、单目、一元,例1: int a=5,b=8; a = - a * - b + 1 ;,例2: int x =1, y = 3 ; x = - y + 2;,课件制作,15,2.9 算术运算与赋值,将华氏温度值转换为摄氏温度值,转换公式为,#include using namespace std; int main() / Enter a degree in Fahrenheit double fahrenheit; c

12、out fahrenheit; / Obtain a celsius degree double celsius = (5.0 / 9) * (fahrenheit - 32); / Display result cout “Fahrenheit “ fahrenheit “ is “ celsius “ in Celsius“ endl; return 0; ,double celsius = (5 / 9) * (fahrenheit - 32);,课件制作,16,2.9 算术运算与赋值,常用数学函数 在程序中经常使用下列数学函数 fabs(x):求一个实数x的绝对值,如fabs(-4.5

13、)的值为4.5 abs(x ):求一个整数x的绝对值,如abs(6)的值为6 sin(x):求三角的正弦值,参数x为弧度,如sin(30/180*3.14)的值为0.49977 sqrt(x):求一个数x的算术平方根,如sqrt(9)的值为3.0 pow(x,y ):求一个数x的y次方,如pow(10,2)的值为100.0 以上函数为系统内置函数,在头文件 cmath 中定义,使用前必须使用#include 或 #include ,举例:用C+语言的表达式表示下列数学式子,1. 3x2+4xy+y2+5,课件制作,17,2.9 算术运算与赋值,常用数学函数,参见教材P124,课件制作,18,2

14、.10 字符数据类型及其运算,C+中字符数据类型(char)用于表示单个字符 一个字符文字常量要用单引号包起来 字符在计算机内部的存储 一个字符被保存为一个0和1的序列 将一个字符转换为其二进制形式成为编码 字符编码的方法称为编码方案。字符编码的方法可有多种,常用的是ASCII编码方案,参见教材附录B 一般情况下,char类型占用空间的大小是1字节,char letter=A; char numChar = 4;,课件制作,19,2.10 字符数据类型及其运算,C+中某些特殊字符的表示:转义序列 一个转义序列是以一个反斜线字符()开始后接一个字符 对编译器而言,转义序列具有特殊含义 常用转义符

15、序列,参见教材P37:表2-5,cout“He said “C+ is powerful!“ “endl; cout“He said “C+ is powerful! “n“;,能否编译通过?执行结果?,课件制作,20,2.10 字符数据类型及其运算,C+中字符串常量的表示 一个字符串常量必须包含在双引号内,如 “C+ is powerful!“ 注意 “A“ 与A 的区别;4 与 4 的区别 char 型数据的常用运算 递增递减运算:得到前一个或下一个字符 赋值运算:从键盘读字符,char ch = C; cout+ch; / 显示字符 D,coutch;,课件制作,21,2.10 字符数据

16、类型及其运算,char 型与数值型之间的转换 一个char 类型值可以转换为数值类型,反之依然 char 类型转换数值型:将字符的ASCII编码转换为指定的数值类型 整数到 char 型的转换:整数在内存中二进制表示的低 8 位转换为对应整数,其余部分忽略 浮点数转换为 char 型:floatintchar,int i = A; couti; / i is 65,char ch = 0XFF41; /低 8 位的 16 进制数 41 赋值给 ch coutch; / ch 是字符 A,char ch = 62.25; coutch; / ch 是字符 A,课件制作,22,2.11 位运算,位运算符: 、 、& 、 、| (优先级由高到低) 位运算量只能是整型或字符型的数据,& 按位与运算 按位异或运算 | 按位或运算, 按位求

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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