在之前的 hello world 中,我们曾经用 printf 来输出 Hello World。其实这个函数的主要作用就是输出,那么他除了输出一句话之外,还可以输出变量和常量,我们来看一个程序
可以将 printf 的调用参数分为两部分,第一部分是""扩住的部分,这里我们通常叫做 format 部分,就是格式部分,写明要打印的格式,其中的 %d 是一个占位符,表示这个地方实际上是有一个数字的,那么这个数字是什么的?就要看第二个部分了,我们可以看到第二个参数是 a,那么这个 a 就会替换前面 format 部分的 %d 占位符,所以最后程序输出的就是 a: 99
#include <stdio.h> int main(int argc,char **argv) { int a = 99; int b = 98; printf("a: %d, b: %d", a, b); return 0; }
只要写两个占位符就行了,程序运行输出 a: 99, b: 98
#include <stdio.h> #include <iostream> int main(int argc,char **argv) { int a = 99; int b = 98; std::cout << "a: " << a << ", b: " << b << std::endl; return 0; }
输出结果 a: 98, b: 99
cout 相对 printf 来说,更易用一些,只需要将想要输出的内容用 << 连接起来就好了。
我们可以通过 printf 向控制台输出内容,也同样可以使用控制台向程序输入内容。输入内容,就需要用到一个函数scanf
。
我们先来看个例子:
#include <stdio.h> int main(int argc,char **argv) { int a = 0; scanf("%d", &a); return 0; }
在上面的程序中,当程序运行到 scanf("%d", &a); 这一句的时候,程序会停下来,此时你可以在黑框框里输入一个数字,然后按回车。程序就会把你输入的数字赋值给变量 a,然后继续执行。
当然,你也可以一次输入两个值:
#include <stdio.h> int main(int argc,char **argv) { int a = 0; int b = 0; scanf("%d, %d", &a, &b); return 0; }
这样就可以输入两个值了,由于"%d, %d"中间写的是逗号,所以输入的两个值要用逗号隔开。
除了 scanf 之外,还有一种输入数据的方式,就是 cin,我们先看一个 cin 的例子
#include <stdio.h>
#include <iostream>
int main(int argc,char **argv)
{
int a = 0;
int b = 0;
std::cin >> a >> b;
return 0;
}
使用 cin 可以连续从键盘读取想要的数据,以空格、tab键或换行符作为分隔符。cin 相对于 scanf 来说,不需要指明类型,用起来更方便一些。