C语言本身不提供输入输出的相应功能,C语言中的输入输出功能均由“C语言标准输入输出库”来提供。
#include<stdio.h> //引入输入输出库
printf:格式化输出函数
- 格式化字符串:包含格式转换说明符的字符串
- 参数列表:往格式化字符串中替换的参数
int a = 13, b = 15;
printf("%d + %d = %d\n", a, b, a+b);
格式化字符串:"%d + %d = %d\n"
参数列表:a, b, a+b
- 格式转换说明符
- %d : (*)int
- %ld : long
- %u : (*)unsigned int
- %lu : unsigned long
- %x %X : 整数的十六进制形式(0x1f)
- %o :整数的八进制形式(017)
- %c:(*)char
- %f:(*)float/double
- %lf:long double
- %e:以科学计数法的形式输出
- %s:字符串
- %p:指针地址
- 格式转换说明符输出类型一定要与后面的参数相匹配,如果不匹配,结果是未定义的。
- 格式字符串中格式转换说明符的数量一定与后面的参数数量相匹配,如果不匹配,结果是未定义的。
- 控制浮点数输出时精度的位数
float p = 3.1415926F;
printf("%.2f",p);//输出小数点后两位
- 控制输出时的最小宽度
- 右对齐:printf("%4d", a);不够4位左边补空格,大于4位按实际输出。
- 左对齐:printf("%-4d", a);不够4位右边补空格,大于4位按实际输出。
scanf:格式化输入函数
- 按照指定格式在输入数据中解析所需数据。
- scanf函数需要知道保存数据的变量的地址,使用时需要传递变量的地址。
- 获取变量的地址:&取地址符
- scanf在匹配输入格式时,匹配不到\n,所以scanf中不要去写\n。
- scanf匹配格式时,自动跳过空格、换行、制表符。
- scanf()执行后,会返回一个整数值,表示成功读取到几个值。
- 对于double数据类型:
- printf中:%f
- scanf中:%lf
putchar/getchar
- putchar():在命令行中输出一个字符。
- getchar():在命令行中读取一个用户输入的字符。
- getchar()在读取时不会忽略任何字符。
- 发现用户没有输入字符,等待用户输入。
- 暂停当前程序执行的效果。