一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情。
printf函数
- 头文件:stdio.h
- 原型:int
printf(const char *format, ...) - format: 格式控制字符串
- d:输出有符号的十进制整数
- c:输出一个字符
- s: 输出一个字符串
- f:用来输出实数(包括单、双精度、长双精度),以小数形式输出
- 基本型:%f,实数中的整数部分全部输出,小数部分输出6位
- 指定数据宽度和小数位数,用%m.nf 如%7.2 指定输出的数据占7列,包括2位小数,其后一位采取四舍五入方法处理
- 输出的数据向左对其,用%-m.nf 当长度不超过m时,数据向左靠,右端补空格
- e %e 以指数形式输出实数
- 其他格式符
- ...:可变参数列表
- 返回值:输出字符的数量
scanf函数
- 头文件:stdio.h
- 原型:int scanf(const char *format, ...)
- format:格式控制
字符串 - ...:可变参数列表
- 返回值:成功读入的参数个数
使用scanf函数时应注意的问题:
- scanf函数中的格式控制后面应当是变量地址
- 如果在格式控制字符串中除了格式声明以外还有其他字符,则在输入数据时在对应的位置上应输入与这些字符相同的字符。如
scanf("a=%f,b=%f,c=%f", &a, &b, &c);
// 输入数据时,应在对应的位置上输入同样的字符,即输入
a=1,b=2,c=3
输入数值时,在两个数值直接需要插入空格(或其他分隔符),以使系统能区分两个数值。在连续输入字符时,在两个字符之间不要插入空格或其他分隔符(除非在scanf函数中的格式字符串中有普通字符,这时在输入数据时要在原位置插入这些字符),系统能区分两个字符
-
在用"%c"格式声明输入字符时,空格字符和“转义字符”中的字符都作为有效字符输入
-
在输入数值数据时,如果输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束
putchar函数
字符输出函数,输出字符变量c的值,输出的是一个字符
一般形式:putchar(c)
getchar()函数
字符输入函数,没有参数,从计算机终端(一般是键盘)输入一个字符,即计算机获得一个字符。返回值就是从输入设备得到的字符,只能接收一个字符
练习
#include <stdio.h>
int main() {
// // 将华氏法表示的温度(如64°F),转换为以摄氏法表示的温度(如17.8°C)——转换公式 C = 5/9(f-32)
// float f, c; // 定义f和c为单精度浮点型变量
// f = 64.0;
// c = (5.0/9)*(f-32);
// printf("f=%f\nc=%f", f, c);
int a, b;
while(scanf("%d%d", &a, &b) != EOF) { // EOF: 文件描述符 end of file EOF => -1
printf("%d + %d = %d\n", a, b, a + b);
}
return 0;
}
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf(" has %d digits\n", printf("%d", n));
return 0;
}
#include <stdio.h>
int main() {
// 使用printf函数,求解一个数字n的十进制表示的数字位数
int n;
scanf("%d", &n);
n = printf("%d", n);
printf(" has %d digtis\n", n);
return 0;
}
printf函数家族
- printf:向标准输出
- sprintf:向字符数组输出 s:string
- fprintf:向文件输出 f:file