第2章_ppt.txt

大学VISUAL C++程序设计-王永国-课件PPT

收藏

资源目录
跳过导航链接。
压缩包内文档预览:
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21836328    类型:共享资源    大小:4.17MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学VISUAL C++程序设计-王永国-课件PPT 大学 visual C++ 程序设计 王永国 课件 ppt
资源描述:
大学VISUAL C++程序设计-王永国-课件PPT,大学VISUAL,C++程序设计-王永国-课件PPT,大学,visual,C++,程序设计,王永国,课件,ppt
内容简介:
第2章 数据类型、运算符和表达式2.1 数据类型2.2 常量、变量和函数2.3 运算符和表达式2.4 数据类型转换2.5 应用举例程序中要对各种各样的数据进行描述和操作,用到的数据都必须指明其类型。数据类型的作用:指出了应为数据分配的存储空间的大小规定了数据所能进行的操作数据类型基本类型 构造类型 整型 (int)实型 字符型(char)布尔型(bool)空类型(void)指针单精度型(float)双精度型(double) 数组结构型(struct)共用体(union)枚举(enum)类(class)2.1 数据类型 不同类型的数据占用的内存字节数、表示的数据范围都是不同的。表2-1中列出了Visual C+中支持的基本数据类型以及占用的字节数和和范围。表2-1 基本数据类型及其占用的字节数和和范围 2.2 常量、变量和函数2.2.1 常量在程序运行过程中其值不能改变的量,有值常量和符号常量两种。 1. 逻辑常量 逻辑常量只有两个取值:true和false,主要用在逻辑运算中。例如,对于两个整数a和b: bool x=(a=b); 如果a和b 相等,则x的值为true,否则为false。此外,由于逻辑值对应着整数1和0,因此它也能像其它整数一样出现在表达式中,参与各种整数运算,这一点与其它语言有所区别。2.整型常量 整型常量就是整型常数,简称整数,它有十进制、八进制和十六进制三种形式。 (1)十进制整型常量 形式:n n为09数字。十进制整数不能以0开始,以0开始的为八进制整数。例如0、+16、124、-127等。 (2)八进制整型常量 形式:0n n为07数字。例如0、016、0124等。(3)十六进制整型常量 形式:0xn 以0x(或0X)开头, n 为 09 数字和字母AF或af组成。例如0x0、0x55、0x1cd等。 此外,C+中整型数据还允许给它们添加后缀u或l(大小写均可),来表示无符号整数或长整数。3. 实型常量 (1)单精度实型常量 形式:n.nf n为由09数字组成的若干位整数。如果不加字母f默认为双精度实型常量。例如1.36、-17.、.1和41.9等。(2)双精度实型常量 形式:n.nEn 其中:n为09数字,符号E(或e)表示指数部分,+号可省。例如:1.37、34.0、 1.25e-5、-1.25e23 等均为合法双精度实型常量。注意:e前面不能没有数字,e后面的数字必须为整数,也不能加园括号。如1E(-3)、E-5、1e2.1都是错误的。4. 枚举常量 枚举常量是枚举类型中定义的值,即枚举值。这种类型的变量值只能是给定的若干个名字之一。是一种有限状态的集合,以整型值代表。如:颜色,星期等。枚举类型属于构造类型,用关键字enum表示。用户通常利用枚举类型定义程序中需要使用一组相关符号常量。声明形式:enum ; 例如:enum daysun,mon,tue,wed,thu,fri,sat ;说明:(1)enum是关键字,标志枚举类型; (2)在定义枚举类型时,花括号中的一些名字如sun、mon是程序设计者指定的,与标识符的命名规则相同,但名字不是变量,不能改变其值;(如sun=1;非法)枚举变量的说明和引用:enum day day1,day2 ; 或 enum daysun,mon,tue,wed,thu,fri,sat day1, day2;1)枚举变量只能取该类型中的一个元素。例如:day1=sat ;2)枚举元素如果不赋值,自动取0n-1整数值;3)在定义时,可以对某个枚举元素赋值,其后的元素按此值自动加一递增。如enum colorred=3,yellow,blue,green=8,black;则yellow为44)一个整数不能直接赋给一个枚举变量,应进行强制类型转换;如day2=2;是错误的;5)枚举常量可以进行比较;6)枚举常量不是字符串。 注意:5. 字符常量 C+提供了两类字符型常量:普通字符常量:用单引号括起来的一个字符。如:A、0、?。转义字符常量:以 (反斜杠)开头的用单引号括起来的字符序列。如:n 、t 、x61等。常用的转义字符见教材P26。注意: 0表示ASCII码为0的字符,它是一个空字符,注意其与0的区别,后者表示的是ASCII码为48的数字字符。字符型数据在内存中以ASCII码存储,故整型数据和字符型数据在一定范围内可以通用。如: x= a +2; 6. 字符串常量 字符串常量是用双引号括起来的字符序列, 系统在字符串常量最后自动加字符串结束符号0 。 例如: 字符串A的存储形式: A内存中实际存放的是这些字符的ASCII码 #define 标识符 常量值 const 数据类型 标识符 = 常量值;或7. 符号常量 是以标识符形式出现的常量,作用是便于程序阅读和修改。C+中用define命令或关键字const定义符号常量,形式如下:字符A的存储形式:注意:习惯上符号常量名大写,而变量名小写,以示区分。符号常量虽然用标识符来标识,但本质上是常量,具有常量值不能改变的性质。#include iostream.h#define PI 3.14void main( )float r=3.0,s,l; l=2*PI*r; s=PI*r*r; coutl=l,s= sa;)通过赋值语句赋值 (如:a=3;)通过初始化方式赋初值 (如:int k=3;)所谓初始化是指在定义变量的同时指定变量的初值,形式有二:3.变量引用 C+中增加了“引用”这一概念,许多地方可以代替指针实现相应的功能,比指针更安全。 所谓引用即给一个已知变量起个别名,系统不为引用另外开辟内存,而是与原变量共享同一段内存,引用好比是一个虚拟的变量,声明形式为:数据类型 &引用名=已定义的变量如:int a=3, &b=a; /定义b为a的引用b=5; /你知道此时a的值为多少吗? 说明: (1)引用运算符与地址操作符使用了相同的符号,但含义不一样; (2)引用被创建时,必须立即初始化,且一旦一个引用被初始化为一个对象的引用,就不能再被改变为另一个对象的引用,另外也不能有NULL引用,所以这点和以后学的指针不一样。4typedef语句 为了增加程序的可读性和可移植性,C+提供了typedef 语句,用于为已有的数据类型定义一个新的名称。 形式:typedef 数据类型 新的数据类型名; 例如: typedef float FLOAT; / FLOAT可当作float用 FLOAT k, j; /用FLOAT定义k和j为float类型注意:typedef语句并没有真正地定义新的数据类型,它只是相当于给某个已有的数据起了一个别名。2.2.3 标准函数 函数是一个可以独立完成某个功能的语句块。在C+中函数分为标准函数和用户自定义的函数。表2-3中列出了常用的数学函数。 所有的标准函数都被放在不同的函数库中,并有一个与之对应的头文件。在使用标准函数时,应把包含标准函数的头文件,通过 #include 预处理命令装入到程序中,例如,要使用上述数学函数,应该在程序加入: #include math.h 或#include cmath using namespace std; 又如: #include stdlib.h 中含有的随机函数rand是用于产生032767之间的一个整数,如需产生a,b之间的整数,只需用:rand()%(b-a+1)+a即可。2.3 运算符和表达式2.3.1 基本概念运算符具有三个属性: 优先级:指运算的先后次序,共分15个级别。(见书表2-4) 结合性:指相同优先级运算符连续出现时的计算顺序,分自左 向右和自右向左两种,除特别声明外,皆指自左向右。 目 数: 指运算符要求的操作数的个数,包括单目、双目和三目,一般目数越少,优先级越高。表达式:由常量、变量、函数调用和运算符按一定规律组合在一 起构成的式子。如:a+14/(3+2)-sqrt(17) (-b+sqrt(b*b-4*a*c)/(2*a) 符号: +(加法或取正) -(减法或取负) *(乘法) / (除法) %(求余数) +(自增) -(自减) 其中:+和-的结合性则是自右向左 优先级:(从高到低)(+、-、+、-) (*、/、%) (+、-)2.3.2 运算符 1.算术运算正、负加、减说明:在除法运算中,当两个操作数都是整数时,商也为整数,小数部分一律舍去。如: 1/2 0 1.0 /2 0.5 若 i 的值为3,则: j=+i; j的值为4, i的值为4 j=i+; j的值为3, i的值为4注意:增、自减运算符只能用于变量,而不能用于常量和表达式。 () 5+、(a+b)+%(求余运算)要求两个操作数都是整型,结果为整除后余下的整余数,符号与被除数相同。自增、自减运算符(+、- -) +i , -i (在使用 i之前,先使i的值加减1) i+ , i- (在使用 i之后, 使i的值加减1)2 .关系运算符号:(小于)、(大于) = =(等于)、 =(大于等于)、 !=(不等于)优先级: (从高到低)( 、 、 = ) ( = = 、 != )关系运算描述的是一种“判断关系”,在C+中为了提高程序的可读性,引入了bool类型,其结果有true和false两种。为了保持与C的兼容可以用“1”代表“真”,用 “0” 代表“假” 例如:53的结果为true , aB的结果为false思考:x为0到100之间的数能否表示为 0=x=100?3.逻辑运算种类:&(逻辑与)、|(逻辑或)、!(逻辑非)优先级: (从高到低)! & | 其中,“!” 是单目运算符,优先级高于算术运算符。“” 和 “|” 低于关系运算符。 逻辑运算通常用来连接关系运算,逻辑运算符两端的操作数如为“非”,就当作“真”来处理,如果是“”,便当作“假”来处理。逻辑运算的结果也只有false (0)和true (1)两种。说明:当多个&连续出现时,如:表达式& 表达式&表达式。从左到右,只要一个操作数为0,结果就为0,不进行后续运算。当多个 | 连续出现时,如:表达式|表达式|表达式。从左到右,只要一个操作数为1,结果就为1,不进行后续运算。#include iostream.hvoid main()int m,n=10; m=2&n+; coutm= m ,n= y?x:y); /将和中较大的一个数赋值给变量max条件运算符的结合性是由右向左思考题:试用条件运算符表达:对n(0)个人进行分班,每班k(0)个人,最后不足k人也编一班,问要编几个班?n%k0?n/k+1:n/k5. 逗号运算形式:e1,e2,e3, 其中e1、e2、e3均为表达式,从左向右依次计算各个表达式的值,而将最后一个表达式的值作为整个表达式的值,逗号运算符常用于循环语句的表达式中,将多个表达式连接成一个表达式,如:for(i=0,j=n;ij;i+,j-)逗号运算符的优先级别最低。6. 位运算 位运算符是以单独的二进制位为操作对象的运算。也就是说,其操作数是二进制数。这是与其他运算的主要不同。 C+语言中提供的位运算符有:按位与(&)、按位或(|)、按位异或()、按位取反()、左移()6种。此运算规则见表2-7。7. 赋值运算格式:变量 赋值运算符 表达式作用:将一个表达式的值赋给一个变量,并以变量的值作为整个式子的值。/Ex2_1.cpp#include void main()int a=15,x,y,z; x=a; /负数在计算机中以补码形式存储 y=a2; coutx y z关系运算符逻辑运算符条件运算符赋值运算符逗号运算符 (5)在能确定表达式值的情况下停止后面的运算3. 表达式书写原则 (1)乘号不能省略。 (2)括号必须成对出现,可以出现多个,但均使用圆括号。 (3)表达式从左到右要在同一基准上书写,无高低之分。4. 表达式书写示例 表示3x20的关系式 字符变量c是字母 【例2.2】 编程序求任意三个数中最大的一个数/Ex2_2.cpp#includeiostream using namespace std;void main() float x,y,z,max; cout输入三个数据:xyz; max=xy?x:y; max=maxz?max:z; cout最大的数据=max=A&ch =Z2.5 应用举例2. ch是大写字母。解:思考:上述命题可否描述为AchZ?为什么?或#includeiostream.h#includeiomanip.h#includemath.hvoid main()float a,b,c;double l,s;coutca;b=sqrt(c*c-a*a);/sqrt为内部函数,对其的说明包含在头文件math.h中l=a+b+c;s=a*b/2;cout计算结果:endl;coutsetw(8)另一直角边=bendlsetw(11)周长=lendlsetw(11)面积=sx;c4=x=0?+:-; /x的符号存入c4x=abs(x); /求整型数x的绝对值c3=x%10; /x%10为个位数字x=x/10;c2=x
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学VISUAL C++程序设计-王永国-课件PPT
链接地址:https://www.renrendoc.com/p-21836328.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!