前面搭起了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. javascript面向对象(给对象添加属性和方法的方式)

    1.在定义对象时,直接把属性和方法添加 <script type="text/JavaScript"> //给对象直接在定义时添加属性和方法         var g ...

  2. Windows 下 Ionic 开发环境搭建

    Ionic 介绍 首先,Ionic 是什么. Ionic 是一款基于 Cordova 及 Angular 开发 Hybrid/Web APP 的前端框架,类似的其他框架有:Intel XDK等. 简单 ...

  3. 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

    作者博客:http://blog.csdn.net/u010349169/article/category/2309433 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简 ...

  4. Python小代码_8_今天是今年的第几天

    import time date = time.localtime() print(date) #time.struct_time(tm_year=2018, tm_mon=2, tm_mday=24 ...

  5. 566. Reshape the Matrix

    In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...

  6. 解读Raft(二 选举和日志复制)

    Leader election Raft采用心跳机制来触发Leader选举.Leader周期性的发送心跳(如果有正常的RPC的请求情况下可以不发心跳)包保持自己Leader的角色(避免集群中其他节点认 ...

  7. ubuntu14.04 python2.7 安装配置OpenCV3.0

    环境:ubuntu14.04  python2.7 内容:安装并配置OpenCV3.0 今天按照OpenCV官网上的步骤装了OpenCV但是,装好之后python提示“No module named ...

  8. Rabbitmq集群

    分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 Rabbitmq集群高 ...

  9. comtypes加word 2013批量将pdf转换为doc

    office 2013很强大. import os import sys import re import comtypes.client wdFormatPDF = 17 def covx_to_p ...

  10. mysql 数据类型别名参考

    To facilitate the use of code written for SQL implementations from other vendors, MySQL maps data ty ...