Printf输出:
(1) 输出的基本格式:
就是printf函数括号内的双引号内是什么,就输出什么。只是将格式说明(如:%d, %c等按照顺序用双引号后的变量替换表示)
例如:
Printf("%d%d",3, 6) 就输出:36
a = 6; Printf("%d,%d" ,5, a) 就输出5,6
a = 6; printf ("a = %d,b = %d", a, 5) 就输出a = 6, b = 5
总之,双引号内怎么写,就怎么输出,最后把格式说明与变量的值替换下就行了(就像最后一个例子中,分别用a的值和5替换了双引号中的2个%d)。
(2) 基本的格式字符:
1. d格式符 按十进制整型数据的实际长度输入;
2. i格式符 与d格式符一样,用的较少;
3. c格式符 用来输出一个字符;
4. s格式符 用来输出一个字符串;注意:在c语言中,这种方式只能输出字符串常量,不可以直接输出字符串变量。可以通过输出字符数组的方式输出字符串。
#include <stdio.h>
int main()
{
char a[10];
scanf("%s", a);
printf("%s", a);
return 0;
}
5. f格式符 用来输出实数(包括单、双精度),以小数形式输出。整数部分全部输出,小数部分输出前六位。注意:输出的数字并非全部数字都是有效数字。单精度实数的有效位数一般是6 ~ 7位,双精度的为15 ~ 16位。在有效位数后面的数字是没有任何意思的。
6. e格式符 用格式说明%e指定以指数形式输出实数。
(3) 输出数据格式控制:
1. %md。用来指定输出数据的宽度,m是指定的宽度,如果数据实际的位数小于m,则左端补空格;若大于m,则按实际位数输出。
2. %id。用来输出长整型。即:扩大输出量的范围。
3. %mc。用来指定输出字符数据的宽度m。
4. %ms。指定输出字符串的宽度。字符串本身长度大于m,则完整输出;小于m,则左端不空格。
%-ms。若串长小于m,则在m列的范围内,字符串向左靠,右端不空格。
%m.ns。输出占m列,但是只取字符串中左端n个字符。这n个字符靠右,左端补空格。
%-m. ns。与上面相同。只是字符靠左,右端补空格。
5. %m.nf。 指定输出的实数共占m列,其中有n位小数。如果数值长度小于m,则左端补空格。%-m.nf也基本相同,只是使输出的数值向左端靠,右端补空格。
6. %m.ne 和 %-m.ne。'-'与前面的意义相同。n指拟输出的数据小数部分的小数位数。
7. %g。用来输出实数。根据数值大小,自动选f格式或者e格式(取宽度最小的那个),且不输出无意义的零。