《第02章数据类型、运算符和表达式.ppt》由会员分享,可在线阅读,更多相关《第02章数据类型、运算符和表达式.ppt(59页珍藏版)》请在优知文库上搜索。
1、目目 录录F第第1章章 C+概述概述F第第2章章 数据类型、运算符和表达式数据类型、运算符和表达式F第第3章章 简单的输入简单的输入/输出输出F第第4章章 C+的流程控制的流程控制F第第5章章 函数函数F第第6章章 编译预处理编译预处理F第第7章章 数组数组F第第8章章 结构体、共同体和枚举类型结构体、共同体和枚举类型F第第9章章 指针和引用指针和引用F第第10章章 类和对象类和对象F第第11章章 类和对象的其他特性类和对象的其他特性F第第12章章 继承和派生继承和派生F第第13章章 多态性多态性F第第14章章 输入输入/输出流输出流F第第15章章 模板模板v第一部分第一部分 面向过程的程序设
2、计面向过程的程序设计v第二部分第二部分 面向对象的程序设计面向对象的程序设计第第2章章 数据类型、运算符与表达式数据类型、运算符与表达式简单地说:程序简单地说:程序=数据结构数据结构+算法算法C+程序的构成:程序的构成:(1)数据描述)数据描述(2)执行步骤()执行步骤(算法)算法)例例1.1一个简单的一个简单的C+程序程序#include void main(void)int num,square;cout num;square=num*num;cout num的的平方平方为为:square n;下面学习:程序的各种语法元素下面学习:程序的各种语法元素2.1 保留字和标识符保留字和标识符2.
3、1.1 保留字(保留字(Reserved Word or Keyword)C+语言自身使用的,已有特殊含义和用途的英文语言自身使用的,已有特殊含义和用途的英文单词称为单词称为保留字保留字或或关键字关键字。如例如例1.1中的类型说明符中的类型说明符 int,用于定义整型变量。用于定义整型变量。用户不能将其作为自己的变量名或函数名使用。用户不能将其作为自己的变量名或函数名使用。2.1.2 标识符标识符标识符标识符(identifier):有效字符序列,有效字符序列,用来标识用户自己定义的用来标识用户自己定义的 变量名、符号常量名、变量名、符号常量名、函数名、数组名、类型名、文件名等函数名、数组名、
4、类型名、文件名等命名规则命名规则:只能由字母、数字和下划线三种字符组只能由字母、数字和下划线三种字符组 成,且第一个字符必须为字母或下划线成,且第一个字符必须为字母或下划线 最大长度为最大长度为 1 247 个字符。个字符。如如:MyName average GetDay StudentName _above Lotus_1_2_3 非法标识符如非法标识符如:M.D.John$123 3Dmax合法标识符如合法标识符如:(有时用匈牙利命名法)(有时用匈牙利命名法)例:例:#include void main(void)int a,b,sum;/*定义变量定义变量 */a=123;b=456;s
5、um=a+b;coutsum is sumn;保留字保留字标识符标识符(变量名、函数名、对象名)(变量名、函数名、对象名)常数常数2.2 C+的基本数据类型的基本数据类型数据类型数据类型基本类型基本类型导出类型导出类型整型整型实型实型字符型字符型空类型空类型(无值型无值型)单精度型单精度型双精度型双精度型数组类型数组类型指针类型指针类型结构体类型结构体类型共用体类型共用体类型枚举类型枚举类型不论是变量还是常数,在计算机内部都要按照某不论是变量还是常数,在计算机内部都要按照某种形式存放,存放形式由数据类型决定。种形式存放,存放形式由数据类型决定。类类 型型 标标 识识名名 称称占用占用字节数字节
6、数取取 值值 范范 围围char字符型字符型1128 127int 整型整型4231(2311)float实型实型41038 1038double双精度双精度实型实型810308 10308以上基本类型数据以上基本类型数据占内存字节占内存字节不相同,不相同,因此因此数值范围数值范围也也不同,不同,见表见表 2-1 及表及表 2-2对基本类型,可以加修饰,如:对基本类型,可以加修饰,如:int 型型int 占占4 字节字节short int 占占 2 字节字节 long int 占占4 字节字节int:signed int unsigned int short int:signed short
7、int unsigned short intlong int:signed long int unsigned long int最简形式:最简形式:intunsigned int shortunsigned shortlongunsigned long 再加修饰,如:再加修饰,如:注意注意:int 型变量与型变量与 unsigned int 型变量的区别型变量的区别 32 位位 范围范围 int 型:型:-231 (补码补码)(231-1)符号位符号位 32 位位 范围范围unsigned int 型:型:0(232-1)无符号位无符号位2.3 常量和变量常量和变量2.3.1 常量常量常量常量
8、:在程序运行过程中,其值不能被改变的量:在程序运行过程中,其值不能被改变的量#include void main(void)int a,b,sum;/*定义变量定义变量 */a=123;b=456;sum=a+b;coutsum is sumn;常量常量(常数常数)1.整型常量整型常量 十进制整数十进制整数 123,-456 八进制整数八进制整数 0123,-011 十六进制整数十六进制整数 0 x123,-0 xAB 长整型与无符号型常数长整型与无符号型常数 12L,0234L,-0 xABL 12U,0234U,0 xABU2.实型常量实型常量(在内存中以浮点形式存放)(在内存中以浮点形式
9、存放)(均为十进制,无数制区分)(均为十进制,无数制区分)小数形式小数形式:必须有小数点必须有小数点 1.65 1.123 指数形式指数形式(也称为科学表示法)(也称为科学表示法):如如 123000.0 可写为可写为 1.23e5 0.00368 可写为可写为 3.68E-3 e 或或 E前必须有数字,前必须有数字,1000写为写为 1e3 不能写为不能写为 e33.字符型常量字符型常量用于表示用于表示ASCII字符,见附录字符,见附录A。在内存中在内存中存放对应的存放对应的ASCII码值,如码值,如 a 的的ASCII码为码为 97,则在内存中用一个字节存放:,则在内存中用一个字节存放:在
10、源程序中在源程序中最基本的表示形式为:最基本的表示形式为:单引号括起来的一个字符,如:单引号括起来的一个字符,如:a A?0 1 1 0 0 0 0 1对于不可打印的字符,可以用转义字符形式表示对于不可打印的字符,可以用转义字符形式表示。注意:注意:n 与与 n 的区别的区别!转义字符:转义字符:以反斜杠以反斜杠“”引导的特殊形式的引导的特殊形式的 非显示字符或表示特定意义的字符常量非显示字符或表示特定意义的字符常量n t b ddd xhh 见表见表 2-3注意:注意:字母字母 A 的的 ASCII 码是码是(65)10=(101)8=(41)16在程序中表示字母在程序中表示字母A,可以有三
11、种方法:可以有三种方法:A 101 x41n 表示表示一个一个控制字符,控制字符,n 表示一个字母。表示一个字母。4.字符串常量字符串常量-用双引号括起来的字符序列用双引号括起来的字符序列(在内存中存放字符序列的在内存中存放字符序列的ASCII码值,码值,最后加一个结尾标志)最后加一个结尾标志)如如:How do you do.CHINA a字符串结束标志符是:字符串结束标志符是:0注意:注意:a 和和 a 是不同的。是不同的。CHINA0.符号常量符号常量:用标识符代表一个常量,:用标识符代表一个常量,必须先定义后使用。必须先定义后使用。例:定义标识符常量例:定义标识符常量#define P
12、RICE 30#define PI 3.1425926#define S Chinaconst f loat pi=3.142.3.2 符号常量符号常量例例2.1 符号常量的使用符号常量的使用#include#define PI 3.1425926void main(void)double angle,radian;cin angle;radian=angle*PI/180;/角度角度弧度弧度cout radian n;好处:好处:(1)提高程序的可读性。)提高程序的可读性。(2)程序中使用多处,一改全改。)程序中使用多处,一改全改。2.3.3 变量变量变量变量:其值可以改变的量。其值可以改变
13、的量。变量名变量名:一个变量的符号名一个变量的符号名,由由标识符标识符构成。构成。一个变量占据内存一定的一个变量占据内存一定的存储单元存储单元,在存储单元中存放该在存储单元中存放该变量的值变量的值。int a,b;/定义定义2个整型变量个整型变量a,bunsigned u;/定义定义1个无符号整型变量个无符号整型变量ufloat f;/定义定义1个单精度实型变量个单精度实型变量double d;/定义定义1个双精度实型变量个双精度实型变量char c1,c2,c3;/定义定义3个字符型变量个字符型变量c1,c2,c3 1.定义变量定义变量注意注意:(1)区别大小写区别大小写:如如 sum 与与
14、 Sum 为不同的变量名。为不同的变量名。(2)先定义后使用先定义后使用:分配单元分配单元、确定类型、语法检查、确定类型、语法检查(3)在一个程序单元中不能重复定义。在一个程序单元中不能重复定义。(4)关键字(保留字)不能作为标识符。关键字(保留字)不能作为标识符。(5)最大长度随不同的最大长度随不同的 C+语言系统而定语言系统而定:VC+识别前识别前 247 个字符,超过无效。个字符,超过无效。(6)按义取名。按义取名。2变量赋初值变量赋初值给变量赋初值的方法有两种:给变量赋初值的方法有两种:(1)变量定义后,用赋值语句赋初值。)变量定义后,用赋值语句赋初值。例如:例如:int a,b;a=
15、12;b=24;char c1,c2;c1=A;c2=B;(2)在定义变量的同时,)在定义变量的同时,直接赋初值(称为变量的初始化)。直接赋初值(称为变量的初始化)。例如例如:int a=12,b=-24;char c1=A,c2=B;2.4 基本运算符和表达式基本运算符和表达式2.4.1 C+运算符及表达式简介运算符及表达式简介完成对常量、变量作运算的符号称为完成对常量、变量作运算的符号称为运算符运算符。把参与运算的对象称为把参与运算的对象称为操作数操作数。操作数可以是常量和变量等。操作数可以是常量和变量等。各种运算符见表各种运算符见表 2-4一元运算符、二元运算符、三元运算符一元运算符、二
16、元运算符、三元运算符2.4.2 算术运算符和算术表达式算术运算符和算术表达式基本算术运算符基本算术运算符:+-*/%/整数运算时为整除,结果为整数。整数运算时为整除,结果为整数。%(模运算或称模运算或称求余求余运算运算)必须为整型数据。必须为整型数据。例例:7/3 结果?结果?7.0/3 结果?结果?7%3 结果?结果?22.3333331由运算符和操作数构成由运算符和操作数构成表达式表达式:如:如:a+b a*(c+d)a*c+d2.4.3 运算优先级和结合性运算优先级和结合性优先级优先级:对于同一表达式中出现多个运算符,先算对于同一表达式中出现多个运算符,先算 哪一个。哪一个。结合性结合性:在两种运算优先级相同时,在两种运算优先级相同时,“自左向右自左向右”还是还是“自右向左自右向左”运算称为结合性。运算称为结合性。如:如:算术运算符的算术运算符的优先级优先级与与结合性结合性优先级优先级:+-较低较低*/%较高较高结合性结合性:自左向右自左向右例:表达式:例:表达式:6/3*2 “自左向右自左向右”或或“自右向左自右向左”运算结果不运算结果不同同2.4.4 关系运算符和关系表达式关