一、变量名

几条简单的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. sessionFactory.getCurrentSession()的引出

    当业务逻辑中需要开启事务执行,业务逻辑也要调用底层操作数据库的函数,那函数也要开启事务操作. 如果用sessionFactory.openSession()的话会引起处理不在同一个事务中,会造成出错. ...

  2. 浅谈Android五大布局——LinearLayout、FrameLayout、AbsoulteLayout、RelativeLayout和TableLayout

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建 筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLa ...

  3. Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法

    问题描述 使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository ...

  4. Intellij IDEA开发第一个Android应用

    1.创建一个项目 File——>New Project——>.......——>Finish 2.创建模块 3.MyActivity.java package com.example ...

  5. 【Unity入门】场景、游戏物体和组件的概念

    版权声明:本文为博主原创文章,转载请注明出处. 游戏和电影一样,是通过每一个镜头的串联来实现的,而这样的镜头我们称之为“场景”.一个游戏一般包含一个到多个场景,这些场景里面实现了不同的功能,把它们组合 ...

  6. bzoj 3594 [Scoi2014]方伯伯的玉米田(DP+二维BIT)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3594 [题意] 给定一个n个数的序列,有K次将一个区间内的数加1的机会,问最长不下降子 ...

  7. log4net--帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具

    1. log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 2. Log4net的结构如下 ...

  8. leetcode–jump game II

    1.题目描述 Given an array of non-negative integers, you are initially positioned at the first index of t ...

  9. Masonry 实现输入框随键盘位置改变

    Github: https://github.com/saitjr/MasonryDemo 直接上代码: #import "ViewController4.h" #import & ...

  10. 想要完全导入swc中的所有类

    其实还有个这个办法.修改参数.-include-libraries library [...] 强制导入SWC文件中的所有类,不管是否曾使用过这个类 (((比如把swc文件放到src里,然后编译参数加 ...