格式化输出
printf()函数
作用
- printf(“字符串”);
- printf(“输出控制符”,输出参数); 如printf(“%d”,i);
- printf(“输出控制符1 输出控制符2 输出控制符3…”,输出参数1,输出参数2,输出参数3…); 注意:输出控制符与输出参数的个数必须一一对应;
- printf(“非输出控制符 输出控制符”,输出参数); 如printf(“i = %d”,i);
常用输出控制符如下: %d:——输出十进制整型 %ld:——输出十进制长整型 %i:——输出有符号十进制整型 %u:——输出无符号十进制整型 %o:——输出八进制整型 %c:——输出一个字符 %s:——输出一个字符串 %f:——输出float型 %lf:——输出double型 %g:——浮点数不显示无意义的“0” %x(或者%X、%#x、%#X):——其中,“#”符号代表在前面输出“0x”字符,输出十六进制整型 %p:——输出指针 %%:——输出字符%
<a name="l4bas"></a>
# 格式化输入
<a name="w38cv"></a>
## scanf()函数
<a name="hrioO"></a>
### 作用
- 通过键盘将数据输入到变量中。
<a name="i7LX9"></a>
### 两种用法
```c
1. scanf(“输入控制符”, &输入参数);——如:scanf("%d",&i);
将从键盘输入的字符转换成输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中
(如:&i,表示i的地址,&符是一个取地址符);
使用scanf()函数输入字符时,一般需要在前面增加空格,以防止读取数据出错,如下所示:
scanf(" %c",&ch); //%c前面需要增加一个空格,可以防止连续读取字符时,程序误读缓冲区的回车符
//scanf()输入%c时,每次只能读取一个字符
2. scanf("非输入控制符 输入控制符",输入参数);——如:scanf("m%d",&i);
将从键盘输入的字符转换成输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中
(用户输入时,非输入控制符必须原样输入);
scanf中不要输入‘\n’符,其无法起到换行作用,系统默认他为常规字符而非特殊符;