a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 236|回复: 3

[Word] 职称计算机辅导:字符串格式定义

[复制链接]
发表于 2012-8-2 09:36:47 | 显示全部楼层 |阅读模式
职称计算机《word2003》知识点:字符串格式定义' O, W) @2 b. I4 j1 y
字符串格式定义' `; I. y+ [  \+ f* F
printf()函数
8 m0 H6 L: x! B5 K5 Xprintf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:
5 s0 f% B# V, h2 N4 y) Q$ y7 vprintf("", );
7 I$ l& F% ]; C9 @$ X) `其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。2 X" p' O4 h# }! [5 v, `
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。
, {  V, P) {' `# b, Q4 f$ pformat-string 的形式:%[flags][width].[precision] [{h|l|i|232|264}] type9 c: X- K# N- O7 O- g
[flags]----->{   - ,      + ,      0,   # ,       blank }: l; b# C; ^2 J
left align , sign,     补0   ,   输出前加空格
5 `6 ]" |+ U. Z6 E9 S5 t[width]----->输出的最少字符数
# H: u% S+ |  M2 |! @8 p+ g6 j[precision]----->
" `0 X8 V. J$ g6 ?- x{c,C          :无影响。
) p8 n( h5 a& L& U6 g. w{d,i,u,o,x,X :输出字符的最少个数,如果个数不够,则在前面补0。$ q6 G  F+ v; F! n7 B% D
{f            :指定'.'后输出字符个数,如果precision为0或无,则无小数。& J- B$ ?6 g1 _/ u! v
{s,S          :输出字符的最大个数,缺省输出到NULL结束。$ v9 c& j1 f) ~( Q0 q
" S& V3 R. S, w1 _- H
[{h|...|264}]---->指定后面参数的大小。
回复

使用道具 举报

 楼主| 发表于 2012-8-2 09:36:48 | 显示全部楼层

职称计算机辅导:字符串格式定义

</p>1. 格式化规定符- Q& X5 z8 y. R4 l7 `; S' R
Turbo C2.0提供的格式化规定符如下:0 `5 W0 E: g  d3 q1 J
━━━━━━━━━━━━━━━━━━━━━━━━━━. W. x, n) ^! c1 K
符号                  作用0 N' h0 W& m& @. R' x- X5 B$ O
──────────────────────────
- e2 D2 O  L% Z0 @%d              十进制有符号整数6 Z# }8 X4 E! N( I5 z1 Z2 Q( n
%u              十进制无符号整数1 z! B3 T# G. w7 P7 a
%f              浮点数3 t1 ]( V+ v) a# t
%s              字符串& |9 ^& ~; F2 d7 n
%c              单个字符6 m& U( a: Z/ U- B3 B8 l3 T
%p              指针的值
2 \6 k2 d' s5 n%e              指数形式的浮点数
! o/ C0 J- X( W- ^8 ?' J5 E%x, %X          无符号以十六进制表示的整数
) Y. a( O* O4 O% D%0              无符号以八进制表示的整数
% m( a( ?( m- e1 P%g              自动选择合适的表示法
- f+ n2 @( I, S9 H! n9 s━━━━━━━━━━━━━━━━━━━━━━━━━━
6 a9 e% Y4 d, ]$ x4 }
. |( k) A" @" [' A- N说明:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-2 09:36:49 | 显示全部楼层

职称计算机辅导:字符串格式定义

</p>(1). 可以在"%"和字母之间插进数字表示最大场宽。" d2 E+ R8 ~% F( g' C9 j! s
例如: %3d   表示输出3位整型数, 不够3位右对齐。%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,小数点占一位, 不够9位右对齐。%8s   表示输出8个字符的字符串, 不够8个字符右对齐。
: {  B& E' r, W8 j5 M0 f* h$ q' q如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。3 s2 Q  }; a/ Q& H$ v
另外, 若想在输出值前加一些0, 就应在场宽项前加个0。7 B6 |. p) q$ S% u2 w  _* C
例如:   %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。
' B8 \# i  G  m& z如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度,小数点前的数字代表最小宽度。
2 S: s" O8 W$ q0 g例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。4 _+ R4 [) C; J, N
(2). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。
# K' W" [* s  P( Y例如:   %ld   表示输出long整数%lf   表示输出double浮点数5 L. `! C3 f' x/ f
(3). 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可说明输出为左对齐, 否则为右对齐。2 V3 B/ P: T: I% `# E
例如:   %-7d 表示输出7位整数左对齐 %-10s 表示输出10个字符左对齐6 Y6 f' H+ i3 n$ |! j9 U
2. 一些特殊规定字符
' ^0 _1 X! C* o, h* r1 d━━━━━━━━━━━━━━━━━━━━━━━━━━
2 G+ ]* o' ?% g) [( z: ]* l' J( h, N字符                           作用
) f& ]! U- A: U- Y──────────────────────────- F9 b3 b5 l7 ?; h7 q; x" F1 V
\n                   换行9 ^/ p) l. z+ C5 r. h8 L8 G! k5 e
\f                   清屏并换页
% r$ d6 t! y- j5 n9 V# o* M\r                   回车
) q# D1 v3 f3 f1 y+ g5 S4 C/ \6 m" B1 o\t                   Tab符
2 Y! z3 x, @$ @+ s\xhh                 表示一个ASCII码用16进表示,
- t) j1 H8 X! {  H( ?* U2 P其中hh是1到2个16进制数2 X7 D! H5 D& O5 u3 k5 Y
━━━━━━━━━━━━━━━━━━━━━━━━━━
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-2 09:36:50 | 显示全部楼层

职称计算机辅导:字符串格式定义

讨论:例如串口接收单片机发送的16进制的数据,则我们要这样接收:</p>byte buf[56];
9 {1 L1 ^4 ^+ G% ?4 yrecv(comm->handle,buf);
( t8 R0 b: ?+ ^; Q9 d6 `! |buf[strlen(buf)]=0;//打上结束标志$ G5 Q! ~* M3 `2 w- t/ ~
//将接收的数字转化为16进制串9 X) j, J! Q- F* B( O% _
char *pstr=new char[256];
3 Q8 ?( Q: y) Z/ D  g0 Q1 `byte *pb=&buf[0];
, z; \# V: N# awhile(!pb)
- L& B6 ^9 o; @, e. Zsprintf(pstr++,"%02x",*pb++);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-6 03:11 , Processed in 0.230515 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表