《C++primer》第三章读书笔记

C++ Primer 第三章
面向对象编程(OOP)的本质是设计并扩展自己的数据类型。

内置的C++数据类型分为基本类型和复合类型。

基本类型分为整数和浮点数。

复合类型分为数组、字符串、指针和结构。

C++通过使用变量来存储数据。

简单变量
为把信息存储在计算机中,程序必须记录三个基本属性:

信息将存储在哪里
要存储什么值
存储何种类型的信息
1 变量名
C++提倡使用一种有含义的变量名。在命名变量时必须遵守以下规则:

在名称中只能使用字母字符、数字和下划线。
名称的第一个字符不能是数字。
区分大写字母和小写字母。
不能将C++关键字作为名称。
以两个下划线和下划线和大写字母大头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符。
C++对名称的长度没有限制,名称中所有的字符都有意义,但有些平台长度有限制。
最后一点和C99标准中有所不同,C99标准只保证名称的前63个字符有意义。

2 整型
整型有short、int、long、long long四种类型。

注:VC++6.0不支持long long型

short至少16位;
int至少与short一样;
long至少32位,且至少与int一样长;
long long 至少64位,且至少与long一样长。
不同的操作系统int的长度是不同的。

要知道系统中整型的最大长度,可以在程序中使用C++工具进行检查,sizeof可以实现该功能,sizeof返回到的是类型或变量的(字节)长度。

Climits(老式:limits.h)包含了关于整型限制的信息。

climits中的符号变量:
1)变量的初始化:

C++11中变量的初始化方式(可用于数组和结构,C98中也可用于单值变量):

int ham={24};

或者可以是:

int emus{7}

或者也可以是:

int roc={}; //roc=0
2) C++确定常量类型的方法

在int为16位,long为32位的系统上,20000为int型,40000为long型,3000000000为long long型。

通过后缀也可确定常量的类型,l,L代表long型;ll,LL代表long long型;还有ull,ULL,ul,lu,LU,UL等。通常使用大写,以免l和1混淆。

3)char类型:字符和小整数

char是专为存储字符而设计的。char是另一种整型。他足够长,能够表示计算机系统中所有的基本符号。

在美国,最常用的字符集是ASCII字符集。

C++使用的是其主机系统的编码——例如IBM大型机使用EBCDIC编码。

C++支持的宽字符类型可以存储更多的值,如国际Unicode字符集使用的值。

成员函数cout.put()
函数cout.put()是一个重要的C++OOP概念——成员函数的一个例子。

类定义了如何表示和控制数据。成员函数归类所有,描述了操纵类数据的方法。

比如说类ostream有一个put()成员函数用来输出字符。只能通过类的特定对象(比如cout对象)来使用成员函数。要通过对象来使用成员函数必须通过句点(.)将对象名和函数名称(put())连接起来。句点被称为成员运算符。cout.put()表示通过类对象cout来使用函数put()。

char字面值(转义字符)
每个字符有对应一个ASCII值。

有些字符不能很直接通过键盘输入到程序中。例如回车。同时双引号不能包含在字符串中。为此,C++提供了一种特殊的表示方法——转义序列。

2 const限定符
C++处理符号常量的办法:使用const定义。

例:const int Month=12;

const可以定义整型和浮点型等多种数据类型的符号常量。

这样就可以在程序中使用常量Month了。

常量如果被初始化后,其值是固定的,是无法修改的,若未给其赋值,则其值是位置的也是不可改变的。

常量的标记方法:

首字母大写:Month
以k打头:kmonth
其他……
3 浮点数
C++第二种基本数据类型:浮点数。浮点数能够用来表示带小数部分的数字。

计算机分两部分来存储浮点数。一部分用来表示值,一部分进行方法和缩小。如:34.1=0.341*100;真正的存储是以二进制进行缩放的。

浮点数的书写
浮点数的书写有两种格式。

第一种为常用的标准小数法:

12.34、-1010.121、-0.0000001;

第二种为E表示法:

2.14e+12、5.12E-12;

e和E均为可选的。

浮点类型
C++有三种浮点类型:float、double、long double。

有效位数的要求:float至少32位。double至少48位,且不少于float。这三种类型的有效位数可以一样多。

通常时,float为32位,double为64位,long double为80、96或128位。另外,这3种类型的指数范围至少是-37到37。

注:cout显示时会删除结尾的0显示。

浮点常量

后缀加f或F。

默认是double型。

4 C++算数运算符
C++提供了五种基本算数计算:加法、减法、乘法、除法和求模。每种计算均有两个操作数。

注:如果除法的两个操作数均为整数,则为整除。

求模的两个操作数必须均为整数,否则会报错。

类型转换
C++自动进行的类型转换:

将一种算术类型的值付给另一种算数类型的变量时,C++将对值进行转换。
表达式中包含不同的类型时,C++将对值进行转化。
表达式中包含不同的类型时,C++将对值进行转化。
将参数传递给函数时,C++将对值进行转换。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值