目录
Hello~下午好啊,告诉你们个事情:
今天?更
开始吧~
(长文预警!!!)
5.1 回顾cin和cout
前四章节,我们都对cin和cout有或多或少的了解,我们来回顾一下。
cout是一个ostream类对象,cin是一个istream类对象,分别进行输出和输入。
cout的格式:
cout << <输出变量/常量表达式>;
cin的格式:
cin >> <输入变量>;
好,回顾的内容不在多说,开始正文:
5.2 printf()
5.2.1 printf()和scanf()
学习过C语言的同学知道,printf()(print-format,格式输出)和scanf()(scan-format,格式输入)是C语言里的输入和输出工具,它们不同于输入/输出流,它们有一个新的名字,I/O(in/out)。
5.2.1.1 I/O的优缺点
优点:
输入输出效率高,直接把内容bia到控制台输出上,不同于输入/输出流的做法,把内容放在缓冲区,等快烂了再倒在控制台上。
缺点:
格式控制符一堆,难记,不兼容新版C++标准的东西,需要转换(例如把string类变成string.c_str()),容易写错类型然后输出一堆乱码。
- 小贴士:printf()和scanf()使用指针(pointer,以后将会讲到)输入/输出,所以你用整数控制符把double输出成int类型也没问题。
5.2.1.2 操作
先看printf()的格式:
printf(<格式控制字符串>,<输出元素队列>);
再分析程序:
//printf()的使用
#include <iostream>
#include <cstdio> //或者stdio.h
using namespace std;
int main() {
int t;
cin >> t;
printf("Today's water temperature is %d degree.", t);
return 0;
}
来看参数:
"Today's water temperature is %d degree." /*格式控制字符串*/, t /*输出元素队列*/
"Today's water temperature is %d degree."指的是我输出这一行,然后把%d替换为元素列表里的参数,它的作用是:
t,我先帮你占一下位,一会儿你来这个位置上。
对,就是这样。
可不是说什么类型都能用%d的,看一张表:
格式控制符 | 说明 |