探索C嘎嘎的奇妙世界:第二关---C++的输入与输出

发布于:2024-06-15 ⋅ 阅读:(118) ⋅ 点赞:(0)

1 C++的输入与输出:

        新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C++刚出来后,也算是一个新事物, 那C++是否也应该向这个美好的世界来声问候呢?我们来看下C++是如何来实现问候的呢?

        在 C++的不断发展中,出现了许多新的头文件,它们为编程带来了更多的便利和强大的功能。话不多说,请看代码:

#include<iostream>
using namespace std;

        在讲解上述代码之前,首先我们要引进一个新朋友<iostream>,我们可以理解为是c语言中<stdio.h> 的升级版本,功能和库方面,都更加全面,同时也是是 C++中极为重要的一个头文件!

        

        同时在上述代码中,我们还写了一行"using namespace std"这可是我们上期说过的命名空间展开啊,注意stdC++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中,说明在C++中头文件中的函数也被命名空间包起来了,这样就更方便,我们对其中的函数进行使用了~

ps:std是C++标准库的命名空间,如何展开std使用更合理呢?

1. 在日常练习中,建议直接using namespace std即可,这样就很方便。

2. using namespace std 展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型 /
/ 函数,就存在冲突问题。该问题在日常练习中很少出现,但是项目开发中代码较多、规模
大,就很容易出现。所以建议在项目开发中使用,像 std::cout 这样使用时指定命名空间 +
using std::cout 展开常用的库对象 / 类型等方式。

1 1 输出:

        下面引入正题,C++是怎么进行输出的呢?请看代码:

#include<iostream>

using namespace std;

int main()
{
    cout<<"Hello world!!!"<<endl;
    return 0;
}

在上述代码中:有一个这样"cout"和"endl"这两个陌生面孔,让我来为你们一一讲解

1.1.1 cout---预定义的的输出流:

        cout  (console output,控制台输出)是标准输出流对象。它可以通过使用操作符  <<  来依次输出各种类型的数据。我们可以用它输出整数、浮点数、字符串、字符等各种数据类型,例如:

cout << 10 << " " << 3.14 << " " << "Hello, C++!"<<endl;//   10 3.14 Hello, C++!

        它具有很强的灵活性和易用性,可以方便地将不同类型的数据组合在一起输出,并且输出的顺序与代码中指定的顺序一致。此外,还可以通过一些控制符来调整输出的格式,比如设置精度、换行等。 cout  是 C++中进行基本输出操作的重要工具,在程序开发中被广泛应用。

        那么endl的作用是什么呢?其实它可以等效为我们c语言中的换行符,有它就换行,没有就不用换行了

        接下来就让我们来看一下上述代码中"<<"这个操作符,不是我们C语言中的左移操作符吗?在这里当然不能这样理解,在C++中,我们赋予了它另外一种功能"插入运算符(Insertion Operator)"那我们就来了解一下这个操作符:

        "<<" 操作符通常被称为插入运算符(Insertion Operator)。它用于将数据输出到标准输出设备(通常是屏幕)。当使用 cout << 时,它会将右侧的值输出到屏幕上。<< 操作符可以连续使用,将多个值输出到同一行。它的主要作用是将数据从程序内部传递到外部输出设备,以便用户可以查看程序的运行结果。

1.2 输入:

        那么在C++中是怎么进行输入的呢?请看代码:

int i=0,j=0,k=0;
cin>>i>>j>>k;

        在上述代码中:我们又发现"cin"这样一个陌生的面孔让我来为你讲解:

1.2.1 cin---预定义的输入流:

        cin 是标准输入流对象,用于从标准输入(通常是键盘)读取数据。它是 iostream 库中的一个对象,可以使用提取运算符 >> 从输入流中读取数据,并将其存储到变量中。

        以下是 cin 的一些常见用法:
 
        1. 读取基本数据类型:可以使用 >> 运算符将输入流中的数据读取到基本数据类型的变量中,如整数、浮点数、字符等。

        2.读取字符串:可以使用 >> 运算符读取字符串,但它会在遇到空格或换行符时停止读取。如果要读取一整行字符串,可以使用 getline 函数。

        3.连续读取多个数据:可以使用 >> 运算符连续读取多个数据,每个数据之间用空格或换行符分隔。

        还有很多功能等后期再一一揭晓:

1.3  输入与输出的注意事项:

1. 使用 cout 标准输出对象 ( 控制台 ) cin 标准输入对象 ( 键盘 ) 时,必须 包含 < iostream > 头文件
以及按命名空间使用方法使用 std
2. cout cin 是全局的流对象, endl 是特殊的 C++ 符号,表示换行输出,他们都包含在包含 <
iostream > 头文件中。
3. << 是流插入运算符, >> 是流提取运算符
4. 使用 C++ 输入输出更方便,不需要像 printf/scanf 输入输出时那样,需要手动控制格式。
C++ 的输入输出可以自动识别变量类型。
5. 实际上 cout cin 分别是 ostream istream 类型的对象, >> << 也涉及运算符重载等知识,
这些知识我们我们后续才会学习,所以我们这里只是简单学习他们的使用。后面我们还有有
一个章节更深入的学习 IO 流用法及原理。
6. 早期标准库将所有功能在全局域中实现,声明在 .h 后缀的头文件中,使用时只需包含对应
头文件即可,后来将其实现在 std 命名空间下,为了和 C 头文件区分,也为了正确使用命名空间,
规定 C++ 头文件不带 .h ;旧编译器 (vc 6.0) 中还支持 <iostream.h> 格式,后续编译器已不支持,因
推荐 使用 <iostream>+std 的方式。

7.关于coutcin还有很多更复杂的用法,比如控制浮点数输出精度,控制整形输出进制格式等 等。因为C++兼容C语言的用法,这些又用得不是很多,我们这里就不展开学习了。后续再一一讲解~

        那么就有小伙伴要问了,那我们在C语言中学习的“printf”和"scanf"还可以继续使用吗?回答是:当然!C++兼容C语言嘛,但是旧的不去新的不来嘛,慢慢适应的过程!!!

        到此C++中的输入和输出就讲解完毕了,希望这篇博客能给您带来一些启发和思考!那我们下次再一起探险喽,欢迎在评论区进行讨论~~~

        


网站公告

今日签到

点亮在社区的每一天
去签到