让计算机说话:cout和printf的使用
字符串常量
什么是字符串?微信聊天,QQ聊天,使用的都是字符串。在C/C++中字符串使用英文输入法下的双引号 " " 来表示。
打个比方:“吾乃上将潘凤” 类似这样用英文双引号表示的句子在C/C++中就是字符串,并且是字符串常量,字符串常量中的内容永远不会发生变化。
#include <iostream> //c++标准输入输出头文件
#include <stdio.h> //c语言标准输入输出头文件
#include <Windows.h> //调用system()的头文件
int main(void){
std::cout << "吾乃上将潘凤" << std::endl; //c++方式输出字符串常量,并换行
printf("吾乃智囊苟安\n"); //c语言方式输出字符串常量,并换行
system("pause"); //调用system()来使控制台暂停
return 0;
}
命名空间的使用
诸位应该看到上面代码中C++输出的代码中总有std:: 的出现。那么std:: 是什么呢?专用术语管他叫命名空间 。
#include <iostream>
#include <string> //std::string类型的头文件
namespace China {
float population = 14.1; //单位: 亿
std::string capital = "北京";
}
namespace Japan {
float population = 1.27; //单位: 亿
std::string capital = "东京";
}
using namespace std;
int main(void) {
cout << "首都:" << Japan::capital << endl;
cout << "人口:" << Japan::population << endl;
cout << "首都:" << China::capital << endl;
cout << "人口:" << China::population << endl;
system("pause");
return 0;
}
以上面代码为例,命名空间China和命名空间Japan里都有相同的变量population和capital,那么我们的主函数中为了区分二者,使用Japan:: 和China:: 来加以区分,同理std:: 也是为了防止重名所做的必要的区分。
不过我们在开发中为了提升效率通常在使用命名空间里的一些函数或变量之前,加上一句using namespace std; 这样我们在使用cout或者endl就不必在费劲敲 std:: 了。