优秀的编程知识分享平台

网站首页 > 技术文章 正文

初识C++输入输出(c++基本的输入输出)

nanyue 2024-10-11 13:42:22 技术文章 36 ℃

C++没有直接定义进行输入输出的任何语句,这种功能是由标准库提供的。

本文的例子使用了处理格式化输入输出的iostream库,iostream的基础是istreamostream,分别是输入流和输出流。流是从某种IO设备上读取或写入的字符序列。

标准库定义了4个IO对象,其中istream类型的对象有一个,命名为cin,这个对象被称为标准输入。ostream类型对象有三个,分别是cout、cerr、clog,cout是标准输出,cerr是标准错误,clog用于产生程序执行的日志。

一般情况下,从cin读入时,数据从执行程序的窗口读入,写入到cout、cerr、clog时,会写入同一窗口。运行程序时,Linux提供了重定向输入输出流的方法,可以通过重定向将这些流与所选择的文件联系起来。

现在来看一个例子,从标准输入读入两个数,然后输出它们的和。

#include <iostream>

int main () {

std::cout << "Enter two numbers:" << std::endl;

int x, y;

std::cin >> x >> y;

std::cout << x << "+" << y << "=" << x+y << std::endl;

return 0;

}

程序先在用户屏幕输出:

Enter two numbers:

然后等待用户输入。如果用户输入

1 2

加一个换行符,程序输出:

1+2=3

程序第一行是预处理指令

#include <iostream>

告诉编译器要使用iostream库。尖括号里的名字是头文件。程序使用库时必须包含相关的头文件。头文件名必须和#include处于同一行。

main函数中第一条语句执行了一个表达式。C++中表达式由操作数和操作符组成。

std::cout << "Enter two numbers:" << std::endl;

这个语句用了两次输出操作符,每个操作符都接受两个操作数,左操作数必须是ostream对象,在该句中为cout,右操作数是要输出的值。操作符将其右操作数写入左操作数的ostream对象。

C++每个表达式都会产生一个结果,std::cout << "Enter two numbers:" 的结果是std::cout,所以

std::cout << "Enter two numbers:" << std::endl;

等价于

std::cout << "Enter two numbers:";

std::cout << std::endl;

endl是个特殊值,将它写入输入流时,会换行,并刷新与设备相关联的缓冲区,使用户立即看到写入到流中的输出。

std是标准库名字,std::表明cout 和endl是定义在namespace std 中的,使用命名空间,可以避免无意中使用了与库中所定义的名字相同的名字而引发冲突。

int x, y;

定义了两个未初始化的int类型变量。

这两个变量在首次使用时会读入一个值,故可以没有初始值。

下一条语句读取输入

std::cin >> x >> y;

输入操作符行为与输出操作符类似。它从istream 操作数中读取数据,保存到右操作数中。该语句等价于

std::cin >> x;

std::cin >> y;

效果是从标准输入读取两个值,将第一个存入x,第二个存入y。

std::cout << x << "+" << y << "=" << x+y << std::endl;

用于输出结果,表达式x+y是对x y的值相加,返回的是相加之后的和。

Tags:

最近发表
标签列表