C语言数据输出putchar()和printf() | 您所在的位置:网站首页 › c语言中的putchar › C语言数据输出putchar()和printf() |
在C语言中有三个函数代表数据输出,它们分别是puts()、putchar()和printf(),在本次教程中课课家小编为大家具体介绍putchar()和printf()两个数据输出函数。 首先小编先简单的给大家给出三个数据输出函数的基本定义: ①puts():只能输出字符串。 ②putchar():只能输出单个字符。 ③printf():可以输出各种类型的数据。 需要我们注意的地方是,printf()是最灵活、最复杂、最常用的输出函数,完全可以替代puts()和putchar()。 ◎putchar() 我们知道putchar()函数只能用来输出单个字符,具体例子如下: #include #include intmain() { putchar('a'); putchar(7); putchar('\\x46'); system("pause"); return0; } 运行程序,输出aF,同时我们会听到喇叭发出的声音。 ◎关于换行 我们知道puts()函数在输出结束时会自动换行,而printf()和putchar()不会,我们需要手动添加换行符\\n。具体如下面的例子所示: #include #include intmain() { char*str="c.biancheng.NET"; intn=100; charc='Z'; puts(str); putchar(c); printf("%d",n); putchar(c); system("pause"); return0; } 输出结果: c.biancheng.net Z100Z请按任意键继续... ◎printf()的高级用法 接下来小编给大家介绍printf()的高级用法。 举个例子,假如现在我们要用C语言输出一个4×4的整数矩阵,为了增强阅读性我们要使数字要对齐,具体步骤如下: #include #include intmain() { inta1=20,a2=345,a3=700,a4=22; intb1=56720,b2=9999,b3=20098,b4=2; intc1=233,c2=205,c3=1,c4=6666; intd1=34,d2=0,d3=23,d4=23006783; printf("%d%d%d%d\\n",a1,a2,a3,a4); printf("%d%d%d%d\\n",b1,b2,b3,b4); printf("%d%d%d%d\\n",c1,c2,c3,c4); printf("%d%d%d%d\\n",d1,d2,d3,d4); system("pause"); return0; } 运行结果: 2034570022 567209999200982 23320516666 3402323006783 m×n的数字矩阵可以理解为把m×n个数字摆放成m行n列的样子。以上例子大家觉得是不是太复杂了?别担心其实printf可以更好的控制输出格式。 #include #include intmain() { inta1=20,a2=345,a3=700,a4=22; intb1=56720,b2=9999,b3=20098,b4=2; intc1=233,c2=205,c3=1,c4=6666; intd1=34,d2=0,d3=23,d4=23006783; printf("%-9d%-9d%-9d%-9d\\n",a1,a2,a3,a4); printf("%-9d%-9d%-9d%-9d\\n",b1,b2,b3,b4); printf("%-9d%-9d%-9d%-9d\\n",c1,c2,c3,c4); printf("%-9d%-9d%-9d%-9d\\n",d1,d2,d3,d4); system("pause"); return0; } 输出结果: 2034570022 567209999200982 23320516666 3402323006783 如此写起来更加方便,即使改变某个数字,也无需修改printf语句。 %-9d中,d表示以十进制输出,9表示最少占9个字符的宽度,宽度不足以空格补齐,-表示左对齐。综合起来,%-9d表示以十进制输出,左对齐,宽度最小为9个字符。大家可以亲自试试%9d的输出效果。 printf格式控制字符的完整形式如下: %[flags][width][.precision]type [xxx]并不是C语言规定的格式,只是一种习惯写法,表示此处的内容可有可无。 ①type也就是以什么类型输出,比如%d、%f、%c,type就分别对应d、f、c;%-9d中type对应d。type必须有。 ②width表示最小输出宽度,也就是占几个字符的位置;%-9d中width对应9。对于整数和小数,默认右对齐,不足的宽度以空格补齐,比如: printf("%10d%12f",234,9.8); 输出结果为: 2349.800000 234前面共有7个空格,9.8前面有4个空格。 ③precision表示输出精度。 对于%d,.precision表示的其实是最小输出宽度,与width不同的是,不足的宽度以0补齐,比如: printf("%.10d\\n",4309); 输出结果为: 0000004309 对于%f,.precision表示小数的位数,不足以0补齐,也就是精度,比如: printf("%.10f%.3f\\n",23.988,2.9328745); 输出结果为: 23.98800000002.933 ④flags是标志字符,%-9d中flags对应-。几种常见的标志字符,具体如图1所示。另外printf在dos下的dir命令,会整齐地列出当前目录下的文件:,具体如图2所示。 图1 图2 本次C语言数据输出putchar()和printf()的教程到此暂告一段落,如果以后有补充的话小编会在此继续补充,希望这个教程对大家学习C语言的学习起到一定的帮助! |
CopyRight 2018-2019 实验室设备网 版权所有 |