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

    作者:课课家教育更新于: 2016-11-22 18:19:04

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

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

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

    图1

    图2

    图2

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

C语言 更多推荐

课课家教育

未登录