首页 > 技术文章 > C++ Primer学习笔记D1

ljwgis 2020-03-19 22:38 原文

  今天开始学习C++ Primer这本书。首先是书的第一章 开始部分。为了编译C++代码,下载安装了MinGW和LLVM,然后使用VS CODE进行编译。

  C++没有定义输入输出(IO)语句,书中使用了iostream库提供IO机制。iostream库包含istreamostream,表示输入流和输出流,一个流就是一个字符序列,流表达的思想是随着时间的推移,字符按顺序生成或消耗。

1.  这里我们使用cin的istream类型的对象,这被称为标准输入。使用cout的ostream类型的对象,被称为标准输出。此外还有cerrclog分别输出错误信息和普通信息。

  <<输出运算符,其左侧是ostream对象,右侧是要打印的值。运算符把给定的值写入ostream对象,打印出来。返回值为左侧运算对象。

  >>输入运算符,左侧是istream对象,右侧是运算对象,其从给定的istream读入数据,存到对象中。返回值为左侧运算对象。

  std::cout\std:endl,std是命名空间,::是作用域运算符。写入endl的效果是结束当前行,这是个操纵符。

std::cout<<"the sum of"<<v1<<"and"<<v2
               <<" is " << v1+v2 <<std:end1;

//这里由于<<返回值是左侧的运算对象,所以可以看做是多个单独的运算符合并到一起
//同理有下面这个,按流连续读入数据赋值

std::cin >>v1>>v2

2.  控制流(while/for/if)

#include <iostream>
int main()
{
    int sum=0,val=1;
    while (val<=10) {
            sum+=val;
            ++val;
      }
       std::cout <<"sum is "
                       << sum <<std::endl;
      return 0;
}
#include <iostream>
int main()
{
    int sum=0;
    for (int val=1:val<=10;++val)
            sum+=val
    std::cout<<"sum is"
                   << sum <<std::endl;
    return 0;
}
#include <iostream>
int main()
{
    int currVal = 0,val = 0;
    if (std::cin>>currVal) {   //第一个输入
        int cnt=1;
        while (std::cin>>val){  //按流读取下面的输入
            if (val==currVal)
                ++cnt;
            else {
                std::cout << currVal << "occurs"
                          <<cnt<< "times"<<std::endl;
                currVal=val;
                cnt=1;
            }
        }
        std::cout << currVal<<"occurs"
                  <<cnt<<"times"<<std::endl;
    }
    return 0;
}

2020/3/19,Page17。

推荐阅读