C++语言教程(详解,会更新)——第3篇:智能的输出和输入流

本文深入讲解C++中的输入输出流概念,包括C风格与C++风格的区别,重点介绍输出流对象cout、clog及cerr的使用,以及输入流对象cin的应用。并通过编程挑战,引导读者实践输入名字并输出问候语。

对于本系列声明

版权声明

copyright 2019 XyloZebra 原创,请勿抄袭!
转发请注明原贴位置
悄悄地告诉你:这名字分为Xylo和Zebra,是我真名的首字母组成的单词!

系列内容声明

  • 这个系列适合想学C++的菜鸟或略懂一些的人,大佬请绕路而行。
  • 这个系列基本涵盖所有C++基础知识。
  • 参考文献:《零基础学C++》吉林大学出版社
                      百度百科

文章链接

上一篇:Hello,C++
第一篇:计算机语言的崛起

正文

C++与C不同,C++引入了许多比较高级和智能的概念。如面向对象、泛型编程等…而我们今天要学习的C++输出和输入流就是基于面向对象的。

C风格的输出

C的面向过程是注重整个程序的过程的,通俗一点,就是把万物的动作,规律定义成函数。你调用我,我调用你,完成整个过程。如,C的输出是这样的:

#include <stdio.h>

int main()
{
	printf("%s","Hello World!");
	return 0;
}

C把输出看作是一种过程,所以C使用printf函数进行输出。

C++风格的输出

C++的面向对象思维,使得C++中几乎万物都是对象,既一个个体。
输出也不是一个输出过程,而是由一个输出流对象(可以理解为输出器)来进行输出。如下:

#include <iostream> //必须要引用输入输出流的头文件

using namespace std; //流对象被定义在std命名空间内

int main()
{
/* 注意cout是流对象,输出流 */
/* 输出需要用到两个向左的尖括号 */
	cout<<"Hello ostream!"<<endl; //endl代表回车换行
	return 0;
}

注意:使用输出流可以不一定将文字输出在命令行中,因设备而异。

C++的输入流

C的scanf输入函数就不多说了,毕竟大家是在学C++嘛!
那么读者们是否想实现一个程序,让你输入数字,再存储呢?
这就要用到输入流啦!
输入流和输出流一样,也是一个对象。不过输入流控制着输入。
不多说,上代码!

#include <iostream>
/* 同样需要引用头文件,使用std命名空间 */
using namespace std;

int main()
{
	int myinput; //定义变量,下一节会讲到,用来存储输入的数据
	cin>>myinput; //用cin输入流,要用到两个向右尖括号
	return 0;
}

这里定义了一个myinput变量用于存储输入进来的东东。
再使用cin来进行输入。

C++的其他输出流对象

除了经典的cout,其实还有其他的输出流对象,他们结果相同,但不同的流对象有助于我们阅读程序。
输入流对象只有一个:cin。

#include <iostream>

using namespace std;

int main()
{
	clog<<"日志:发生错误"<<endl; //记录
	cerr<<"错误:001"<<endl; //输出错误
	return 0;
}

编程挑战

你能使用C++风格的输入输出流对象,实现输入名字,输出:

Hello,名字

提示:C++有字符串类型,需要引用string头文件和使用std命名空间。
如:string yourname;定义一个字符串型。
当然,略懂的同学也可以使用字符数组或字符指针。

写代码网站1(菜鸟工具)
写代码网站2(cpp shell)

代码参考

#include <iostream>
#include <string>

using namespace std;

int main()
{
	cout<<"输入您的名字"<<endl;
	string name;
	cin>>name;
	cout<<name<<endl;
}

预习&课外作业

下一节:变量类型的那些事儿
请同学们预习:C++变量

课外作业:
能否实现,用C风格的scanf函数和printf函数来实现编程挑战?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值