笔记(一)初识C++

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Wqh_lrr/article/details/78438003

输入输出

在C++中有这么一个iostream库,这个库包括两个基本类型istream和ostream,分别表示输入流和输出流,一个流就是一个字符序列,是从IO设备读出或写入IO设备,“流”表达的意思是,随着时间的推移,字符是顺序生成或消耗的。

标准输入输出对象

在标准库中定义了4个IO对象,为了处理输入,我们使用一个名为cin的istream类型的对象,这个对象被称为标准输入,对于输出,我们使用一个名为cout的ostream类型的对象,此对象被称为标准输出,标准库还定义了其他两个ostream对象,名为cerr和clog。我们通常使用cerr来输出警告和错误信息,因此它被称为标准错误,而clog用来输入程序运行时的一般信息。
系统通常将程序所运行的窗口和这些对象关联起来,因此,当我们读取cin数据将从程序正在运行的窗口读入,当我们像cout.cerr.clog写入数据时,将会写到同意个窗口。

下面让我们看一个例子:
#include <iostream>
int main()
{
std::cout << "Enter two number:"<< std::endl;
int v1 = 0,v2 = 0;
std::cin >> v1 >> v2;
std::cout << "The sum of" << v1 << "and" << v2<< "is" << v1+v2 <<std::endl;
return 0;
}
程序第一行告诉我们要使用iostream库,main函数第一条语句执行一个表达式,在C++中,一个表达式产生一个计算结果,它由一个或多个运对象和(通常是)一个运算符组成,这条语句的表达式使用输出运算符(<<)在标准输出打印消息:  
std::cout << "Enter two number:"<< std::endl;
<<运算符接受两个运算对象;左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。此运算符将给定的值写到ostream对象中,输出运算符的计算结果就是其左侧运算对象,就是说,计算结果要写入给定值的那个ostream对象中。
这条输出语句使用两个<<运算符,因为此运算符返回左侧的运算对象,因此第一个运算符的结果成为第二个运算符的左侧运算对象,这样我们就可以将输出请求连接起来,
上述表达式等价于
(std::cout << "Enter two number:")<< std::endl;
链中 每个运算符的左侧运算对象都是相同的,在这个例子中是std::cout,我们也可以用两条语句生成相同的输出:
std::cout << "Enter two number:"
std::cout << std::endl;
第一个输出运算符给用户打印一条消息,这个消息是一个字符串字面常量,是用一对双引号包围的字符序列,在双引号之间的文本被打印到标准输出。
第二个运算符打印end,这是一个被称为操纵符的特殊值,写入endl的效果是结束当前行,并将与设备关联的缓冲区中的内容刷到设备中,缓冲刷新操作可以保证到目前为止程序所产生的所有输出都是真正写入输出流中,而不是仅停留在内存中等待写入流。

使用标准库中的名字

前面我们使用std::cout 和std::endl ,而不是直接使用cout和endl,前缀std::指出名字cout和endl是定义在名为std的命名空间中的,命名空间可以帮助我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突,标准库定义的所有名字都在命名空间std中。
这里通过命名空间使用标准库也有一个副作用,当使用标准库中的一个名字时,必须显式的说明我们想使用的是来自命名空间std的名字,例如,需要写出std::cout,通过使用作用域运算符(::)来指出我们想使用定义在命名空间std中的名字cout,
聪明的前辈自然是发现这个副作用,所以他们给出一个更简单的访问标准库名字的方法,使用 using 来声明。简单来说就是,在程序中使用标准库的什么名字,就在程序前面 写上。
using std::(name)
//上面的程序我们这样写
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
cout << "Enter two number:"<< endl;
int v1 = 0,v2 = 0;
cin >> v1 >> v2;
cout << "The sum of" << v1 << "and" << v2<< "is" << v1+v2 <<endl;
return 0;
}

从流读取数据

int v1 = 0,v2 = 0;
这两个变量定义为int 类型,int 是一种内置类型,用来表示整数,还将他们初始化为0,初始化一个变量,就是在变量创建的同时为它赋一个值 。
std::cin >> v1 >> v2;
它读入数据,输入运算符(>>)与输出运算符类似,它接受一个istream 作为其左侧运算对象,接受一个对象作为其右侧运算对象,它从给定的istream读入数据,并存入给定对象中,与输出运算类似,输入运算符返回其左侧运算对象作为其计算结果,所以,上述表达式等价于:
(std::cin >> v1 )>> v2;
由于此运算符返回其左侧运算对象,因此我们可以将一系列输入请求合并到一个单一语句中,它于下面两个语句是等价的
std::cin >> v1 ;
std::cin >> v2;

注释简介

C++中注释界定符不能嵌套
/*
*注释对/**/不能嵌套
*“不能嵌套”几个字会被认为是源码
*像剩余程序一样处理
*/
注释的最好方式,是单行注释//, 单行注释的任何内容(包括嵌套注释)都会被忽略,

猜你喜欢

转载自blog.csdn.net/Wqh_lrr/article/details/78438003