当前位置:C++技术网 > 精选软件 > C++语言零基础入门教程:2.7 标准输入scanf和cin的对比分析

C++语言零基础入门教程:2.7 标准输入scanf和cin的对比分析

更新时间:2015-10-02 00:59:33浏览次数:1+次

    上节课《C++语言零基础入门教程:2.6 标准输出printf和cout的对比分析》简单的讲解了标准输出的使用,介绍了包含iostream头文件就可以使用printf函数的原因。而本节课讲解的标准输入scanf也是同样的被导入标识符的,所以可以直接使用,导入的语句如下:
using _CSTD scanf;
     在前面讲解的命名空间知识时,已经介绍过。这里接着上节课讲解标准输入。而谈到输入,就要先说下变量。因为输入是输入到变量的。虽然变量这些知识将会在后续章节详细讲解,但是,要理解输入,不说一下变量,恐怕不好理解。就当做是先简单学习一下变量吧。
    变量,就是可以变化的一个标识符。这个符号代表了一个值,而这个符号代表的值,又可以在程序中改变,所以才有了变量的说法。对应的,就是常量,而常表示的恒定的意思,就是一直,永远的意思。那么这个标识符所代表的值,就一直固定的。
    那么变量有一种赋值方法就是从标准输入方式输入,也就是键盘输入。这个输入在C语言中,使用scanf输入,格式如下:
scanf("%d %d",&变量1,&变量2);
     第一个参数和printf类似,使用格式化组合格式化数据的,不过scanf中,在双引号,不要和printf一样输入其他字符。因为这个是用于获取数据,输入其他数据没有意义。当然,输入特定的字符有特定的意思,这个可以参考《C Primer Plus》的解释,书中解释很清楚了。不在此重复解释了。
    有多少个格式化组合,后面就要有多少个变量的地址。对于变量的地址的获得,使用取变量地址的操作符&,放在变量前面即可。那么其实这里和printf的格式化组合符号,是一样的。你不需要重复记忆,不过有些地方,会有一点点不一样。我如果不查的话,或许也会用错。然而,需要的时候,查询MSDN或者互联网,就可以了。
    不过,在C++语言中,提供的标准输入工具cin则很好的解决了这个问题。cin和cout一样,都是智能的工具,可以自动识别类型,然后将从键盘输入的数据存放到变量中。所以在此,你应该可以感觉到cin也是非常便捷的工具咯。
    下面给出cin的代码示例:
int i=0;
cin>>i;
cout<<i;

    这三句代码执行后,会提示你输入一个值,然后自动输出这个值。而在这个过程中,你并不需要写太多的东西,C++自动完成了很多细节,而且很智能。这里是给一个整型变量,如果你换做其他基本类型的,依然可以正确的输入和输出。而这个智能的实现,则是牵扯到后面的知识,就不在这里讲了。
    而cout和cin有<<和>>两个陌生的符号,你可以将它视为一个指定方向的操作符就可以了。后面会详细解释的,这里只作为感性的理解。cout和cin就像一个中转站一样的。经过cout的东西,都会输出到屏幕中,经过cin的东西,都会由键盘输入流进>>指定的变量中。而out代表出来,in代表进去,那么cout和cin这两个你也可以轻松的理解了。这个符号,你也就熟悉了。这些符号并不是随意乱取的名字,所以,你可以通过这个符号的名字组合,可以理解到它们的作用,这样就不需要记忆了。
    下面就用一个图来展示两个功能的示意:

     标准输入scanf和cin的对比分析,键盘,鼠标
    图中展示了数据的流向,从键盘流向cin,再由cin转到内存的变量空间中,然后变量的值或者常量的值(我统称为值)都经过cout输出到屏幕中。我想这个就可以体会到<<和>>的意思了吧。
    这里介绍的cin和cout只是简单的介绍,具体的使用,我们在介绍各个知识部分的时候,会讲解如何使用cout和cin来编写代码的。其实cin和cout的使用就很简单。