大学计算机基础课件第二章.ppt

上传人:tia****nde 文档编号:12781118 上传时间:2020-05-24 格式:PPT 页数:34 大小:1,012.31KB
返回 下载 相关 举报
大学计算机基础课件第二章.ppt_第1页
第1页 / 共34页
大学计算机基础课件第二章.ppt_第2页
第2页 / 共34页
大学计算机基础课件第二章.ppt_第3页
第3页 / 共34页
点击查看更多>>
资源描述
1,第二章基本数据类型、运算符和表达式,2.1数据类型2.2变量和常量2.3运算符和表达式2.4指针2.5typedef语句2.6应用举例,2,2.1数据类型,程序中要对各种各样的数据进行描述和操作,用到的数据都必须指明其类型。数据类型的作用:指出了应为数据分配的存储空间的大小规定了数据所能进行的操作,数据类型,基本类型,构造类型,整型(int),实型,字符型(char)布尔型(bool)空类型(void),单精度型(float)双精度型(double),指针数组结构型(struct)共用体(union)枚举(enum)类(class),3,2.2变量和常量,1.变量的定义程序运行过程中其值可变的量,定义方式如下:C/C+规定:程序中所有变量必须先定义后使用,可及时发现录入错误(如,定义的变量为data,而程序体中使用变量为date),同时还可限制非法运算(如:a%b,若a,b为float类型则出错)。,C+中变量可随时使用,随时定义。,例如:inta,b;(定义变量a和b为整型)floatx,y;(定义变量x和y为单精度实型),数据类型变量名表;,2.2.1变量,4,2.变量的初始化变量必须先有确定的值后才能参与各种相应的操作,变量获取值的途径有三:通过输入语句输入(如:cina;)通过赋值语句赋值(如:a=3;)通过初始化方式赋初值(如:intk=3;)所谓初始化是指在定义变量的同时指定变量的初值,形式有二:例如:intk=3,m=3,n(3);()intk=m=n=3;/不允许为多个变量同时初始化,数据类型变量名=表达式;数据类型变量名(表达式);,5,3.变量引用,C+中增加了“引用”这一概念,许多地方可以代替指针实现相应的功能,比指针更安全。所谓引用即给一个已知变量起个别名,系统不为引用另外开辟内存,而是与原变量共享同一段内存,引用好比是一个虚拟的变量,声明形式为:,数据类型printf(%d,a);,9,4.字符串常量字符串常量是用双引号括起来的字符序列,系统在字符串常量最后自动加字符串结束符号0。例如:字符串“A”的存储形式:字符A的存储形式:5.符号常量是以标识符形式出现的常量,作用是便于程序阅读和修改。C+中用define命令或关键字const定义符号常量,形式如下:,A0,A,内存中实际存放的是这些字符的ASCII码,#define标识符常量值const数据类型标识符=常量值,或:,10,注意:,习惯上符号常量名大写,而变量名小写,以示区分。符号常量虽然用标识符来标识,但本质上是常量,具有常量值不能改变的性质。,#definePI3.14/constdoublePI=3.14#includeiostream.hvoidmain()floatr=3.0,s,l;l=2*PI*r;s=PI*r*r;coutl=l,s=s=)(=、!=)关系运算描述的是一种“判断关系”,其结果有“真(true)”和“假(false)”两种。用“1”代表“真”,用“0”代表“假”例如:53的结果为1,aB的结果为0思考:x为0到100之间的数能否表示为00)个人进行分班,每班k(0)个人,最后不足k人也编一班,问要编几个班?(试用条件运算符表达),n%k0?n/k+1:n/k,5.赋值运算格式:作用:将一个数据赋给一个变量,并以变量的值作为整个式子的值。,变量赋值运算符表达式,19,其中赋值运算符可以是“=”,也可以是复合赋值运算符,如“+=”、“-=”、“*=”、“/=”和“%=”等等。复合赋值运算符的等价形式:(以“+=”为例)例如:b/=a+2等价于:b=b/(a+2)结合性自右向左若两端类型不同,则系统自动将右端类型转换为左端类型。例如:有定义inta=3.78;则a中存放的值为3左端只能是变量(或数组元素),不能为表达式或常量,如:a+2*=b()a=b+2=c+5(),变量+=表达式,变量=变量表达式,是一个整体,20,6.逗号运算形式:e1,e2,e3,其中e1、e2、e3均为表达式,从左向右依次计算各个表达式的值,而将最后一个表达式的值作为整个表达式的值,逗号运算符常用于循环语句的表达式中,将多个表达式连接成一个表达式,如:for(i=0,j=n;ij;i+,j-)逗号运算符的优先级别最低。,21,7.数据类型的转换数据类型的转换分为显式(强制)转换和隐式(自动)转换。强制转换格式:或:将一种数据类型的值强制转换为另外一种数据类型。常用于对函数的参数及返回值的操作。假设、为float型数据,则(int)(x+y)强行将+的值转换成整型,x和y仍为float型。自动转换:在不同类型数据进行混合运算时,系统自动进行的类型转换。,(类型名)表达式,类型名(表达式),22,charshortintunsignedlongunsignedlongfloatdoublelongdouble,必定的转换,混合运算时由低向高转换,自动转换还包括赋值运算时赋值号右端类型向左端类型的转换,8.内部函数C/C+中提供了多种内部函数供用户编程序时直接调用,只需把包含内部函数的头文件,通过#include预处理命令装入到程序中。例如,程序中要使用平方根函数sqrt,应该在程序加入:#includemath.h“,23,2.4指针,1.基本概念每个变量在内存中存放都对应一段地址,第一个字节的地址就是变量的地址,将存放地址的变量称为指针变量。,指针所指对象的类型。初始化在定义的同时赋初值,称为指针变量的初始化。例如:floatd=1.5,*p=/注意不能写做*p=p=NULL;指针的值为NULL(0)表示不指向任何对象。p=,3.运算赋值运算,27,算术运算p+n(或p-n):p+n:指向后面的第个元素。p-n:指向前面的第个元素。p+n的值为:p的值n*sizeof(p指向的类型),如,有定义:inta,*p=假设a的地址为1000,则:p的值为1000p+3的值为:1000+3*sizeof(int)=1000+3*4=1012,28,自增(+)和自减(-)p+、+p、p-、-p自增或自减后p指向前一个或后一个元素指针相减两个类型相同的指针可以相减,结果为这两个地址差之间能够存放的数据个数(数据类型为指针所指的类型)。如,有定义:int*p1,*p2;假设p1指向1000,p2指向1008,则p2p1的值为:(1008-1000)/sizeof(int)=2,*p+*(p+)*pp+(*p)+*p(*p)+,29,4.new和deletenew运算符形式:,指针=new数据类型;指针=new数据类型(初值);,或,30,delete运算符用于释放用new申请的动态存储空间,形式为:,delete指针;delete指针;,或,无需指明数组长度,只能释放由new申请的动态变量,例:,inta=3,*p=,31,2.5typedef语句,形式:,typedef数据类型新的数据类型名;,该语句作用是为已有的数据类型定义新的名称,使其更符合Windows系统中的相关对象的含义,可以像标准C+中的数据类型一样使用这些新定义的类型。如:typedefcharCHAR;CHARc1;/等价于charc1;,32,2.6应用举例例2-3用代码表达下列命题:1.能且只能被和中的一个数整除。解:或2.ch是大写字母。解:思考上述命题可否描述为Ach=Ab=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%10;c1=x/10;cout数符百位数十位数个位数endl;coutsetw(2)c4setw(8)c1setw(8)c2setw(8)c3endl;,例2-5编程输入一个三位整数,依次输出该数的正(负)号和百位、十位、个位数字。,程序,分离出符号位后分解各数位,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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