下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

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

作者:课课家教育     来源: http://www.kokojia.com点击数:3662发布时间: 2016-11-24 08:00:20

标签: 编程语言C语言数据输出

大神带你学编程,欢迎选课

  在C语言中有三个函数代表数据输出,它们分别是puts()putchar()printf(),在本次教程中课课家小编为大家具体介绍putchar()printf()两个数据输出函数。

  首先小编先简单的给大家给出三个数据输出函数的基本定义:

  ①puts():只能输出字符串。

  ②putchar():只能输出单个字符。

  ③printf():可以输出各种类型的数据。

  需要我们注意的地方是,printf()是最灵活、最复杂、最常用的输出函数,完全可以替代puts()putchar()

  ◎putchar()

  我们知道putchar()函数只能用来输出单个字符,具体例子如下:

  #include<stdio.h>

  #include<stdlib.h>

  intmain()

  {

  putchar('a');

  putchar(7);

  putchar('\\x46');

  system("pause");

  return0;

  }

  运行程序,输出aF,同时我们会听到喇叭发出的声音。

  ◎关于换行

  我们知道puts()函数在输出结束时会自动换行,而printf()putchar()不会,我们需要手动添加换行符\\n。具体如下面的例子所示:

  #include<stdio.h>

  #include<stdlib.h>

  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<stdio.h>

  #include<stdlib.h>

  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<stdio.h>

  #include<stdlib.h>

  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所示。

C语言数据输出putchar()和printf()_编程语言_C语言_数据输出_课课家教育

图1

图2

图2

  本次C语言数据输出putchar()和printf()的教程到此暂告一段落,如果以后有补充的话小编会在此继续补充,希望这个教程对大家学习C语言的学习起到一定的帮助!

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程