读c++primer笔记

本文详细介绍了C++中的变量处理,包括变量命名规则、整型(如signed和unsigned)、浮点数类型(float、double和long double)、字符类型(char及通用字符名)以及布尔类型bool。讨论了位和字节对可移植性的影响,以及不同类型的初始化方法。此外,还讲解了const限定符、浮点数的优缺点和类型转换。
摘要由CSDN通过智能技术生成

第二章 处理数据

c++ 变量分类:

  • 基本类型

       算数类型

    • 整型
      • 符号整型 signed char,short,int,long,long long
      • 无符号整型 char,unsigned short,unsigned int,unsigned long,unsigned long long
      • bool类型
      • wchar_t,char16_t,char32_t
    • 浮点型 、
      • float,double,long double

        指针类型

    • 空类型 void
  • 复合类型
    • 数组
    • 字符串
    • 结构体
    • 共用体(联合体)
    • 指针类型
    • 模板类

1、简单变量

1.1变量名

命名规则:

  1. 名称只能用字母、数字、下划线
  2. 名称第一个字符不能为数字
  3. 区分大小写
  4. 不能使用c++关键字做名称
  5. 以两个下划线(__)及下划线+大写字母(_B)打头的名称保留给实现(编译器及其使用的资源)使用
  6. 一个下划线打头的名称被保留给实现,用作全局标识符(使用后编译器不会报错,但会导致行为的不确定性,不知道结果会是什么)
  7. c++对名称长度没有限制,但有些平台有长度限制

1.2 整型

1.2.1基本整型:

  1. char
  2. short 至少16位
  3. int 至少与short一样长
  4. long 至少32位 且至少与int一样长
  5. long long 至少64位 且至少与long一样长

每种类型又分为signed和unsigned。

每种类型最多能够表示4种不同的整数宽度(用于描述存储整数时使用的内存量,使用的内存量越多,则越宽)

1.2.2 位和字节

位(bit)是计算机内存的基本单位,8位内存块可设置256种不同组合(unsigned 可表示0~255,signed 可表示-128~127),16位可以有65536种不同组合......

字节(byte)通常指8位的内存单元。是描述计算机内存量的度量单位(1KB = 1024byte  1MB = 1024KB)。

c++中的字节 由至少能够容纳实现的基本字符集 的相邻位组成,即每个字节必须能够表示 采用的字符集中 最大的字符。通常ASCII字符集和EBCDIC字符集 字符集包含的字符数<256 所以用8位容纳即可,而Unicode编码比较大,因此实现需使用16bit,甚至32bit的字节。

1.2.3 字节大小对可移植性的影响

当前很多系统都使用最小长度 即short 16位,long 32位 但对int提供多种选择 其宽度可以是 16位、24wei、32位甚至可以是 64位(这时long至少也为64位)。

通常在老式pc机中int为 16位,windows中int为32位(与long相同)。这可能在将c++程序从一种环境移植到另一种环境时(包括统一系统的不同编译器)时引发问题。

可通过sizeof运算符来返回类型或变量的长度,单位为字节(不同系统中字节表示的位数可能不同,在一个系统中,2个字节的int 可能是16位(8bit = 1byte),在另一个系统中,可能是32位(16bit = 1byte))。

在climits头文件中,包含了关于整型限制的信息:

    

climits文件中的实现:

#define INT_MAX 32767

        #define 为预处理器编译指令,表示在编译前,先将INT_MAX 替换为 32767 后再编译。#define 也可定义自己的符号常量,它为C中遗留下来的,c++中可通过const关键字来创建符号常量,故不常使用#define。但是,被设计成同时用于C和C++的头文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值