printf深入浅出详解及应用

printf函数是格式化输出函数, 一般用于向标准输出设备(显示器、控制台等终端)按规定格式输出信息可以方便有效的打印输出所需要的信息及内容;在应用printf函数时需要添加包含stdio.h的头文件。

printf的原型函数为:int printf ( const char * format,  ... )

printf的调用格式为:printf("格式化字符串", 参量表)

格式化字符串包含三类信息:

普通字符:普通字符即需要在输出时原样输出的字符。

格式字符:格式字符由“%”引导,如%d、%f等;作用是控制输出字符的格式;按照一定格式输出;%后面跟着各种格式控制符,以说明输出数据的类型、宽度、精度等)。

转义字符:格式控制字符串里的转义字符按照转义后的含义输出,如换行符“\n”等。

参量表:需要输出的一系列参数,要求必须与格式化字符串在数量和类型上应该一一对应,参数间以”,”分开。

printf函数中的格式字符:

序号

格式字符

说明

1

d

输出带符号的十进制整数,正数的符号省略

2

u

以无符号的十进制整数形式输出

3

o

以无符号的八进制整数形式输出,不输出前导符0

4

x

以无符号十六进制整数形式(小写)输出,不输出前导符0x

5

X

以无符号十六进制整数形式(大写)输出,不输出前导符0X

6

f

以小数形式输出单、双精度数,隐含输出6位小数

7

e

以指数形式(小写e表示指数部分)输出实数

8

E

以指数形式(大写E表示指数部分)输出实数

9

g

自动选取f或e中输出宽度较小的一种使用,且不输出无意义的0

10

c

输出一个字符

11

s

输出字符串

在格式字符前面加上“%”引导,就可以转变为格式控制字符,如%d、%c等

printf函数中的格式修饰符:

序号

格式修饰符

说明

1

英文字母l

修饰格式字符d、u、o、x时,用于输出long型数据

2

英文字母L

修饰格式字符f、e、g时,用于输出long double型数据

3

英文字母h

修饰格式字符d、o、x时,用于输出short型数据

4

输出域宽m

指定输出项输出时所占的列数

5

显示精度.n

对于实数,表示输出n位小数;对于字符串,表示截取的字符个数

6

-(减号)

输出数字或字符在域内向左靠

转义字符:

字符

说明

字符

说明

\a

铃声(提醒)

\b

Backspace

\f

换页

\n

换行

\r

回车

\t

水平制表符

\v

垂直制表符

\’

单引号

\”

双引号

\

反斜杠

\?

文本问号

\ ooo(例如:\024)

ASCII字(OC X)

\xhh(例如:\x20)

ASCII字符(HEX)

\xhhhh

宽字符(2字节HEX)

printf的例子如下:

1.普通字符输出,无参量表

例如:

#include<stdio.h>

int main(){

printf("Hello world");

return 0;

}

编译后运行输出:

Hello world

2.普通字符输出+转义字符,无参量表

例如:

#include<stdio.h>

int main(){

printf("Hello world\n");

printf("Welcome\n");

return 0;

}

编译后运行输出:

Hello world

Welcome

3.普通字符输出+格式字符+转义字符,有参量表

例如:

#include<stdio.h>

int main(){

int Val=100;

printf("Val的值为%d\n",Val);

return 0;

}

编译后运行输出:

Val的值为100

4.指定数据宽度和小数位输出个数并向右对齐

如%m.nf,m表示输出数据的宽度,即占m列,n表示小数点后保留n位小数。(若不需强调输出数据宽度,可直接用%.nf)

例如:

#include<stdio.h>

int main(){

double Val=1.0;

printf("%18.13f\n",Val/3);

return 0;

}

编译后运行输出:

   0.33333333333333

5.指定数据宽度和小数位输出个数并向左对齐

如%m.nf,m表示输出数据的宽度,即占m列,n表示小数点后保留n位小数。(若不需强调输出数据宽度,可直接用%.nf)

例如:

#include<stdio.h>

int main(){

double Val=1.0;

printf("%-18.13f\n",Val/3);

return 0;

}

编译后运行输出:

0.33333333333333

6.输出单个字符和字符串,有参量表

例如:

#include<stdio.h>

int main(){

char ch = 'a';

   char* Val = "Hello world";

   printf("%c\n",ch);

printf("%s\n",Val);

return 0;

}

编译后运行输出:

a

Hello world

注意:格式控制字符串中有%引导的格式字符时,输出值参数表中的数量以及类型必须和格式字符一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值