C语言格式输出函数

C语言格式输出函数,前面我们已经初步接触到格式输入与格式输出函数printf()scanf()函数,它们是C语言标准I/O库函数中最简单、最常用的函数。

printf()函数我们在前面已经多次用到,printf()函数是格式控制输出函数,使用的一般格式为:

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

printf()函数的作用是按照自右向左的顺序,依次计算“输出地址列表”中表达式的值,然后按照“控制格式字符”中规定的格式输出到显示器上。

printf()函数有两个参数“格式控制字符”和输出项列表,“格式控制字符”是由控制输出格式字符等字符组成的字符串。输出项列表是用逗号分隔的若干个表达式。

例如:

        printf("a=%d,b=%f,c=%c\n",a,b,c);

其中,”a=%d,b=%f,c=%c\n”是格式的控制部分,a,b,c是输出项序列,是用逗号分隔开的三个变量。

printf()函数的格式控制字符

“格式控制字符”是用双引号括起的一串字符,包括格式说明、普通字符和转义字符三种。格式控制字符的功能是指定输出数据的格式和类型。例如:

        printf("a=%d\n",a);

其中,“a=”是普通字符,“%d”是格式说明符,“\n”是转义字符,而a是输出项。

格式说明符由%和格式字符组成。作用是转换输出数据的格式,表示对数据输出格式的控制,如%d%f等。它与后面的数据输出项对应,即格式说明与数据输出项的数据个数、数据类型及数据排放次序相匹配。例如:

        printf("%d,%f",a, x)

格式说明符“%d”与输出项“a”对应,表示将控制数据输出项“a”按格式说明“%d”规定的格式输出,即按十进制整数的形式输出。“%f”与输出项“x”对应,表示将控制数据输出项“x”按格式说明“%f”规定的格式输出,即按浮点型数据的形式输出。下面介绍几种常用的格式字符。

  • d格式字符,输出十制整数。
    例如:

            int a=122;
            printf("a=%d",a);
    

    输出的结果为:a=122。

  • x(或X)格式字符,输出十六进制整数。例如:
            int a=122;
            printf("a=%x",a);
    

    输出的结果为:a=7A。

  • o(或O)格式字符,输出八进制整数。例如:
            int a=122;
            printf("a=%x",a);
    

    输出的结果为:a=172。

  • U格式字符,输出不带符号的十进制整数。例如:
            int a=122;
            printf("a=%d",a);
    

    输出的结果为:a=122。

  • c格式字符,输出单个字符。例如:
           int a=98;
           printf("%c",a);
    

    输出的结果为:b,为一个字符。

  • s格式字符,输出字符串。char s[]="hello!";
            printf("%s",s);
    

    输出的结果为:hello!

  • f格式字符,输出十进制单、双精度数。例如:
            float a=314.1;
            printf("a=%f",a);
    

    输出的结果为:a=314.100006

  • e(或E)格式字符,输出指数形式的实数型数。例如:
            float a=314.1;
            printf("a=%e",a);
    

    输出的结果为:a=3.141000e+002

  • g(或G)格式字符,输出指数形式的实数型数不带无效0的浮点数。例如:
            float a=314.1;
            printf("a=%e",a);
    

    输出的结果为:a=314.1

  • %格式字符,输出一个百分号。例如:
            float a=12.56;
            printf("a=%f%%",a);
    

    输出的结果为:a=12.560000%

转义字符是以“\“开头和其他特殊字符组合而成的具有一定含义的字符。转义字符可以在printf()函数中使用,前面我们已经讲解了几种常用的转义字符,在这里不再赘述。

普通字符是指在“格式控制字符”部分,除了“格式说明符”和“转义字符”之外的其余字符均为普通字符,在输出时普通字符被原样输出。
例如:

        int x=3, y=6, z=0;
        printf("x=%d,y=%d,z=%d",x,y,z);

输出的结果为:x=3, y=6, z=0

“x=”、“ , ”、“ y=”、“ z=”这些都是普通字符,在输出时被原样输出。

printf()函数输出项列表

输出项列表是需要输出的一些数据。判断输出项列表有以下几点说明:

  • 输出项列表的数据可以有一个或多个,也可以没有。printf()函数允许没有输出项列表部分,这表示输出一个字符串。例如:
            printf("请输入一个正整数:");
    

    输出的结果为:

            请输入一个正整数:
    

    上面的那行语句里面只有普通字符,因此在输出的时候只是原样输出。

  • 输出项列表可以是多个输出项,各个输出项之间用逗号“,”分隔。例如:

            printf("%d*%d+%d*%d=%d\n",x,x,y,y,1989);
    
  • printf()函数中格式控制部分的“格式说明符”和“输出项列表”在个数和和类型上必须一一对应。例如:
            printf("a=%d,b=%f\n",a,b);
    

    a与`%d`对应,%d表示以十进制整数的形式输出,相对应的a是一个整型变量。b与%f对应,%f表示以浮点型数输出,相对应的b是一个浮点型变量。

  • 输出项列表可以由变量、常量或表达式组成。如果是常量,直接用常量代替“格式控制字符”里面的“格式字符”;如果是变量,则用变量里面存储的值来取代“格式控制字符”里面的“格式字符”;如果是表达式,则先对表达式进行运算,然后用它的运算结果取代“格式控制字符”里面的“格式字符”。例如:
            printf("%f",3.5+56%10+3.14);
    

    输出的结果为:12.640000

示例:

#include <stdio.h>
void main() 
{
    printf("   *\n");
    printf("  * *\n");
    printf(" * * *\n");
    printf("* * * *\n");
    printf(" * * *\n");
    printf("  * *\n");
    printf("   *\n");
}

运行结果如下:

C语言格式输出函数

赞(0)

评论 抢沙发

评论前必须登录!