C语言输入输出格式符[通俗易懂]

C语言输入输出格式符[通俗易懂]C语言输入输出格式符printf函数(格式输出函数)1.一般格式printf(格式控制,输出表列)例如:printf(“i=%d,ch=%c\n”,i,ch);说明:(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。②普通字符,即需要原样输出的字符。(2)“输出表列”是需要输出的一些数据,可以是表达式(3)printf函数的一般形式可以表示为printf(参数1,参数2,…

大家好,又见面了,我是你们的朋友全栈君。

C语言输入输出格式符

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都可。

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

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

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

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

(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( )的格式字符:

  1. ① d格式符 用来输出十进制整数 %d 按整型数据的实际长度输出 %md
    使输出长度为m,如果数据长度小于m,则左补空格,如果大于m,则输出实际长度 %ld 输出长整型数据
  2. ② o格式符 以八进制形式输出整数
  3. ③ x格式符 以十六进制形式输出整数
  4. ④ u格式符 用来输出unsigned型数据,以十进制形式输出
  5. ⑤ c格式符 用来输出一个字符
  6. ⑥ s格式符 输出一个字符串 %s 输出实际长度字符串 %ms 输出的串占m列,如果串长度小于m,左补空格,如果大于m,实际输出
    %-ms输出的串占m列,如果串长度小于m,右补空格, %m.ns 输出占m列,但只取字符串中左端n个字符并靠右对齐 %-m.ns
    m、n含义同上,靠左对齐,如果n>m,则m自动取n值
  7. ⑦ f格式符 以小数形式输出实数 %f 整数部分全部输出,小数部分输出6位 %m.nf
    输出数据共占m列,其中有n位小数。如果数值长度小于m,左补空格 %-m.nf 同上,右补空格
  8. ⑧ e格式符 以指数形式输出实数 %e 系统指定6位小数,5位指数(e+002 )
  9. ⑨ g格式符 输出实数,根据数值大小,自动选f格式或e格式

3.数据输入 getchar( ) 从终端输入一个字符 scanf( 格式控制,地址列表) 标准C scanf中不使用%u,对于unsigned型数据,以%d或%o或%x输入。%后的*,用来跳过它相应的数据。输入数据时不能规定精度如scanf( “%7.2f”, &a );是不合法的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163846.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQLPro Studio 激活(在线激活)

    SQLPro Studio 激活(在线激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    164
  • java divide_java中awt做什么的

    java divide_java中awt做什么的gridx,gridy:设置组件的位置,从0开始gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。建议定义出gridx,gri…

    2022年9月4日
    2
  • Java反射介绍[通俗易懂]

    Java反射介绍[通俗易懂] 一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.以上的总结就…

    2022年6月10日
    28
  • C#桌面文案小工具 ,详细带解说图(带源码)

    C#桌面文案小工具 ,详细带解说图(带源码)新手!新手!新手!有什么不对的地方可以交流交流最近无聊,写了一个小工具,每隔一段时间随机刷新一下文案,并且还可以连接数据库思路:1窗体的隐藏:在属性上面把BackCoor和TransprencyKey设置成一样的就可以隐藏窗口了2日期时间的刷新:在窗体上创建一个label标签,这个没什么好说,直接获取时间然后创建一个计时器一直刷新他,频率设置成1—900都可以,代码记得写在计时器label2.Text=DateTime.Now.ToString();//20

    2022年5月18日
    49
  • Visifire组件应用

    Visifire组件应用本文转载自:http://www.cnblogs.com/forgetu/archive/2010/06/07/Visifire-AxisLabels.html这篇中简单介绍一下Axis(坐标轴)的主要的几个属性的设置。Visifire废话少说,主要的几个属性及属性的设置和意思请看下面的示例代码和注释:viewsource…

    2022年7月21日
    10
  • VBA数组的排序_vba函数返回值 数组

    VBA数组的排序_vba函数返回值 数组我们平时用的表格排序,只相对来说是在在表格中的升序降序。今天就好奇如果系统中实现排序他是怎么实现的呢。经过一番折腾查找,真是一看吓一跳,真是感觉蚂蚁看大象,发现排序分为:今天仅整理了最简单的两种排序。。。先来看下定义和实现的方法吧。选择排序(Selectionsort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据

    2025年6月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号