c语言格式字符作用,C语言输入输出格式符

C语言输入输出格式符

(2010-03-23 21:42:04)

标签:

杂谈

printf函数(格式输出函数)

1.一般格式

printf(格式控制,输出表列)

例如:printf("i=%d,ch=%c\n",i,ch);

说明:

(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:

①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。

②普通字符,即需要原样输出的字符。

(2)“输出表列”是需要输出的一些数据,可以是表达式

(3)printf函数的一般形式可以表示为

printf(参数1,参数2,……,参数n)

功能是将参数2~参数n按参数1给定的格式输出

2.格式字符(9种)

(1)d(或i)格式符。用来输出十进制整数,有以下几种用法:

①%d,按整型数据的实际长度输出。

②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

③%ld(%mld 也可),输出长整型数据。

例如:long a=123456;

printf("%ld",a);

(2)o格式符,以八进制数形式输出整数。格式:%o,%mo,%lo,%mlo都可。

(3)x(或X)格式符,以十六进制数形式输出整数。格式:%x,%mx,%lx,%mlx都可。

(4)u格式符,用来输出unsigned型数据,即无符号数,以十进制数形式输出。格式:%u,%mu,%lu都可。

参见:li4-3.c

(5)c格式符,用来输出一个字符。格式:%c,%mc都可。

(6)s格式符,用来输出一个字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。

参见:li4-5.c

(7)f格式符,用来输出实数(包括单、双精度),以小数形式输出。格式:%f,%m.nf,%-m.nf都可。

注意:单精度实数的有效位数一般为7位,双精度为16位。

参见:li4-6.c

li4-7.c

li4-8.c

(8)e(或E)格式符,以指数形式输出实数。格式:%e,%m.ne,%-m.ne都可。

(9)g(或G)格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种)。

3.说明

(1)除了X、E、G(用大写字母表示)外,其他格式字符必须用小写字母;

(2)“格式控制”字符串内可以包含转义字符;

(3)如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示,如:

printf("%f%%",1.0/3);

(4)格式字符表参见下表

表4.1 printf格式字符

格式字符 说 明

d,i 以带符号的十进制形式输出整数(正数不输出符号)

o 以八进制无符号形式输出整数(不输出前导符0)

x,X

以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出

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

c 以字符形式输出,只输出一个字符

s 输出字符串

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

e,E 以指数形式输出实数

g,G 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0

表4.2 printf的附加格式说明字符

字符

说明

字母l

用于长整型整数,可加在格式符d、o、x、u前面

m(代表一个正整数)

数据最小宽度

n(代表一个正整数)

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

(二)

c语言不提供输入输出语句,输入输出操作是由c的库函数完成。但要包含头文件stdio.h。 putchar( )

向终端输出一个字符 printf( )的格式字符: ① d格式符 用来输出十进制整数 %d 按整型数据的实际长度输出 %md

使输出长度为m,如果数据长度小于m,则左补空格,如果大于m,则输出实际长度 %ld 输出长整型数据 ② o格式符 以八进制形式输出整数

③ x格式符 以十六进制形式输出整数 ④ u格式符 用来输出unsigned型数据,以十进制形式输出 ⑤ c格式符 用来输出一个字符

⑥ s格式符 输出一个字符串 %s 输出实际长度字符串 %ms 输出的串占m列,如果串长度小于m,左补空格,如果大于m,实际输出

%-ms输出的串占m列,如果串长度小于m,右补空格, %m.ns 输出占m列,但只取字符串中左端n个字符并靠右对齐 %-m.ns

m、n含义同上,靠左对齐,如果n>m,则m自动取n值 ⑦ f格式符 以小数形式输出实数 %f

整数部分全部输出,小数部分输出6位 %m.nf 输出数据共占m列,其中有n位小数。如果数值长度小于m,左补空格 %-m.nf

同上,右补空格 ⑧ e格式符 以指数形式输出实数 %e 系统指定6位小数,5位指数(e+002 ) ⑨

g格式符 输出实数,根据数值大小,自动选f格式或e格式

3.数据输入 getchar( ) 从终端输入一个字符

scanf( 格式控制,地址列表) 标准C

scanf中不使用%u,对于unsigned型数据,以%d或%o或%x输入。%后的*,用来跳过它相应的数据。输入数据时不能规定精度如scanf(

"%7.2f", &a );是不合法的。

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值