C++primer 习题知识点 1-7章

第一章 开始

1. 对比for循环和while循环,两种形式的优缺点各是什么?

在for循环中,循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况

在while循环中,循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。

两种形式各有优点,但它们在功能上是等价的,可以相互转换。

 

【术语】:

【类(class)】一种用于定义自己的数据结构及其相关操作的机制。

【数据结构(data structure)】数据及其上所允许的操作的一种逻辑组合。

【头文件(header)】使类或其他名字的定义可被多个程序使用的一种机制。

C++是一种静态类型(statically typed)语言,其含义是在编译阶段检查类型。其中,检查类型的过程称为类型检查(type checking)。

 

第二章 C++基础

1. C++ guarantees short and int is at least 16 bits, long at least 32 bits, long long at least 64 bits.

The signed can represent positive numbers, negative numbers and zero, while unsigned can only represent numbers no less than zero.

The C and C++ standards do not specify the representation of float, double and long double. It is possible that all three implemented as IEEE double-precision.

2. 首先了解一下字符串的前后缀:

 

前缀:u:unicode16字符;U:unicode32字符;L:宽字符;u8:utf-8;

后缀:u或U:表示该字面值为无符号类型; l或L:表示该字面值的类型至少为long

ll或LL:表示该字面值的类型至少为long long ; f或F:表示该字面值为float类型

前后缀可以交叉结合使用:后缀UL时,表示无符号长整型。

字符用单引号‘’,字符串用双引号“”。

十进制:20   八进制:020    十六进制:0x20或者0X20

 

3. 默认初始化的三条性质:

(1)定义在任何函数体外的变量会被初始化为0。

(2)定义在函数体内部的变量不会被初始化。

(3)类的对象未被初始化,则初值由类决定。

 

4. 声明:使得名字为程序所知,如果想使用该变量,则必须实现包含其声明。声明会确定变量的名字和类型。定义:创建于名字关联的实体。定义会申请存储空间,可能会赋予初始值。如果想声明一个变量而不想定义它,那么可以在变量名前加extern关键字。

 

5. 关于命名:字母+数字+下划线(必须以字母或者下划线开头)

C++中关于变量命名的规范:

1:能体现变量的实际意义

2:变量名一般采用小写字母

3:用户自定义变量名可以以大写字母开头

4:多个单词定义的变量名应有区分Student_loan   而不是  Studentloan

 

6. 指针与引用

int i =10;

int &j = i;      //&符号紧随类型名出现,它是声明的一部分,j是一个引用。

int *p;        //*符号紧随类型名出现,它是声明的一部分,p是一个指针。

p = &i;        //&符号出现在表达式之中,是一个取地址符号。

*p = i;        //*符号出现在表达式之中,是一个解引用符

int &j2 = *p;   //&是声明的一部分,*是解引用符。

指针与引用的区别:指针本身就是一个对象,允许指针之间的拷贝和赋值,也可以在其生命周期指向不同的对象;而引用不行。指针无需在定义时赋值。

 

7. 给定指针p,不能知道其是否指向了一个合法的对象;因为不知道指针是否有效。

 

8. void定义了一个空指针,可以接受任意类型的对象

 

9. 指针与const:(1)指向常量的指针:要想存放变量的地址,必须使用指向常量的指针:const int *p;(2)常量指针:指针自身是一个对象,不可变。int *const p = &pi   (常量指针必须初始化!!!);(3)指向常量的常量指针。const  int *const p (不仅指针本身不可变,指针所指对象也不可变)。

 

10. 顶层const(top-level const)表示指针本身是个常量;底层const(low-level const)表示指针所指的对象是一个常量。顶层const:指的是本身不可以被改变;底层const:指的是自身所指对象不可以被改变

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值