Printf ()和scanf ()函数
Printf ()和scanf ()函数能够使人和程序进行通讯,它们被称为基本输出和输入函数,但是它们不是C一部分,这样作可以提高C程序的可移植性。虽然它们一个是输出函数一个是输入函数但是它们的工作几乎相同,都是采用控制字符串和参数列表。
Printf () 打印指令请求的类型,取决于变量的类型,而不是转换说明符。转换说明符只是起到一个如何把数据类型转换成可显示的形式。
转换说明符和作为结果的打印输出
转换说明
|
输出
|
%a
|
浮点数、十六进制数字和p-记数法
|
%A
|
浮点数、十六进制数字和P-记数法
|
%c
|
一个字符
|
%d
|
有符号十进制整数
|
%e
|
浮点数e-记数法
|
%E
|
浮点数 E-记数法
|
%f
|
浮点数 十进制记数法
|
%g
|
根据数值的不同自动选择%f或%e,%e格式在指数小于-4或大于等于精度时使用
|
%G
|
根据数值的不同自动选择%f或%e,%e格式在指数小于-4或大于等于精度时使用
|
%i
|
有符号十进制数和%d相同
|
%o
|
无符号八进制
|
%p
|
指针
|
%s
|
字符串
|
%u
|
无符号十制数
|
%x
|
使用十六进制数字of的无符号十六进制整数
|
%X
|
使用十六进制数字oF的无符号十六进制整数
|
%%
|
打印一个百分号
|
//4-6.c------- 使用转换说明符
#include <stdio.h>
#define PI 3.141593
int main (void)
{
int number = 5;
float expresso = 13.5;
int cost = 3100;
printf ("The %d CEOs drank %f cups of expresso.\n",number,expresso);
printf ("The value of pi is %f .\n",PI);
printf ("Farewell ! thou art too dear for my possesessing,\n");
printf ("%c%d\n",'$',2 * cost);
return 0 ;
}
Printf ()的使用格式 : printf (Control---string,item1.item2,…);
Item1 item2等等都是要打印的项目,它们可是变量,常量,还可以是打印前进行计算的表达式。控制字符串是一个描述项目如何打印的字符串,控制字符串应该为每个要打印的项目包含一个转义说明符.控制字符串就是双引号内的语句,它包括两种不同的信息即实际要打印的字符和转换说明。
控制描述 变量列表
▼ ▼
Printf (
|
“You look great in %s\n”
|
,
|
color
|
):
|
Printf () 的参数
“The value of is
|
%f
|
.\n”
|
∣--- 文字字符 ---∣----转换说明---∣--文字字符--∣
一个控制字符串的结构
Print () 的转换说明修饰符
Printf () 修饰符
修饰符
|
意义
|
标志
|
五种标志(-,+,空格,#的0)
|
digit (s)
|
字段宽度的最小值,如果该字段不能容纳要打印的数或字符串,系统就是使用更宽的字段
|
.digit(s)
|
精度。对于%e %E %f转换,是将要在小数点的右边打印的数字的位数,%g 和%G转换,是有效数字的是最大位数。对于%s的转换,是将要打印的字符最大数目,对于整数的转换,是将要打印的数字的最小位数。如果有必要前导用零来达到这个位数。只使用。表示其后跟随一个零。
|
h
|
和整数转换说明符一起使用表示,short int 或者是unsigend short int 类型数值
|
hh
|
和整数转换说明符一起使用表示 signed char 或者是 unsigned char 类型数值
|
j
|
和整数转换说明符一起使用表示intmax_t或者是uintmax_t值
|
l
|
和整数转换说明符一起使用表示一个long int 或者是unsigned long int类型值
|
ll
|
和整数转换说明符一起使用表示一个long long int 或者是unsigned long long int
|
L
|
和浮点数说明符一起使用表示一个long double
|
t
|
和整数转换说明符一起使用表示一个ptrdiff_t
|
z
|
和整数转换说明符一起使用表示一个sixe_t
|
在使用 float 数据类型时都会被自动的转换为double 类型。
Printf ()的标志
标志
|
意义
|
-
|
项目左对齐;会把项目打印在字段的左则开始处
|
+
|
有符号的值若为正,则显示带加号的符号,若为负,则带减号的符号
|
空格
|
有符号的值若为正,则显示时前导空格,若为负,则带减号的符号
|
#
|
使用转换说明的可选形式,若为%0格式则以0开始;若为%x和%X则以0x或0X开始。对于所有的浮点形式,#保证了即使不跟任何数字,也打印一个小数点字符,对于%g和%G格式它防止尾零被删除
|
0
|
对于所有的数字格式,用前导零而不是用空格填充字段宽度,如果出现了-标志或指定了精度则忽略该标志
|
转载于:https://blog.51cto.com/ghskdq/1008622