chap2-5--四节课--上--数据类型.ppt_第1页
chap2-5--四节课--上--数据类型.ppt_第2页
chap2-5--四节课--上--数据类型.ppt_第3页
chap2-5--四节课--上--数据类型.ppt_第4页
chap2-5--四节课--上--数据类型.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

学习C+的目的: 学习C+语言基础 -2,3,4,5章 掌握面向对象的编程方法 6章开始,第2章 C+的数据类型、运算符和表达式,内容 学习C+语言要素 2.1 字符集合与标识符 2.2 基本数据类型 2.3 常量与变量及常量的声明 2.4 运算符与表达式,第2章 C+的数据类型、运算符和表达式,C+语言各种成分的层次关系,(1) 字符,(2)词,标示符):常量名、变量名、类名、函数名,(3)表达式:,数据+运算符号,变量: 常量:,规定存储和处理,规定处理,优先级别 和 结合性,4) 程序语句(能独立运行),5) 函数,第四章,第2章 C+的数据类型、运算符和表达式,内容 学习C+语言要素 字符集合与标识符 基本数据类型 常量与变量及常量的声明 运算符与表达式 ,2.1 数据类型,是C+ 的最小的语言单位, 包括 1) AZ, az; 52个 2) 09; 10个 3) 特殊字符: 空格, !, #. 22个 可用于组成标识符,1 字符,2.1.1 字符集与标识符,以英文字母和下划线开头; 如:Csharp, _Csharp 英文字母、下划线和数字组成; 如: Csharp_Version_2 不能与C+预定义的关键字相同。,2 标识符 程序中定义的单词,用于给:常量,变量,类,对象,函数等命名。,标识符的命名规则,Windows 应用程序命名规则 【1】类名和函数名用大写字母开头的单词组合而成。 例如: 【2】变量和参数用小写字母开头的单词组合而成。 例如: 【3】常量全用大写的字母,用下划线分割单词。 例如:,class Student; / 类名 void Drawline(void); / 函数名,bool flag; int drawMode;,const int MAX = 100; const double PI= 3.14159;,【4】类数据成员加前缀m_,可以避免数据成员与 成员函数的参数同名。 例如:,void Object:SetValue(int width, int height) m_width = width; m_height = height; ,【5】所有关键词都小写 class, int, float, double, char 关键词在.NET 的C+编译环境中,为蓝色.,不能用关键字来命名新的函数、变量、类、对象。 否则:导致编译错误,3 关键字- -保留字,是C+预定义的标识符, 在程序中作专门的用途。,C+常用的关键字,用于实现各种运算的符号; 包括:算术、关系、逻辑等运算符附录2 示例: 3+2-5; cout“yangyong”endl;,3 运算符,4 常量,程序执行中不变的数据,数值型的,字符型,字符串型 举例: 123, a, “yangyong” cout123; coutaendl; cout“yangyong”“ “is a chinese”endl;,5 分隔符 空格符:单词之间 using namespace std; 逗号: 位于变量之间、对象、函数的多个参数之间(多个相同 成分之间)。 int a, b,c; 分号;语句之间;表达式之间的分隔符。 cout“hello!”endl; for(i=1;i4; i+) 冒号:语句标号和语句之间。 private: case: 大括号:用于括住函数体、类体或者复合语句。 class C_Student ,6 C+的注释符 注释对“/*, */” 双斜线“/”,计算机以0和1的二进制数序列存储数据; 内存中数据的单位是字节,8个二进制数; 同一个二进制数序列,作为不同数据类型时,有不同的含义 比如: 0000 0000 0000 0001 作字符看待,是两个字符,/查码表 作整数看待,是一个数,值为1,2.1. 2 数据存储,1 C+是 强类型语言 (1) 数据使用前,必须先声明一个相关的类型; (2) 程序执行中,会检查数据的类型在当前是否合适; 不合适,系统会隐含地进行类型转换。,2.1. 3 C+基本数据类型(16页),2 数据类型划分依据 量的性质(值,还是地址) 表达形式 (数还是字符) 占据存储空间的字节多少 构造特点 (基本的,复合的,引用的),2.1. 3 C+基本数据类型(16页),3 C+的数据大类,A 基本数据类型 包括: 整型、 浮点型、字符型、逻辑型和空值型;(16页) 系统中预先对这些数据类型作了定义。 B 自定义数据 包括:枚举、结构、联合和类等。 由程序员定义。 C 引用型数据后续会学 包括指针、引用 和 数组 由程序员指定。 不同类型,占用的存储空间大小不一样。,数据类型 的字节大小 基本数据类型 整型 short, unsigned short 2字节 int, unsigned int 4字节 long, unsigned long 4 字节 实数型 float, 4字节 double, long double, 8字节 字符型 , char, 1字节 逻辑型, bool , 1字节,1 整型数据,用法示例: short no; int no; long no; no=27;,用于表达整数,?,/2-1示例,整数应用及其溢出,#include using namespace std; int main() short int s_1=32766, s_2; int i=1,j=2; long int l=0; cout“s_1”s_1“ i=“i“ j=“jendl; s_2=s_1+j; cout“s_1+j”s_2endl; l=s_1+j; cout“l=“lendl; return 0; ,补充:有符号整数的存储,对有符号的整数,有原码、反码和补码等表示方法; 在计算机中,正整数以原码存,负整数以补码 存。 A) 负数求补码 负数中数据的原码取反, 符号位取1,得到反码 如: -1的反码 11111110 反码加 1成补码 -1的补码 11111110 +1=11111111 10000000, 表示为-128 B) 负数补码反求原码 求补码中数据位的反码 反码加1成原码 C)-32768用1000 0000 0000 0000表示,其他按补码规则存储,C) 溢出问题 有符号数相加中,当在数据位最高位进位时,会发生溢出; 两正符号数相加,最高数据位进位为符号位,成为负数; 两负符号数相加,溢出为正,最高进位修改符号位,为正数。 例: short c=32767, c1; c1=c+1;/执行后,c变为 -32768 c1=c+2; /执行后,c变为- 32767,2 浮点型,用于表达实数,用法示例: float weight; double weight_1; long double weight_2; weight=32;,/2_2.cpp,浮点数应用,#include using namespace std; int main() float f=1.23f; double d=4.556; long double l=1.098761L; cout“f=“fendl; cout“d=“dendl; cout“l=“lendl; ,3 字符型数据 char 用于表达单个字符,占1个字节 字符常量要加单引号表示, C,c, ! 字符变量可用字符和整数来赋值; char c1=97; /则c1输出时为 a char c1=0x61; /则c1输出时为 a 字符可作为整数参与算术运算,其值为ASCII值; a32; /*执行结果97-32=65*/ a:0x61 99;/*执行结果57-9=48*/ 9:0x39,C+常用的转义字符,/2_3, 字符类型的使用,#include using namespace std; int main() char a=A; char b=101; char c=x41; char d=65; cout“a=“aendl; cout“b=“bendl; cout“c=“cendl; cout“d=“dendl; return 0; ,基本数据类型,整形、浮点型、字符型、逻辑型、空值型,4 逻辑型 bool 用于表达只有两种互为相反的取值情况,占1字节 有 空 & 非空; 逻辑型只有两个值: true, false 逻辑型在运算中可以和整型相互转化 false对应为0 true为1或非0,用法示例: bool rain; rain=false; /rain=true;,5 空值型 void 通常用来修饰函数和指针,分别表示: 一个函数没有返回值 一个指针指向未知类型的对象。,用法示例: void call(); / 函数 call() 没有返回值 void* ps; / 指针 ps 指向未知类型的对象 void my_function(void) /无返回,无形参,数据类型 的字节大小 基本数据类型 整型 short, unsigned short 2字节 int, unsigned int 4字节 long, unsigned long 4 字节 实数型 float, 4字节 double, long double, 8字节 字符型 , char, 1字节 逻辑型, bool , 1字节,2.1.4 枚举类型 enum 规定某种整数的可能取值(值域)。 格式: enum 枚举成员表;,用法示例: enum weatherrain,cludy,mug, sunny; /缺省地,常量值是其顺序号 weather w1=sunny;,/ 2_4: 枚举类型的使用,#include using namespace std; int main() enum weekdayMon,Tues, Wed, Thurs, Fri; weekday today=Wed; couttodayendl; couttoday+2endl; return 0; ,2.1.5 typedef 关键词,用于给已有的数据类型,定义一个别名 用法 typedef int integer; typedef float activenumber;,示例片段 typedef int integer; integer i=3; typedef float activenumber; activenumber f=7.0f;,/2_5, typedef类型的使用,#include using namespace std; typedef int entity; typedef float area; int main() entity i=256; area j=123.456f; cout“i=“iendl; cout“j=“jendl; return 0; ,2.1.6 引用类型,是给其他变量或对象取别名; 引用变量与被引用变量,存在同一个空间里(对引用变量的操作,会修改被引用变量)。 定义引用变量时,需立即用另一个变量对其初始化。 语法: 数据类型 /y与x共享内存,/2_6, 引用类型变量的使用,#include using namespace std; int main() int m=15, n=20; int ,2.1.7 常量及变量,1 两种常量 一般常量(直接用于计算,或为变量赋值) 程序执行过程中保持不变,不需要内存 示例: 123, c, “Yangyong” 符号常量(保持不变,需要内存) const 数据类型 常量标识符 = 常量值; const float PI=3.14159; const int price=50; 符号常量不能修改(只能读),否则会产生编译错误。,/#include “stdafx.h“ /问题:字符常量的使用 /源程序2_7.cpp #include using namespace std; const int MAX=10000; /全局的 int main(int argc, char* argv) const double PI = 3.14159; /标识常量的定义 int min,max = 30; /定义变量赋初值 char Name = C; /定义变量赋初值 cout“PI = “ PIendl; cout“min = “minendl; /未初始化变量的结果,随机值 cout“max = “maxendl; cout“Name = “Nameendl; return 0; ,1) 整型常量 十进制: 20,-20 八进制: 数字0 开头, 05327 十六进制:以 0x 开头,0x635AE4 分别可加后缀: U, u: 无符号 L,l: 长整型,2) 浮点型常量 十进制小数 1.455f; /float 1.455; /double 1.455l; /long double 科学计数表示法: 3.4E-8 / double 2.72982e-21L / long double,3) 字符型常量 用一对单引号标出 f ,8, 借助 转义符表示的字符常量 146 (等同于常量 f) 062 (等同于常量2),4) 布尔型常量及其表示 只能有两种取值 true,false. 示例片段 bool flag=true; flag=false;,5) 字符串常量 字符或字符序列 “I am a student”, “Y” 字符串变量的存放形式 每字符占 1个字节; 系统自动添加“0” 结束。,字符串的结束标志,2 变量,值会在程序运行期间发生变化; 需要内存(空间大小, 取决于变量的数据类型)。 声明变量 short m_n,m_age; /类型在前,变量名在后 char m_score; 变量赋值 m_n=59; m_score=A;,1)变量的初始化方法 方法1 int buffer = 1024; /掌握 方法2 int buffer (1024); /了解 方法3 int buffer = int( ); /变量buffer被初始化为0 方法4 /掌握 int buffer; cinbuffer;,2) 指针变量补充,1) 存储同类型的另一变量的地址(8位16进制数); int *pt, a=3,b=5; /? pt= /间接写值,指针与引用的区别 指针变量 指针单独有存储空间, 存储另一数据的地址; 指针指向某变量后,可再指向其他变量(指针值可修改); 指针可以为空(地址值为null) 引用变量 引用总是指向另一个变量(二者共地址) ; 引用一旦指向某一变量后,不可指向其他(绑定); 引用不能为空(须立即初始化)。,3) 字符指针变量 补充 存放字符串的方法之一 char *, string 定义格式 char *变量名 ;,char *s1, *s2; s1=“I am student”; s2=“Are you a student too?”;,示例片段,3)字符指针变量补充,char *str; str=“yang”; cinstr; coutstr; /直接使用指针名,读写字符串

温馨提示

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

评论

0/150

提交评论