目录
一、输入函数
getchar()从标准输入读取一个字符,成功时返回读取的字符(ASCII码),失败时返回-1。
scanf() 进行格式化输入,可以读取各种数据类型(整数、浮点数、字符串等)。
例如,用 scanf 输入两个 char 类型变量,并输出:
cpp
#include <iostream>
using namespace std;
int main()
{
char a, b;
scanf("%c %c", &a, &b);
printf("a是%c, b是%c", a, b);
return 0;
}

二、输出函数
(一)占位符
printf 和 cout 都是用于输出,但在语法和使用方式上有很大区别,不过printf 函数格式化更灵活。
cout << 数据1 << 数据2 << 数据3; // cout - 流操作符
printf("格式字符串", 参数1, 参数2, 参数3); // printf - 函数调用
这里的格式字符串可以用占位符%来使用,可以理解成占位置,代表这个位置有一个数据类型占用了。
cpp
#include <iostream>
using namespace std;
int main()
{
printf("成绩为:%d分,等级:%c",100,'A');
return 0;
}

常用的占位符如下:

如下代码:
cpp
#include <iostream>
using namespace std;
int main()
{
int a = 10;
char ch = 'A';
char str[] = "Hello world!";
printf("%d\n", a);
printf("%c\n", ch);
printf("%s\n", str);
printf("%p\n", &a); // 指针地址(变量底子)
printf("%p\n", &str[2]); // 指针地址(数组元素地址)
return 0;
}

(二)精度控制
可以通过printf函数来进行精度控制,如下代码:
cpp
#include <iostream>
using namespace std;
int main()
{
double value = 3.1415;
char str[] = "Hello";
printf("%.3f\n", value); // 保留3位小数
printf("%.3s\n", str); // 字符串前3个字符:Hel
printf("%6.2f\n", value); // 宽度6,精度2: 3.14
return 0;
}
