更新时间:2015-09-30 15:00:00浏览次数:1+次
printf("输出的内容,%d",14);
printf是函数名,声明在stdio.h中,当然,iostream头文件的一层层的包含中(即一个头文件中包含一个头文件),最终包含了cstdio头文件。而在cstdio头文件中,有这么一句代码:using _CSTD printf;
这个代码就是导入printf标识符的意思,而这个标识符的声明是在标准命名空间中的,导入之后,就可以直接使用了。这就是为什么虽然只包含了iostream头文件就可以使用C语言的这些函数了。这是C++语言出于兼容C语言的做法。因为很多学习C++语言的人是从C语言转入的,或者有时候有使用C语言这些函数的必要。从这里你可以看到了C++语言是C语言的超集的冰山一角,也就是C++语言不仅涵盖了C语言的语法,思想和库函数的使用等,还发展出了很多C语言没有的东西,比如面向对象,而C语言的部分就成了C++的一部分了。这也就是超集的说法来源。当前处理的卡号:34
当前处理的卡号:35
当前处理的卡号:36
那么此时,我们并不需要每次都全部输出一遍,而只需要变化后面的数字即可。那么C语言提供了一个格式化的功能,就是可以在字符串中,加入保留符号%然后紧接着一个字母,就组成了一个格式输出特定组合。比如%d表示的是输出一个十进制的整数。
那么我们在大量的循环输出一个显示时,只需要不停的更换要显示的数字即可。而这个数字,就和双引号中的格式化输出特定组合一一对应,这样就可以将要输出内容按照格式化组合代表的意思输出。不同的格式化组合,输出的效果是不一样的。比如10这个数字,你让它按照十进制输出,就是10两个字符。如果按照十六进制输出,则是A。诸如此类。虽然,原始内容一样,但是看到的却不一样。所以,格式化组合你必须记得清清楚楚,不能写错。而格式化输出一部分见下图:
而这些还只是其中一部分哦。而要记忆这些,可是比较麻烦的,反正我的记忆不好,现在也记不住几个,反正,用的时候再查,不过要是能记得清楚,那肯定是最好的。不然每次查,也是挺麻烦的。而要输出的要被格式化的内容,则是在printf的第二个参数开始的。printf第一个参数的双引号中有多少个格式化组合,第一个参数后面就需要多少个被输出的内容,而这个内容可以是任何可以输出的东西。为了不给初学者造成压力,这里不讲专业术语的表达式之类的。
所以,如果你要输出三个数字,可以这样:
printf("第一名:%d 第二名:%d 第三名:%d",100,98,88);
这里就将三个数字格式化到了三个格式化输出组合的位置,最终替换了%d这个格式化组合,而%d表示的就是十进制整数。所以最后输出的就是:第一名:100 第二名:98 第三名:88
当然这个是看似没有必要,而如果要不断的改变后面的数字,就可以达到改变输出的内容了。你不需要每次都修改双引号内的东西了。我们在程序中,肯定不会去输出这个数字这么简单,通常是输出一个变量的值。变量就是可以改变变量的值的东西,那么我们程序就可以不断的改变变量,然后格式化到字符串里,这样输出的内容就不断的改变了。cout<<"第一名:"<<100<<"第二名:"<<98<<"第三名:"<<88;
你只需要依次输出这些内容,然后在中间连接上要输出的内容即可。不必去管什么格式化,你给定的类型,cout就会按照这个类型来输出。多个字符串,使用<<连接就可以了。如果你要换行,可以在字符串中输出换行符\n即可。或者在<<后面输出endl标识符就可以了。比如:cout<<"第一名:"<<100<<endl;
cout<<"100\n":
以上两种都可以达到换行的效果,至于适用场合,\n适合后面没有接东西的换行,而endl则是最后面接了其他东西,导致不能直接在字符串中换行而使用。这样不用在最后面单独加入一个"\n"这样的,比如:cout"第一名:"<<100<<"\n";
这样虽然效果一样,不过,写起来就比较麻烦了。两个可以灵活使用。