一、变量名

几条简单的C++命名规则:

  • 在名称中只能使用字母,数字和下划线
  • 名称的第一个字符不能是数字
  • 区分大小写
  • 不能将C++关键字用作名称
  • 以两个下划线和大写字母打头的名称被保留给实现(编译器及其使用资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符。
  • C++对名称长度没有限制

二、数据类型

计算机内存的最基本单元是位(bit)。字节(byte)通常指的是8位内存单元,可以表示的范围0-255或者-128到127。

(1)整型

  • short至少16位(大多数系统16位,-32768到+32767或者0-65535)
  • int至少与short一样长(win7中32位)
  • long至少32位,且至少与int一样长
  • long long 至少64位,且至少与long一样长

对类型名或者变量名使用sizeof运算符,可以得到类型的字节数。

无符号类型关键字:unsigned xx

char类型也是一种整型,专为存储字符而设置的,它足够长,能够表示目标计算机系统中所有的基本符号——所有的字母、数字、标点符号,很多系统支持的字符都不超过128个,因此用一个字节就够了。

bool类型true or false

三、const限定符

const 创建常量时必须在声明时就初始化

四、浮点数

区别于整型,能够表示小数。书写方式:

  • 12.34
  • 939001.12
  • 0.000032
  • 8.0(即使小数部分为0,小数点也确保该数字以浮点格式表示,而不是整数格式)
  • 2.52e+8
  • 8.33E-4

浮点类型:

  • float(通常32位)
  • double(通常64位)
  • long double

浮点常量:像8.24和2.4E8这样的浮点常量都属于double类型,如果希望常量为float类型,请使用f或者F后缀,对于long double类型使用l或者L后缀(由于l看起来像1,使用L是更好的选择),如:

1.234F

2.4E20F

2.2L

五、类型转换

只允许由较窄的类型向较宽的的类型升级(类型提升),不可由宽到窄降低。如将浮点值赋给整型很可能导致两个问题:整型会将数字截短(除掉小数部分),另一方面  float对于int变量来说可能太大了。

在此类潜在的问题将会引起不可预料的错误。

当同一个表达式中出现两种不同的的算术类型时,C++将执行两种自动转换:

  • 一些类型再出现时便会自动转换
  • 有些类型在与其他类型同时出现在表达式中时将被转换

除了自动转换,另一个重要的方式是强制类型转换,如将存储在变量thorn中的int值转换为long类型:

  • (long) thorn 或者thorn (long)  (C语言风格)
  • static_cast<long> (thorn)

强制类型转换不会修改thorn变量本身,而是创建一个新的、指定类型的值。

C++学习笔记之数据类型的更多相关文章

  1. es6学习笔记--新数据类型Symbol

    学习了es6语法的symbol类型,整理笔记,闲时复习. Symbol 是es6新增的第七种原始数据类型(null,string,number,undefined,boolean,object),是为 ...

  2. javascript深入浅出——学习笔记(六种数据类型和隐式转换)

    在慕课之前学过JS深入浅出,最近发现很多东西都记不太清楚了,再复习一遍好了,感觉这个课程真的超级棒的,做做笔记,再添加一些学习内容

  3. Rust学习笔记一 数据类型

    写在前面 我也不是什么特别厉害的大牛,学历也很低,只是对一些新语言比较感兴趣,接触过的语言不算多也不算少,大部分也都浅尝辄止,所以理解上可能会有一些偏差. 自学了Java.Kotlin.Python. ...

  4. MySQL学习笔记之数据类型

    数据类型在所有的数据库使用当中,都是避免不了的部分.以前每次写SQL语句,对于定义成哪种数据类型总是迷迷糊糊,今天就来彻底弄清.以下介绍仅针对MySQL 5.5以上版本. 一.字符串类型 1.char ...

  5. Java学习笔记三——数据类型

    前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...

  6. Redis学习笔记1-Redis数据类型

    Redis数据类型 Redis支持5种数据类型,它们描述如下: Strings - 字符串 字符串是 Redis 最基本的数据类型.Redis 字符串是二进制安全的,也就是说,一个 Redis 字符串 ...

  7. python学习笔记二 数据类型(基础篇)

    Python基础 对于Python,一切事物都是对象,对象基于类创建         不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上 ...

  8. CUBRID学习笔记 26 数据类型3cubrid教程

    接上面的集合 集合之 set 每个集合元素是不同的值, 但是类型只能是一种.也可以有其他表的记录 如下 CREATE TABLE set_tbl ( col_1 set(CHAR(1))); INSE ...

  9. C#学习笔记5:数据类型与进制转换

    1.C#: 8种整形类型.2种用于科学计算的二进制浮点类型.1种用于金融计算的十进制浮点类型. 2.Decimal是一种特殊的浮点类型,能够存储大数字而无表示错误. 常用于货币计算.在表示的所有十进制 ...

随机推荐

  1. Sde表结构分析

    原文 Sde表结构分析 今天开始想分析一下sde的表结构,希望能够弄明白sde一个要素类的每个Feature是如何存储的. 弄ArcSDE的人都知道,ArcSDE内一个要素类在关系数据库(以MS SQ ...

  2. dzzoffice的树型结构用户管理设计

    在DzzOffice1.1的开发中,针对用户使用群体重新设计了,机构.部门.用户管理应用. 传统OA,企业相关程序,一般是设置机构-设置部门-设置职位-添加用户这样的步骤.每个步骤分为不同的管理界面. ...

  3. 分布式数据库hbase详解

    新霸哥注意到了在人类随着计算机技术的发展,数据的存储量发生了很大的变化,可以用海量来形容,同时,存储的数据类型也是有多种多样的,网页,图片,视频,音频,电子邮件等等,所以在这中情况下以谷歌旗下的Big ...

  4. 安装VMware-tools的问题

    今天晚上解决了之前在跟着 Linux学习之CentOS(六)--CentOS下VMware-Tools安装 解压部分,cp 压缩文件时,没有通过命令,直接鼠标操作复制到/home/ranjiewen下 ...

  5. 【原创】MapReduce编程系列之二元排序

    普通排序实现 普通排序的实现利用了按姓名的排序,调用了默认的对key的HashPartition函数来实现数据的分组.partition操作之后写入磁盘时会对数据进行排序操作(对一个分区内的数据作排序 ...

  6. Bubble Sort

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  7. 通过AopTestUtils对切面对象进行mock

    概述   当对一个切面类进行测试时,由于Spring对切面对象生成了proxy对象,此时对切面对象使用ReflectionTestUtils赋值,操作的是proxy对象,而不是真实对象,会使得赋值出问 ...

  8. poj 1005 I Think I Need a Houseboat

    #include <iostream> using namespace std; const double pi = 3.1415926535; int main() { ;; doubl ...

  9. 第二百零四天 how can i 坚持

    我应该不会看错吧.最近媒体热炒小米衰落了,有必要那么大张旗鼓的报道吗?小米.华为,坚决看好小米.感觉华为品牌有些杂乱,在走三星的老路,小米有些苹果的影子,但是,多了个互联网.互联网... 未来孰优孰劣 ...

  10. C#反射实例化类并调用类的方法

    反射提高了程序的灵活性和扩展性,降低耦合性,提高自适应能力. 它允许程序创建和控制任何类的对象,无需提前硬编码目标类: SalBLL a = (SalBLL)Assembly.Load("B ...