数据类型运算符和表达式.ppt_第1页
数据类型运算符和表达式.ppt_第2页
数据类型运算符和表达式.ppt_第3页
数据类型运算符和表达式.ppt_第4页
数据类型运算符和表达式.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章数据类型、运算符与表达式,内容提要,基本数据类型;常量和变量;常用运算符和表达式;数据类型转换;运算符的优先级与结合性,2.1数据类型(DataType),数据为什么要区分类型?不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类,数据类型(DataType),例2.1:一个简单的C程序例子,#include/*函数功能:计算两个整数相加之和入口参数:整型数据a和b返回值:整型数a和b之和*/intAdd(inta,intb)return(a+b);/*主函数*/main()intx,y,sum=0;printf(Inputtwointegers:);scanf(%d%d,/*输出x和y相加之和*/,并列的两个函数其中一个是程序的入口,程序注释,C程序常见符号分类,关键字(Keyword)又称为保留字,C语言中预先规定的具有固定含义的一些单词数据类型修饰符int,控制语句return等标识符(Identifier)系统预定义标识符,main,printf等用户自定义标识符,Add,x,y等运算符(Operator)+-*/.分隔符(Separator)空格、回车/换行、逗号等其它符号大花括号“”和“”通常用于标识函数体或者一个语句块“/*”和“*/”是程序注释所需的定界符数据(Data)变量(Variable)常量(Constant),标识符命名,变量名函数名由英文字母、数字和下划线组成,大小写敏感不可以是数字开头直观,见名知意,便于记忆和阅读最好使用英文单词或其组合勿使用汉语拼音下划线和大小写通常用来增强可读性variablenamevariable_namevariableName不允许使用关键字作为标识符的名字int,float,for,while,if等,Windows风格,UNIX风格,基本数据类型,int整数,在目前绝大多数机器上占4个字节。TC2中是2个字节VC中是4个字节float单精度浮点数,一般是4个字节长double双精度浮点数,一般是8个字节长char字符,一般是1个字节长用来表示256个ASCII字符,或者0255的整数,数据类型修饰符,shortshortint,短整数,一般2个字节长。通常简写为shortlonglongint,长整数,一般是4个字节长。通常简写为longlongdouble,长双精度(高精度)浮点数,一般是10个字节长。signed用来修饰char、int、short和long,说明他们是有符号的整数(正整数、0和负整数)。一般缺省都是有符号的,所以这个修饰符通常省略unsigned用来修饰char、int、short和long,说明他们是无符号的整数(正整数和0),常数(Constant),整型常数18、-31longint型常量123l、123L、123456l、123456Lunsignedint型常量123u、123U浮点常数十进制小数形式123.45、456.78指数形式1e-2、4.5e3float型常量123.45f、456.78F、1e-2f、4.5e3Flongdouble型常量123.45l、456.78L、4.5e3L缺省为double因为字母l和数字1容易混淆,所以当用l做后缀时,常使用大写形式,2.2常量和变量,八进制与十六进制常数,以数字“0”开始的整型常数是八进制数022、-037010和10大小不一样因为八进制并不常用,所以此种表示法比较少见以“0 x”或者“0X”开始的整型常数是十六进制AF和af用来表示十进制的1015十六进制的形式比较常用0 x12、-0 x1F,-0 x1f,字符(Character)常数,字符常数的表示方法a,A,5,%,$单引号内只能有一个字符,除非用“”开头就是一个普通整数,也可以参与各种数学运算每个字符具有一个0255之间的数值,可从ASCII表查出注意:5和整数5的区别用“”开头的字符为转义字符例如,“n”,代表1个字符字符实例,字符常数,转义字符一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示,字符串(String)常数,用双引号括住的由0个或多个字符组成的字符序列Iamastring表示空字符串转义字符也可以在字符串中使用引号只作为字符串开始和结束的标志C语言内部用0表示字符串的结束除注释外,是唯一可以出现中文的地方x和x是不同的里定义了一系列专门的字符串处理函数,为什么需要常量?,假如不使用常量,直接使用常数,会有什么影响?程序的可读性变差容易发生书写错误修改麻烦常量只能在定义时赋值,然后不能再改变其值宏常量const常量枚举常量,为什么需要常量?,要避免使用幻数直接使用的常数叫幻数。现象与危害:当常数需要改变时,要修改所有使用它的代码,工作量巨大,还可能有遗漏。解决方案:把幻数定义为宏、const常量,或者枚举常量。建议使用后两者。,#defineARRAY_SIZE10constintARRAY_SIZE=10;enumARRAY_SIZE=10;,变量声明,使用变量的基本原则变量必须先定义,后使用所有变量必须在第一条可执行语句前定义声明的顺序无关紧要一条声明语句可声明若干个同类型的变量声明变量,是初始化变量的最好时机不被初始化的变量,其值为危险的随机数charesc=a;inti=1;intsum=0;floateps=1.0e-5;,算术运算符,+,-,*,/加、减、乘、除运算四则混合运算中,先算乘除,后算加减,按从左向右的顺序计算,左结合%求余运算,常用的标准数学函数,2.3运算符及表达式,关系运算符,,=,floatlongintshortchar,double,float,long,unsigned,int,char,short,精度低,精度高,2.4数据类型转换,自动类型转换,在进行赋值操作时,会发生类型转换将取值范围小的类型转为取值范围大的类型是安全的反之是不安全的如果大类型的值在小类型能容纳的范围之内,则平安无事但是,浮点数转为整数,会丢失小数部分,非四舍五入反之,转换后的结果必然是错误的,具体结果与机器和实现方式有关。避免如此使用,好的编译器会发出警告类型转换实例,类型强转(Casting),消除从大到小的警告l=(long)i;可以通过“(类型)表达式”的方式把表达式的值转为任意类型强转时,你必须知道你在做什么强转与指针,并称C语言两大神器,用好了可以呼风唤雨,用坏了就损兵折将,屠龙刀,倚天剑,例2.7,#includemain()intm=5;printf(m/2=%dn,m/2);printf(float)(m/2)=%fn,(float)(m/2);printf(float)m/2=%fn,(float)m/2);printf(m=%dn,m);,m/2=2(float)(m/2)=2.000000(float)m/2=2.500000m=5,两个整数运算的结果还是整数,不是浮点数,优先级,()-.!+-+-*&(类型)sizeof*/%+-=!=&|&|?:=+=-=*=/=%=&=|=,优先级,能背下优先级表的人凤毛麟角用括号来控制运算顺序更直观、方便,并减少出错的概率,结合性,多数运算符为左结合少数为右结合:一元运算符赋值运算符条件运算符,这一章我们学到了,变量的命名规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论