格式输出函数printf

1、格式输出函数的一般形式

      函数原型: int printf(char * format[,argument,…]);

      函数功能:按规定格式向输出设备(一般为显示器)输出数据,并返回实际输出的字符数,若出错,则返回负数。

      它使用的一般形式为:

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

      语句中“输出项列表”列出要输出的表达式(如常量、变量、运算符表达式、函数返回值等),它可以是0个、一个或多个,每个输出项之间用逗号(,)分隔。输出的数据可以是整数、实数、字符和字符串。

      "格式控制字符串"必须用英文的双引号括起来,它的作用是 控制输出项的格式和输出一些提示信息,例如

                    int i=97; printf("i=%d,%c\n",i,i);

                输出结果为:i=97,a

        语句“printf("i=%d,%c\n",i,i);”中的两个输出项都是变量i,但却以不同的格式输出,一个输出整型数97,另一个输出的却是字符a,其格式分别由“%d”与“%c”来控制。

        语句“printf("i=%d,%c\n",i,i);”的格式控制字符串中“i=”是普通字符,他将照原样输出;“%d”与“%c”是格式控制符;"\n"是转义字符,它的作用是换行。

2、格式控制

      格式控制由格式控制字符串实现。格式控制字符串由3部分组成:普通字符、转义字符、输出项格式说明。

      (1)普通字符。普通字符在输出时,按原样输出,主要用于输出提示信息。

      (2)转义字符。转义字符指明特定的操作,如"\n"表示换行,"\t"表示水平制表等。

      (3)格式说明部分由“%”和“格式字符串”组成,他表示按规定的格式输出数据。

        格式说明的形式为:

               %[flags][width][.prec][F|N|h|I][type]

        各部分说明如下:

  1. “[]”表示该项为可选项,即可有可无,如 printf("%d",100);
  2. flags为可选择的标志字符,常用的标志字符有:
    •  -   ——左对齐输出,默认为右对齐输出;
    • +   ——正数输出加号(+),负数输出减号(-);
    • 空格 ——正数输出空格代替加号(+),负数输出减号(-)。
  3. width为可选择的宽度指示符。
    • 用十进制正整数表示设置输出值得最少字符个数。不足则补空格,多出则按实际输出,默认按实际输出,例如:
    • printf("%8d\n",100);       printf("%6d\n",100);       printf("%-8d\n",100);        printf("%+8\n",100);
    • 输出结果为:└┘└┘└┘└┘└┘100         └┘└┘└┘100          100└┘└┘└┘└┘└┘     └┘└┘└┘└┘+100
  4. [.prec]为可选的精度指示符
    • 用“小数点”加“十进制正整数”表示,对“整数”、“实数”和“字符串”的输出有如下功能:对“整数”,表示至少要输出的数字个数,不足补数字0,多则原样输出;对“实数”,表示小数点后至多输出的数字个数,不足则补数字0,多则做舍入处理;对“字符串”,表示最多输出的字符个数,不足补空格,多则丢弃。
    • 例如:printf("%8.2f\n",3.14159);                      printf("%8.5f\n",3.14159);
    • 输出结果为:└┘└┘└┘└┘3.14                                 └┘3.14159
  5. [F|N|h|I]为可选的输出长度修饰符,其功能如下:
    • F ——输出远指针存放的地址;
    • N——输出近指针存放的地址;
    • h——输出短整型数据的值;
    • l——输出长整型或双精度型数据的值。
    • 例如:long  n=40000;
    •             printf("%8ld\n",n);/*因为200*200是长整型数据*/
  6. type为可选的格式字符,用来进行格式转换。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值