前面搭起了C++的VS环境,可以在VS中编写C++代码了,也运行了最简单的一个程序Helloworld.那么我们该怎么才能写出功能强大的程序,怎样才能随心所欲的应用呢,那就需要重新回头来,从C++基础逐步学起。我使用的是《C++程序设计语言_特别版》,在这个版本中,对应的章节是第四节:类型和声明。

本文地址:http://blog.csdn.net/sushengmiyan/article/details/19934531

作者:sushengmiyan

一、基本类型

C++中基本类型可以分为两大整体,内部类型和用户自定义类型。

内部类型包含:布尔型(即对和错,true or false)、字符类型(如char) 整数类型(如 int) 浮点类型(如Float)

还有指针类型、数组类型、引用类型、数据结构和类。

1.布尔型

在C++中,布尔可以与整数类型进行转换。按照定义,true值具有值1 false具有值0.

因此可以进行相互转换。如 bool susheng = 7; 那么susheng即表示true 所有非零的表示是true 0表示是false 也可以进行运算,如 bool susheng = 0/2 那么susheng是0除2的结果0 转换成布尔即false

在C++中,指针也可以隐式的转换为布尔值,非零指针转换为true 零指针转换为false

2.字符类型

字符会涉及编码,不同编码会潜在的会存在一些不同平台的影响。字符也可以转换为int型,如:

int susheng ;
char miyan = "A";
susheng = int(miyan);

susheng就表示着A的Ascii码值。

其中 char 可以定义成 signed char 和unsigned char 其中 signed char表示数值范围是-127----128unsigned char 表示的是0---255

3.整数类型

整数也是同char一样分为assiged和unsiged类型。表示数值就是-127---128 和0---255;

整数类型还区分二进制十进制与十六进制。

4.浮点类型

简单的来说,浮点就是带小数点的这样的,表示的更精确的,这会方便我们进行一些精确运算。至于为什么不直接就使用浮点,不要整形,这是涉及内存占用问题的,提供这些类型给程序员选择,是为了合理的优化资源占用,避免申请了浮点的类型却操作的是一些简单整数类型,这样就是占着茅坑不拉屎了。

5.枚举

大概所有程序语言的枚举类型都是一个概念。在C++中枚举是一个类型,由用户来刻画,比如我们可以定义颜色为一个枚举。然后使用颜色的时候就从这个枚举中遍历取值。

enum color{red, green, blue}

这就是一个枚举类型。

还有枚举的一些整型转换,没有看太明白~唔。

二、声明

要在程序中使用一个名字,必须先进行声明,就是说要先制定这是个什么类型的,然后你再用它来进行一些操作,这也很简单,就像  乐乐这个名字,你想给乐乐执行洗澡这项动作,那么你总需要知道乐乐是什么吧,或许乐乐只是一个玩具,或者乐乐是一条宠物,更甚,乐乐就是一人名。那么你不声明,就拿乐乐来洗澡,那是不合适的,给玩具洗澡,你可以使用凉水,但是给人洗澡,你用冰冷的水,那他就可能要感冒了。

声明的格式很固定: 就是先制定类型,然后指出名称。如定义susheng是一个字符串类型的,那么可以这样写:

string susheng;

或者你可以给他制定一个默认值,如

string susheng = "苏生";

运算符只作用于一个单独的名字,如

int* p,y;表示的是int*p ,int y 而不是int*p,int*y;

为了防止这样的阅读不方便的情况,应对避免这样书写。

[C++学习历程]基础部分 C++中的类型和声明的更多相关文章

  1. [C++学习历程]基础部分 C++中的指针数组和结构

    作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/19938177 一.指针 对学习C++来说,指针是一项重要内容,以前,教 ...

  2. [C++学习历程]基础部分 C++中的函数学习

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/20305815 作者:sushengmiyan 一.静态变量: 局部变量是线程到达定义的 ...

  3. [C++学习历程]基础部分 C++中的函数中的值参数、地址参数、引用参数实际例子

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/20406269 作者:sushengmiyan // sushengmiyanTest. ...

  4. [C#] 类型学习笔记一:CLR中的类型,装箱和拆箱

    在学习.NET的时候,因为一些疑问,让我打算把.NET的类型篇做一个总结.总结以三篇博文的形式呈现. 这篇博文,作为三篇博文的第一篇,主要探讨了.NET Framework中的基本类型,以及这些类型一 ...

  5. 学习Python3基础知识过程中总结

    print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...

  6. 【Java学习笔记之八】JavaBean中布尔类型使用注意事项

    JavaBean是一个标准,遵循标准的Bean是一个带有属性和getters/setters方法的Java类. JavaBean的定义很简单,但是还有有一些地方需要注意,例如Bean中含有boolea ...

  7. C#学习历程(九)[类的定义与声明]

    一.C#中类的声明 在C#中必须先声明类,然后才能在程序中使用. 类的声明格式如下: [类的属性] [访问修饰符] class 类名称 [: 父类名]{    [成员修饰符] 类的成员变量或者成员函数 ...

  8. Javascript 基础学习(三)js 的原始类型和声明变量

    java的基本数据类型一共有 byte short int long float double char boolean js中定义变量使用关键字 var js的原始类型(五个) String: 字符 ...

  9. salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值

    注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...

随机推荐

  1. windows的常用快捷键(实用篇)

    整理一下windows的常用快捷键,有些快捷键老不用都忘记了,这里整理一下方便自己以后忘记时翻阅. 一.Fn键的使用 1.F1帮助 2.F2重命名 3.F3打开搜索 4.F4打开地址栏常用地址 5.F ...

  2. JavaScript进阶-this

    1.什么是this? 当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文).这个记录会包 含函数在哪里被调用(调用栈).函数的调用方法.传入的参数等信息.this 就是记录的 其中一个属性 ...

  3. 微信小程序适配iphonex

      // 在app.js中判断是否是哪种设备 globalData: { isIphoneX: false, userInfo: null }, onShow:function(){ let that ...

  4. c# datatable增加列并赋值

    DataView dv = DataObj.GetBmfzr("03").Tables[0].DefaultView; dv.Sort = "bmbh"; Da ...

  5. Java8——快速入门手册(学习笔记)

    github博文传送门 Java8特性学习笔记 Java8中新增了许多的新特性,在这里本人研究学习了几个较为常用的特性,在这里与大家进行分享.(这里推荐深入理解Java 8用于理解基础知识)本文分为以 ...

  6. vim基本操作

    Vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版,而 gVim 则是其 Windows 版.它的最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门 ...

  7. 【转载】RAID写惩罚(Write Penalty)与IOPS计算

    浅谈RAID写惩罚(Write Penalty)与IOPS计算 Character is what you are in the dark. 暗处最能反映一个人真正品格. ---------Apri ...

  8. numpy的初探

    # data = numpy.genfromtxt("C:\\Users\\Admin\Desktop\\111.txt", delimiter='\t', dtype='str' ...

  9. 解释session

    我理解的session就是,多个页面都要使用某一个或一些数据,这时就可以用session,将数据暂时保存起来,这样其他的页面开启session,就能将那些数据拿出来使用.

  10. linux网络编程之一-----多播(组播)编程

    什么是多播 组播(Multicast)是网络一种点对多(one to many)的通信方式,通过报文复制完成网络中一台server对应多台接收者的高效数据传 送.对其形象的比喻就是类似于广播电台和电视 ...