[C++学习历程]基础部分 C++中的类型和声明
前面搭起了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++中的类型和声明的更多相关文章
- [C++学习历程]基础部分 C++中的指针数组和结构
作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/19938177 一.指针 对学习C++来说,指针是一项重要内容,以前,教 ...
- [C++学习历程]基础部分 C++中的函数学习
本文地址:http://blog.csdn.net/sushengmiyan/article/details/20305815 作者:sushengmiyan 一.静态变量: 局部变量是线程到达定义的 ...
- [C++学习历程]基础部分 C++中的函数中的值参数、地址参数、引用参数实际例子
本文地址:http://blog.csdn.net/sushengmiyan/article/details/20406269 作者:sushengmiyan // sushengmiyanTest. ...
- [C#] 类型学习笔记一:CLR中的类型,装箱和拆箱
在学习.NET的时候,因为一些疑问,让我打算把.NET的类型篇做一个总结.总结以三篇博文的形式呈现. 这篇博文,作为三篇博文的第一篇,主要探讨了.NET Framework中的基本类型,以及这些类型一 ...
- 学习Python3基础知识过程中总结
print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...
- 【Java学习笔记之八】JavaBean中布尔类型使用注意事项
JavaBean是一个标准,遵循标准的Bean是一个带有属性和getters/setters方法的Java类. JavaBean的定义很简单,但是还有有一些地方需要注意,例如Bean中含有boolea ...
- C#学习历程(九)[类的定义与声明]
一.C#中类的声明 在C#中必须先声明类,然后才能在程序中使用. 类的声明格式如下: [类的属性] [访问修饰符] class 类名称 [: 父类名]{ [成员修饰符] 类的成员变量或者成员函数 ...
- Javascript 基础学习(三)js 的原始类型和声明变量
java的基本数据类型一共有 byte short int long float double char boolean js中定义变量使用关键字 var js的原始类型(五个) String: 字符 ...
- salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值
注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...
随机推荐
- javascript面向对象(给对象添加属性和方法的方式)
1.在定义对象时,直接把属性和方法添加 <script type="text/JavaScript"> //给对象直接在定义时添加属性和方法 var g ...
- Windows 下 Ionic 开发环境搭建
Ionic 介绍 首先,Ionic 是什么. Ionic 是一款基于 Cordova 及 Angular 开发 Hybrid/Web APP 的前端框架,类似的其他框架有:Intel XDK等. 简单 ...
- 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析
作者博客:http://blog.csdn.net/u010349169/article/category/2309433 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简 ...
- Python小代码_8_今天是今年的第几天
import time date = time.localtime() print(date) #time.struct_time(tm_year=2018, tm_mon=2, tm_mday=24 ...
- 566. Reshape the Matrix
In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...
- 解读Raft(二 选举和日志复制)
Leader election Raft采用心跳机制来触发Leader选举.Leader周期性的发送心跳(如果有正常的RPC的请求情况下可以不发心跳)包保持自己Leader的角色(避免集群中其他节点认 ...
- ubuntu14.04 python2.7 安装配置OpenCV3.0
环境:ubuntu14.04 python2.7 内容:安装并配置OpenCV3.0 今天按照OpenCV官网上的步骤装了OpenCV但是,装好之后python提示“No module named ...
- Rabbitmq集群
分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 Rabbitmq集群高 ...
- comtypes加word 2013批量将pdf转换为doc
office 2013很强大. import os import sys import re import comtypes.client wdFormatPDF = 17 def covx_to_p ...
- mysql 数据类型别名参考
To facilitate the use of code written for SQL implementations from other vendors, MySQL maps data ty ...