【C++读书笔记】001-输入输出流、取整、引用和指针

每天看几页C++书,并总结知识点。

目录

1. 读取数量不定的输入while(cin>>n)

2. 输入输出流

3. C++取整

4. 引用

5. 指针


1. 读取数量不定的输入while(cin>>n)

比如预先不知道要给多少个数求和时,使用while(cin>>n)进行判断。比如输入的是整数,那么直至遇到不是整数的才跳出循环。其他的无法跳出循环。

#include <iostream>
using namespace std;
int main()
{
    int sum=0;
    int n,m;
    while(cin>>n)
        sum+=n;
    cout<<sum<<endl;
    return 0;
}

2. 输入输出流

>>表示输入运算符,即cin>>n,将输入流cin中的数据赋给n;

<<表示输出运算符,即cout<<n,将右侧给定的对象n的值赋给输出流cout。

endl是一个操纵符,用处是结束当前行,并将缓冲区的内容刷新到设备中。如cout<<n<<endl,首先将缓冲区输出流cout的数据刷新到屏幕上,然后结束当前行。

3. C++取整

round:四舍五入

ceil:向上取整

floor和int:向下取整

4. 引用

引用即别名,它不是一个对象,只是一个已知的对象起的另一个名字。

int sum=3;
int &n=sum;

比如n就是sum的引用,其中一个值改变,另一个值也会改变,被绑定在一起。

(1)引用不是对象,所以引用不能绑在引用上

(2)引用只能绑在对象上,不能绑在字面值(常量)或者表达式的计算结果

5. 指针

指针跟引用有所不同:

(1)指针本身是一个对象,允许赋值和拷贝(但是也必须指向对象,不能指向常量);

(2)无需在定义时赋初值(野指针,随便指向谁);

需要注意,指针指向一个元素,赋值用取地址符&

int a=1;
int *n=&a;
*n=*n+2;

需要注意:

(1)定义时赋值用int *n=&a,后面赋值时去掉*:n=&a;

(2)利用指针访问对象:如果指针指向了一个对象,则允许通过解引用符(*)来访问对象。此时*p跟对象是等价的,改变*p就是改变对象的值

后面时用*是解引用符:*p表示变量,即p指向的变量。此时*p跟变量是等价的,改变*p就是改变变量的值

(3)定义空指针:即什么也不指向

int *a=0;
int *b=NULL;
int *c=nullptr;

注意:是指针p为0,不是指针值*p为0

(4)指针可以多次赋值,即改变其指向的对象;

引用不能改变:改变引用就是改变对象的值。

(5)void *a:void类型的指针。指向一个不知道什么类型的对象,只能用来输出地址,不能用来操作。

总结:

今天看了以下内容:

(1)读取不定量输入:使用while(cin>>n),直到输入不匹配时停止

(2)输入输出流:没啥重点;

(3)C++取整:四种;

最后两个重点:

(4)引用:等价于另一个对象的别名,本身不是一个对象,不能改变引用

(5)指针:本身是一个对象,指向另一个对象,可以通过自己改变指向对象的值,也可以指向别的对象,可以为空

指针重点用于调用函数时传参数使用,改变实参本身的值!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值