【printf】

一、基本用法:

printf将参数文本输出到屏幕,f — (format)

例如,想要输出“I am cool !!!”

# include < stdio.h >
int main ()
{
printf ("I am cool !!!");
return 0;
}

运行后光标会停留在输出结束的地方,如果想要光标停在下一行,可以使用转义字符\n (换行)。

二、占位符

指这个位置可以用其他值来代入。

占位符的第一个字符都是%,第二个字符是占位符的类型(整形,浮点型,字符串,等等)。

例子:想要输出there are 2 bottles of water
正常情况下,可以这样输入:

# include 
int main()
{
printf ("there  are  2  bottles of water \n");
return 0;
}

我们也可以用到占位符:

# include 
int main ()
{
printf("there are  %d   bottles of water \n", 2);
return 0;
}

这里的%d就是占位符,2 是一个整形,所以使用%d,2就替换了%d

输出的结果是一样的。

如果不想限定数字是几:

# include 
int main ()
{
int a=0;
scanf ("%d",&a);
printf ("there are %d bottles of water \n", a);
return 0;
}

此时你在编译器上输入是几,就是几。

常用的占位字符除了%d,%s也可以。

例如,我想输出:Yang Di is really handsome

# include 
int main ()
{
printf ("%s is  really handsome","Yang Di");
return 0;
}

同理,如果我们也可以想在编译器上输入是谁,就是谁。

输出文本里可以使用多个占位字符。

# include 
int main()
{
printf ("%s drank %d bottles of water","LiHua",2);
return 0;
}

输出的结果是:LiHua drank 2 bottles of water

两个占位字符,第一个占位字符是%s,第二个占位字符是%d,分别对应的是printf的第二个参数LiHuaprintf的第三个参数 2。有第一个参数是%s drank %d bottles of water

所以:printf() 参数与占位符是⼀⼀对应关系,如果有 n 个占位符, printf() 的参数就应该有 n +1个,如果参数个数少于对应的占位符,printf() 可能会输出内存中的任意值。

三、占位符还有许多:

%a :⼗六进制浮点数,字⺟输出为⼩写。
%A :⼗六进制浮点数,字⺟输出为⼤写。
%c:字符。
%d :⼗进制整数。
%e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写。
%E:使⽤科学计数法的浮点数,指数部分的 E 为⼤写。
%i:整数,基本等同于 %d
%f :⼩数(包含float类型和 double 类型)。
%g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e
为⼩写。
%G :等同于 %g ,唯⼀的区别是指数部分的 E 为⼤写。
%hd :⼗进制short int类型。
%ho :⼋进制short int类型。
%hx :⼗六进制short int类型。
%huunsigned short int类型。
%ld :⼗进制long int类型。
%lo :⼋进制long int类型。
%lx:⼗六进制long int类型。
%luunsigned long int类型。
%lld :⼗进制 long long int类型。
%llo :⼋进制long long int类型。
%llx :⼗六进制 long long int类型。
%lluunsigned long long int类型。
%Le :科学计数法表⽰的long double类型浮点数。
%Lflong double类型浮点数。
%n:已输出的字符串数量。该占位符本⾝不输出,只将值存储在指定变量之中。
%o :⼋进制整数。
%p :指针。
%s :字符串。
%u :⽆符号整数(unsigned int)。
%x :⼗六进制整数。
%zd size_t 类型。
%%:输出⼀个百分号。

(该表来自哔哩哔哩博主:鹏哥C语言)

还没有结束,还有后续哟~~

你可能感兴趣的:(c语言)