【C语言】- 数据输出-printf( )和putchar( )

格式化输出函数printf( )

printf( )功能:

向系统指定输出设备按指定的格式输入任意个任意类型的数据,并返回实际输出的字符数。若出错,将返回负数。

printf( )使用形式:

printf("格式控制字符串",输出项列表);

格式字符(以"%"引导):

(1)d格式字符:用来输出十进制整数。

  • %d,按整型数据的实际长度输出。
  • %md,m为指定的输出字段的宽度。若实际位数小于m,则左端补空格;若实际位数大于m,则按实际位数输出。
  • %ld,输出长整型数据。
    (2)o格式字符("%#o"):以八进制形式输出整数。
    (3)x格式字符("%#x"):以十六进制形式输出整数。
    (4)u格式字符:用来输出unsigned型数据,即无符号数,以十进制输出。
    (5)c格式字符:用来输出一个字符。
    (6)s格式字符:用来输出一个字符串。
    (7)f格式字符:用来输出实数(包括单双精度),以小数形式输出。
  • %f,整数部分全输出并输出6位小数。
    (8)e格式字符:以指数形式输出实数。
    (9)g格式字符:用来输出实数,它根据数值的大小,自动选择f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。

格式字符串:

%[flag][width][.prec][F|N|h|L]Type

(1)标志flag:

  • "+":对于正数符号位输出为正号"+",对于负数输出"-"。
  • 空格(" "):对于正数符号位输出空格,对于负数输出"-"。
  • "-":输出时左对齐,右侧补空格。
  • "#":加在代表输出八进制的类型字符"o"前表示八进制。
    (2)输出宽度width:用十进制整数来表示输出的最少位数。若实际数据的位数多于指定宽度,则按实际位数输出;若少于指定宽度,则补以空格或"0";
    (3)精度prec:精度格式符以"."开头,后跟一个十进制整数。
    意义:如果输出数字,则表示数字的小数位数;如果输出的时字符,则表示输出字符的个数;若实际位数大于所定义的精度,则超出部分被截去。
    (4)长度:F|n|h|l 表示指针是否是远指针,或整数是否是长整数。
  • F:表示远指针。
  • n:表示近指针。
  • h:短整型或单精度浮点数。
  • l:长整型或双精度浮点数。
    (5)类型Type:
    类型指示符:
格式字符 说明
d,i 以带符号的十进制形式输出整数
o 以八进制形式输出整数
u 以无符号的十进制形式输出整数
x或X 以十六进制形式输出整数
c 输出单个字符
s 输出字符串
f 以小数形式输出实数
e或E 以指数形式输出实数
g或G 自动选择"%f"和"%e"中宽度最小的形式输出实数

(6)具体的格式字符串示例:

  • %m.nf:输出的实数共占m个字符,其中小数有n个。若实际数值位数不足m个,左端补空格;若实际数值位数超出规定的宽度,则整数部分按实际输出,小数部分四舍五入为n位。
  • %e:标准宽度占13位,其中,尾数部分为:整数部分占1位,小数点占1位,小数占6位,e占1位;指数部分为:正负号占1位,指数占3位。
  • %m.ne:整个数宽度至少占m位,n为尾数部分的小数部分,不足的在左端补空格,多出的按实际位数输出。
  • %ms:输出一个字符串,宽度占m位。若长度小于m,则右对齐,左侧补空格;若长度大于m,则原样输出,不进行截取。
  • %-ms:与%ms类似,但长度小于m时,字符串左对齐,右侧补空格。
  • %m.ns:整个输出项占m列,但只取字符串中左侧n个字符输出。输出时右对齐,左端补空格。当m<n时,所占宽度m忽略不计,输出字符串的前n个字符。
  • %-m.ns:含义与%m.ns相似,将n个字符输出在m列范围内,左对齐,右侧补空格。
    (7)注意点:
  • 任意一个整型数据也可以以字符形式输出,输出时,如果整形数据超过255的,先对256做取余操作后再输出。
  • ”格式字符串“中的格式类型指示符的类型及个数,必须与”输出项列表“中的输出项的数据类型、个数一致,否则会引起输出错误。
  • 如果格式类型指示符的个数小于输出项的个数,多余的输出项不予输出;如果格式说明的个数多于输出项的个数,多余的格式项输出不定值或"0"。

单个字符的输出函数putchar( )

putchar( )功能:

向标准输出设备(显示器)输出一个字符,并返回输出字符的ASCII值。

putchar( )使用形式:

putchar(ch);
其中"ch"可以是整型或字符型的常量、变量或表达式,也可以是一个转义字符。输出时,先计算括号内的值,然后根据ASCII码输出相应的字符。

putchar( )函数只能用于单个字符的输出,且一次只能输出一个字符。

常用字母对应的ASCII码值:

A~Z 65~90
a~z 97~122

实例效果:

        printf("%d\n",234);
        printf("%3d\n",23144);
        printf("%3d\n",21);
        printf("%#o\n",23);
        printf("%#x\n",17);
        printf("%c\n",68);
        char a[10] = "abcdef";
        printf("%s\n",a);
        printf("%f\n",10.1);
        printf("%g\n",23.2424);
        printf("%5.2f\n",0.123);
        printf("%5.2f\n",0.1234567);
        printf("%e\n",1331.1341123);
        printf("%8.3e\n",1331.1341123);
        printf("%8.3e\n",1331.2);
        printf("%3s\n",a);
        printf("%9s\n",a);
        printf("%-9s\n",a);
        printf("%4.2s\n",a);
        printf("%2.5s\n",a);
        printf("%-4.2s\n",a);
        printf("%-2.5s\n",a);
输出结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容