[2018年最新整理]C语言输入输出函数printf与scanf的用法格式
C语言输入输出函数printf与scanf的用法格式
printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。下面详细介绍这两个函数的用法。 一、printf()函数 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: printf("", ); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式字符, 以"%"开始, 后跟一个或几个字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。
printf("a=%d b=%d",a,b);
1. 格式符Turbo C2.0提供的格式化规定符如下:━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号 作用────────────────────────── %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 % 无符号以八进制表示的整数 %g 自动选择合适的表示法━━━━━━━━━━━━━━━━━━━━━━━━━━
字符说明l用于长整型数或双精度实型,可加在格式符d、o、x、u和f前面m(代表一个正整数)数据最小输出显示宽度n(代表一个正整数)对实数,表示输出n位小数;对字符串,表示截取的字符个数。-输出的数字或字符在域内向左靠,即位数不足时右补空格。 说明:
① %d。按十进制整型数据的实际长度输出。
② %md。M为指定的输出字段宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。例如:
printf("%4d,%4d",a,b);
若a=123,b=12345,则输出结果为
_123,12345
③ %ld。输出长整型数据,例如
long a=135790;
printf("%ld",a);
如果用%d输出,就会发生错误,因为整型数据的取值范围为-32768~32767。对于long型数据应当用%ld格式输出。对长整型数据也可以指定字段宽度,如将上面printf函数中的“%ld”改为“%8ld”,则输出为
_ _ 135790
一个int型数据可以用%d或%ld格式输出。
o格式符。以八进制整数形式输出。由于是将内存单元中的各位的值(0/1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。例如:
int a=-1;
printf("%d,%o",a,a);
-1在内存单元中的存放形式(以4个字节补码形式存放)如下:
输出为
-1,37777777777
不会输出带负号的八进制整数。对长整型(long型)可以用“%lo”格式输出。同样可以指定字段宽度,例如:
printf("%13o",a);
_ _ 37777777777
x格式符。以十六进制数形式输出整数。同样不会出现负的十六进制数。例如:
int a=-1;
printf("%x,%o,%d",a,a,a);
输出结果为
ffffffff,37777777777,-1
同样可以用“%lx”输出长整型数,也可以指定输出字段的宽度,例如“%12x”。
u格式符。用来输出unsigned型数据,即无符号数,以十进制整数形式输出。
一个有符号整数(int型)也可以用%u格式输出;反之,一个unsigned型数据也可以用%d格式输出。按相互赋值的规则处理。Unsigned型数据也可以用%o和%x格式输出。
c格式符。用来输出一个字符。例如:
char c='a';
printf("%c",c);
输出字符‘a’,请注意:“%c”中的c是格式符,逗号右边的c是变量名,不要混淆。
一个整数,只要它的值在0~255范围内,也可以用“%c”
使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;反之,一个字符数据也可以用整数形式输出。例如:
char c='a';
int i=97;
printf("%c,