C语言中的问题

哪位大神告诉我%d,%c,%lf,%ld,%数字+各种字母的具体应用啊,我有点不知道啥时候用啥...... 哪位大神告诉我%d,%c,%lf,%ld,%数字+各种字母的具体应用啊,我有点不知道啥时候用啥... 展开
 我来答
450029462
2013-07-22 · TA获得超过105个赞
知道答主
回答量:38
采纳率:0%
帮助的人:24万
展开全部
格式占位符(%)是在C/C++语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。
格式字符说明
格式占位符(%)可以以下字母配合使用用来表示某些特定的输入输出。   %a,%A 读入一个浮点值(仅C99有效)   %c 读入一个字符   %d 读入十进制整数   %i 读入十进制,八进制,十六进制整数   %o 读入八进制整数   %x,%X 读入十六进制整数   %s 读入一个字符串,遇空格、制表符或换行符结束。   %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。   %p 读入一个指针   %u 读入一个无符号十进制整数   %n 至此已读入值的等价字符数   %[] 扫描字符集合   %% 读%符号
格式输入输出示例
scanf("%d,%d,%d",&a,&b,&c); // 从键盘输入三个整数,用逗号分隔   scanf("%c", &s); //从键盘输入一个字符   scanf("%f", &f); //从键盘输入一个浮点型数据   printf("%d\n",a); //输出一个整数   printf("%f\n",b); //输出一个浮点数   printf("%s\n",c); //输出一个字符   其中\n表示换行
格式字符说明
格式占位符(%)可以以下字母配合使用用来表示某些特定的输入输出。
%a,%A 读入一个浮点值(仅C99有效)
%c 读入一个字符
%d 读入十进制整数
%i 读入十进制,八进制,十六进制整数
%o 读入八进制整数
%x,%X 读入十六进制整数
%s 读入一个字符串,遇空格、制表符或换行符结束。
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。
%p 读入一个指针
%u 读入一个无符号十进制整数
%n 至此已读入值的等价字符数
%[] 扫描字符集合
%% 读%符号
格式输入输出示例
scanf("%d,%d,%d",&a,&b,&c); // 从键盘输入三个整数,用逗号分隔
scanf("%c", &s); //从键盘输入一个字符
scanf("%f", &f); //从键盘输入一个浮点型数据
printf("%d\n",a); //输出一个整数
printf("%f\n",b); //输出一个浮点数
printf("%s\n",c); //输出一个字符
其中\n表示换行
pl843505782
2013-07-22
知道答主
回答量:49
采纳率:0%
帮助的人:24.4万
展开全部
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 );是不合法的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友18dd5da
2013-07-22
知道答主
回答量:15
采纳率:0%
帮助的人:4.6万
展开全部
d是“将参数以十进制数形式输出”;c是“将参数以单个字符形式输出”;f是“浮点数小数形式”;字母前的数字有几种含义:有字符个数、数据宽度、对齐方式,这样子是跟你说不清楚的,如果你在学习C语言,相信都会有书吧?这些东西在书上都会有的。自学的话就好能配套视频教学,书上的信息有很多,不用专门到知道问的,而且一般搜索的话都会一些问题是和你一样的,这样就不会浪费时间了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5616万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式