C语言怎么用printf输出字符串。

2020-04-25 科技 102阅读


C语言怎么用printf输出字符串

printf函数的一般格式
printf(格式控制字符串,输出表列);
以图1所示为例。
图1.


函数参数包括两部分:
【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。
它包括两种信息:


●格式说明项:由%和格式字符组成,如%d,%f等。格式说明总是由%字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式说明项。


● 普通字符:即需要原样输出的字符,如逗号和换行符。


【2】输出列表,是需要输出的一些数据项,可以是表达式。
例如:假如a=3,b=4,那么printf("a=%db=%d",a,b);,输出a=3b=4。其中两个 “%d”是格式说明,表示输出两个整数,分别对应变量a,b。“a=”,“b=”是普通字符,原样输出。


由于printf是函数,因此,格式控制字符串和输出表列实际上都是函数的参数。printf函数的一般形式可以表示为:
printf(参数1,参数2,参数3,…,参数n)

printf函数的功能是将参数2到参数n按照参数1给定的格式输出。

【3】格式字符 (构成格式说明项)
对于不同类型的数据项,应当使用不同的格式字符构成的格式说明项。常用的有以下几种格式字符:(按不同类型数据,列出各种格式字符的常用用法)


【d格式符】用来输出十进制整数。有以下几种用法:
● %d,按照数据的实际长度输出。
● %md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则左端补以空格(右对齐);若大于m,则按照实际位数输出。
● %-md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则右端补以空格 (左对齐);若大于m,则按照实际位数输出。
● %ld,输出长整型数据,也可以指定宽度%mld。

【o格式符】以八进制形式输出整数。注意:是将内存单元中的各位的值按八进制形式输出,输出的数据不带符号,即将符号位也一起作为八进制的一部分输出。


例如:
inta=-1;
printf("%d,%o,%x",a,a,a);
-1的原码:1000,0000,0000,0001。
-1在内存中的补码表示为:
1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff
输出:-1,177777,ffff


【s格式符】用来输出一个字符串。有以下几种用法:
● %s,输出字符串。
● %ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则左补空格 (右对齐)。
● %-ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则右补空格 (左对齐)。
● %m.ns,输出占m列,但只取字符串左端n个字符,左补空白 (右对齐)。
● %-m.ns,输出占m列,但只取字符串左端n个字符,右补空白 (左对齐)。


【 f 格式符】用来输出实数 (包括单、双精度,单双精度格式符相同),以小数形式输出。有以下几种用法:
● %f,不指定宽度,使整数部分全部输出,并输出6位小数。注意,并非全部数字都是有效数字,单精度实数的有效位数一般为7位 (双精度16位)。
● %m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,左端补空格(右对齐)。
● %-m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,右端补空格(左对齐)。


【 e 格式符】以指数形式输出实数。可用以下形式表示:
● %e,不指定输出数据所占的宽度和小数位数,由系统自动指定。如6位小数,指数占5位,-e占1位,指数符号占1位,指数占3位。数值按照规格化指数形式输出 (小数点前必须有而且只有1位非0数字)。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com