对于本系列声明
版权声明
copyright 2019 XyloZebra 原创,请勿抄袭!
转发请注明原贴位置
悄悄地告诉你:这名字分为Xylo和Zebra,是我真名的首字母组成的单词!
系列内容声明
- 这个系列适合想学C++的菜鸟或略懂一些的人,大佬请绕路而行。
- 这个系列基本涵盖所有C++基础知识。
- 参考文献:《零基础学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函数来实现编程挑战?

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

被折叠的 条评论
为什么被折叠?



