欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VisualC轻松入门第2章C语法之数据类型.ppt

    • 资源ID:6523087       资源大小:288.49KB        全文页数:24页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VisualC轻松入门第2章C语法之数据类型.ppt

    第2章 C+语法之数据类型,计算机的作用无非就是存储和计算,而存储和计算都离不开数据格式,不同的数据格式意味着存储和计算的方式不尽相同。本章是C+知识的开始篇章,将着重介绍C+的数据类型,让读者了解C+具有哪些数据类型。数据类型是构成程序设计的基础,希望读者能够扎实掌握本章内容,本章主要修行的要点如下。C+简介:让读者能够了解C+的过去和现今的情况。简单变量:读者能够学会C+的简单变量,如整型变量、浮点型变量等。算术运算符:读者能够使用算术运算符进行简单变量的数学运算。枚举、指针和数组:读者将学会枚举、指针和数组数据类型的定义和使用。字符串类型:读者将学会string类和C风格字符串。结构体类型和类类型:读者将学会C+语言理论中最重要的两种复合类型结构体类型和类类型。,2.1 C+发展历史和相关背景,在Visual C+学习中,C+程序设计语言绝对是顽徒孙悟空,非常难驯服。但读者也不用太担心,唐僧没有法力都能驯服孙悟空,我们也一样可以做到,关键在于要让C+带上紧箍咒,这个紧箍咒就是牢牢抓住面向对象的本质。美国AT&T贝尔实验室的计算机专家Bjarne Stroustrup博士于20世纪80年代初期发明并实现了C+程序设计语言,最初的C+被称作“C with Classes”,即带类的C,其实原来的C也可以实现面向对象的编程,请读者注意,面向对象从本质上来说不是某种编程语言的专利,而仅仅是一种编程思想。,2.2 常量和变量,在C+的数据中,按照数据是否能被赋值可以分为两大类,即常量和变量。事实上,顾名思义,读者可以更容易理解常量和变量,常量就是不能随着程序的运行改变值的数据符号,变量是可以随着程序的运行改变值的数据符号。,2.2.1 常量的意义和使用,常量在很多程序设计语言中都是必有的概念,为什么要有常量的概念出现呢?假设有这么一种情况,在程序中设定一个最大时间值1000,在整个程序项目中,这个最大值1000出现了500次,那么如果要将“1000”修改成为“1200”,手动修改的话,就要修改500次,这是一件非常令人烦恼的事情。也许有聪明的读者会认为,可以用“查找全部替换”一次性将全部的“1000”替换成“1200”啊,Oh,NO!这样做的结果会非常非常糟糕,因为有些“1000”的值并不是表示“最大时间值”,这样一刀切的办法会导致无可挽回的恶果,甚至由于读者不小心,将“2510002”(字符串,而非数字)中间的“1000”替换掉,变成“2512002”,再次温馨提示,千万不要这么做,必须使用常量定义以降低修改的工作量方为上策,如用MAXTIME来表示“1000”这个最大时间值常量。,2.2.2 变量的意义和使用,存储在计算机中的信息,都应该是可以随时读取或改写的,这就要求程序设计语言对计算机中的信息具有以下3个基本属性:信息数据存放的地方:存储地址在哪。要存储的值:存储的是什么。信息的类型:存储的格式是什么。例如,定义一个表示我拥有的苹果数量信息,可以通过以下代码进行定义:int MyApples;/定义一个整型变量,表示我拥有的苹果数目MyApples=7;/给该整型变量赋值为7,表示我现在拥有7个苹果,2.3 简单变量的定义和使用,简单变量是指变量中最基本的单元。广义上的变量还包括数组变量、指针变量、结构体变量和类对象,这些变量相对来说比较复杂,如结构体变量是由多个简单变量或结构体组成,而类对象则更复杂,不仅包括多个其他任何类型变量,还可以包括函数。本节从简单变量入手,慢慢地带读者了解全部的C+数据类型。,2.3.1 整型的定义和字长,【本小节示例参考:源代码C02sizeofDataType】顾名思义,整型就是整数类型,以代数的概念来说,就是:正整数、零和负整数。而计算机不能像代数中的整数一样可以表示所有的整数,因此C+中的整型类型只是所有整数集合的一个子集,也就是只能表示一部分整数。C+提供了几种宽度不同的整型供开发者选择,按照宽度排序有char、short、int和long,每种类型都有“有符号”和“无符号”两种版本,也就是类似于整数有正整数和负整数之分,因此,C+整型就有8种可供用户选择。在Win32环境下(Windows操作系统32位处理器),不同类型的整型如表2.1所示。,2.3.2 浮点型的定义和字长,浮点类型顾名思义就是小数点能够自由浮动的数据类型,它主要有3种,即float、double和long double。浮点类型对于字长的要求如表2.2所示。浮点型的变量读者可以简单地理解为具有小数点的变量类型,而整型变量则对应于初中代数中的整数,整数当然就包括正整数、0和负整数。在此需要提醒读者的是,需要了解各种数据类型,但不要花太多时间去钻研这些小问题,毕竟我们需要的是掌握程序设计的方法,而不是做理论研究。就如唐三藏取西经,沿途收拾妖怪只是为了自己开路,而不是要将全世界的妖怪都消灭光才算数。,2.3.3 布尔类型的定义和运算,【本小节示例参考:源代码C02boolCompute】布尔类型这个名字比较奇怪,它来源于英国数学家布尔,该类型的变量取值不像整型一样,可以取0、1、2、3等多个值,也不像浮点型一样可以取不连续的值,它的取值就只有两个,即true或false。布尔类型常用于判断语句中用于判断该执行哪个代码段,布尔变量可以定义为:bool bReally=true;/定义一个布尔型变量,并初始化为truebool bTrue=false;/定义一个布尔型变量,并初始化为true,2.4 算术运算符的基本操作,【本节示例参考:源代码C02mathCompute】读者可能对数学中的各种运算符号记忆犹新,如果不会基本运算,估计本节没有办法继续下去哦,至少加减乘除总是一辈子都不会忘记的,在计算机中也同样有各种算术运算符,如果在程序中有如下的语句:int apples=3+9;/定义变量apples,初始化为3+9的运算结果在这个语句中,“3”和“9”是操作数,“+”符号是一个算术运算符,“3+9”是一个运算表达式,其值为“12”。C+提供的算术运算符有5种:“+”:加运算符。“-”:减运算符。“*”:乘运算符。“/”:除运算符。“%”:取模运算符。,2.5 枚举、指针和数组,C+除了提供一些基本的数据类型外,还提供了一些其他额外的数据类型,如枚举、指针和数组类型,以及将在后面章节讲解的结构体和类类型,这些统称为复合数据类型。复合数据类型是由其他数据类型组合,或以基本数据类型为基础衍生出来的类型。,2.5.1 用枚举来设定变量的取值,前文已经介绍了常量类型,C+提供了一个enum的关键字用来创建枚举类型,实质上,枚举类型是常量类型的一种衍生类型,常量类型可以看作只有一个取值的枚举。假设要设计一个游戏程序,定义一个游戏角色移动的方向,可以定义枚举类型如下:enum direction east,south,west,north;/定义枚举类型,并规定了4个取值该语句定义了一个枚举类型direction,这个枚举类型可以表示东、南、西和北4个方向。对枚举类型的定义,不仅仅是定义了枚举的含义,而且定义了枚举变量的赋值类型:enum direction east,south,west,north;/定义枚举类型,该枚举类型只能取4个值direction myDirection;/定义direction枚举类型的变量myDirectionmyDirection=east;/将myDirection变量赋值为eastcoutmyDirectionendl;/输出myDirection变量的值,2.5.2 用指针表示变量的住址,【本小节示例参考:源代码C02pointer】如前文所述,为了将数据信息记录在计算机中,并可以随时修改,程序必须记录以下3个基本属性:信息存放的地址,即这个变量住哪?如某个地址123654。变量存储的值,即这个变量是多少?如58。变量的类型,即这个变量是什么类型的?如int整型。一个变量的基本信息,如图2.4所示。,2.5.3 数组:多车厢的火车,【本小节示例参考:源代码C02array】数组类型是高级程序设计语言中最常用的复合数据类型,在多项式或矩阵应用等科学计算中经常被使用。数组类型是一个由简单数据类型或复合数据类型组成的复合数据类型,因此组成数组的基本元素可以是简单的数据类型,也可以就是数组本身。例如,数组可以存放30个整型的值,用来表示一个班30个学生的语文考试成绩,数组的声明应该指出:数组中每个元素的类型:如必须指明该数据中的元素类型为整型int。数组名:必须给该数组(复合数据类型变量)命名,如命名为Chinese。数组的元素数目:如需要存放30个学生的语文成绩,则元素数目设定为30。例如可以声明一个数组,用来存放一个班30个学生的语文考试成绩,则定义代码如下:int Chinese30;/定义一个整型的具有30个元素的数组,2.6 string类和C风格字符串,顾名思义,字符串就是由字符组成的串,也就是由多个字符组成的变量,在C语言和C+语言中都分别有自己的字符串表示方式。本节就讲解这两种语言的字符串定义和使用的方式。,2.6.1 不好好学C+只能选择:C风格字符串,字符串是什么呢?就是字符组成的序列,字符并没有限定什么字符,基本上ASCII码的字符都可以当作字符串中的序列元素,如“abc”、“c3”或“123”都可以。在前文中讲解了数组的使用,那么字符串也可以使用数组来表示:char name10;/定义一个具有10个元素的字符型的数组该行代码定义了一个具有10个字符类型的元素的数组,也可以说是由10个字符组成的字符串,并用这个字符串来表示一个名字,使用字符数组来表示字符串称为“C风格字符串”。但是使用字符数组来表示字符串有很多不方便的地方:修改困难。如前文所述,name是一个地址常量,因此不能直接对其赋值,因此name的初始化和赋值都要通过逐个字符赋值操作。长度限制。name数组的长度是10,也就意味着name字符串最大只能表示10个字符的名字,而且最后一个元素还要用“0”字符数组结束标记,因此真正用于存储名字的有效字符只剩下9位。粒度太小,不直观。对于软件开发,往往需要直接对字符串进行赋值或者修改,而数组型表示的字符串则要对数组的每个元素进行修改,粒度太小,增加了软件开发的工作量。,2.6.2 string如何解放C程序员的繁重劳动,【本小节示例参考:源代码C02stringUse】C+是基于C的基础上发展而来的,因此C+也支持C风格字符串的使用,此外,C+还引入了string类的概念,该类是C+标准类,位于std名称空间内(只要是标准类或标准对象,都位于std名称空间内),string类提供了丰富的接口,如使用C风格的字符串,即使用字符数组的方式表示字符串,则无法直接查看该字符串的长度,只有查看源码中定义字符数组的容量,或者采用前文讲述的sizeof的方式“巧妙地”计算出数组的长度,再或者是逐个检测字符数组元素,并逐个数数,直到找到最后一个元素“0”为止。,2.7 数据类型是应用软件的细胞,数据类型在程序设计中是非常重要的,不管是面向过程的程序设计语言还是面向对象的程序设计语言。在面向过程的程序设计语言中,不仅仅是简单变量,主要还依赖于类的定义。类的对象实质上也是一种数据类型的变量,称为类类型。数据类型可以说是应用程序的细胞,计算机的实质是计算和存储,这两个操作都离不开数据对象。前文已经给各位读者介绍了基本数据类型,简单的变量可以看作是应用程序的简单细胞,而接下来的内容是结构体类型和类类型,这两种类型是简单细胞组成的“复杂细胞”,当然,“复杂细胞”也可以由“较小的复杂细胞”组成,也就是说,结构体和类类型也可以由较小的结构体变量或类对象组成。,2.8 结构体类型,【本小节示例参考:源代码C02structUse】如果读者学过数据结构,那么对结构体肯定是非常熟悉的,当然,如果痛恨数据结构,估计对结构体也够头疼的了。的确,结构体很麻烦,特别是带有指针的结构体,进而组成树状或图状的数据结构。不过请读者放心,本书不研究这些,只需要掌握最基础的且是最实用的部分即可。假设要存储一个学生的信息,需要记录的学生信息由学生秘书整理好一张学生信息表,如表2.5所示。,2.9“类”类型,“类”类型的定义和结构体类型的定义是极为类似的,可以这么说,C+中的结构体类型已经和C语言的结构体类型截然不同,C+中的结构体类型是地地道道的类类型。类的定义的详细内容将在面向对象相关章节介绍。“类”类型与“double”类型、“int”类型或“struct”类型的地位是一样的,都是一种“数据类型”。,2.9.1“类”类型定义的语法形式,【本小节示例参考:源代码C02classUse】假设前文所提到的学生信息要用到类来实现,即把一个具体的学生(人)看成一个对象,而把学生(这类人)看成一个类,那么可以定义为如代码示例2.9所示,这里的代码除了将struct变更为class外,还多了一些访问控制符,如private和public,以及多了两个类的成员函数。,2.9.2“类”类型的函数实现,【本小节示例参考:源代码C02classUse_Right】上一节的类类型定义并没有通过编译,原因就在于没有实现相关访问私有数据成员的功能,因此,不得不将代码加以修正,以避免main()函数直接访问student类对象的私有成员。修正后的代码如代码示例2.11所示,该代码相比以前的实例新增的功能是,可以让类的私有数据成员通过构造函数来初始化。,2.10 小结,本章介绍了各种数据类型,是C+程序设计的入门章节,数据类型是程序设计语言的重点,如果读者对类类型理解不大也没关系,在本章大概了解即可,在后面章节将会深入讲解。通过本章的学习,读者应该掌握的内容如下:常量和变量的定义:常量的两种定义方式、变量的定义和使用。简单数据类型。算术运算的规则。枚举:枚举是规定了取值个数和范围的数据类型。指针:指针是变量或对象的地址,指针变量是指向某变量或对象的符号。数组:数组是多个变量的排列。string类和C风格字符串:了解它们之间的区别和使用方式。结构体类型和类类型:学会定义结构体和类,并了解它们的联系和区别。,本章习题,一、填空题1根据程序运行中是否可以改变数据代号的值的类型可以分为_和_,可以改变值的类型称之为_,一经定义不可以再改变值的类型称为_。2_变量类型用于标记其他变量或对象的地址符号,_变量类型适用于作为将简单变量组合成为复杂的变量。3C风格的字符串实际上是_,而CString字符串实际上是_。二、单项选择题1以下语句错误的是()。Aconst int a;a=10;Bint b;b=23;Cconst int c=25;Dconst int d(65);2以下说法错误的是()。A结构体中不能有结构体变量。B结构体中可以有类对象。C类对象中可以有结构体对象。D类可以用于描述结构体描述大的抽象数据类型。三、简答题使用“#define”预编译符号和“const”关键字定义常量有什么不同?,

    注意事项

    本文(VisualC轻松入门第2章C语法之数据类型.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开