zoukankan      html  css  js  c++  java
  • C语言输出语句(进阶篇十四)

      。。。

      格式控制字符

        printf中的字符包括以下三种:

          (1)以%开头的格式控制字符

          (2)以 \ 开头的转义字符

          (3)普通字符

     

        程序1

          printf的细节

    // 14-1输出语句printf细节
    
    #include <stdio.h>
    
    int main()
    {
        long FmtLong = 99999999;   //长整型
        double FmtDouble = 88888888.88888888;   //双精度型
        int FmtInt1 = 3, FmtInt2 = 4;  //两个普通整型
    
    
        /*整数输出*/
        printf("输出整数:");
        printf("%d\n", 13);   //输出整数
    
        printf("输出整数:");
        printf("%i\n", -13);   //有符号整数
    
        printf("输出无符号整数:");
        printf("%u\n", +13);    //无符号整好
    
        printf("输出单个字符串:");
        printf("%c\n", 'X');    //输出单个字符
    
        printf("输出长整型:");
        printf("%ld\n", FmtLong);   //输出长整型
    
        printf("以16进制输出整数,没有正负数:");
        printf("%x\n", 13);        //以16进制输出整数,没有正负数
    
        printf("以8进制输出整数,没有正负数");
        printf("%o\n", 13);        //以8进制输出整数,没有正负数
    
        /*控制输出*/
        printf("控制宽度输出,左端补空格:");
        printf("%3d\n", 13);        //控制宽度输出
    
        printf("控制宽度输出:");
        printf("%2d\n", 1234);
    
        printf("控制宽度输出也适用于长整型:");
        printf("%2ld\n", FmtLong);  //长整型控制宽度
    
    
        printf("格式串后面的字符为普通字符");
        //格式串后面的字符为普通字符,普通字符原样输出,
        //如下面  "%2ld3\n"  里面的 3 会原样输出在最后一位,输出的结果是:999999993
        printf("%2ld3\n", FmtLong);
    
    
        /*浮点输出*/
        printf("\n");    //换行
    
        printf("输出浮点数:");
        printf("%f\n", 100.33);   //浮点数输出会精确到后六位 输出结果是:100.330000
    
        printf("以指数形式输出浮点数:");
        printf("%e\n", 100.33);      //以指数形式输出浮点数
    
        printf("以指数形式输出浮点数:");
        printf("%E\n", 100.33);      //以指数形式输出浮点数
    
        printf("由系统自己决定采用e还是采用f格式输出:");
        printf("%g\n", 100.33);   //系统自己决定采用e还是采用f的格式输出
    
        printf("输出长浮点型:");
        printf("%lf\n", FmtDouble);  //输出长浮点型  此函数有自动四舍五入的功能
    
    
        printf("控制有效位数,左端补空格:");
        //控制有效位数,左端补空格    
        //"%8.1fok\n"  8 代表总位数输出8位。 1 代表小数点后面有一位  ok 是原样输出
        printf("%8.1fok\n", 100.33);
    
    
        printf("控制有效位数,右端补空格:");
        printf("%-8.1fok\n", 100.33);      //控制有效位数,右端补空格
    
    
        /*特殊输出*/
        printf("输出一个换行:");
        printf("\n");        //输出一个换行
    
        printf("输出一个%号");
        printf("%%\n");        //输出一个%号
    
    
        /*字符串输出*/
        printf("用变量方式输出字符串:");
        printf("%s\n", "你若盛开,蝴蝶自来");  //用变量的方式输出字符串
    
        printf("原样输出字符串:");
        printf("不忘初心,方得始终,初心易守,始终难得\n");   //原样输出
    
        printf("混合输出:");
        printf("天在高又怎样,%s\n","踮起脚尖更接近阳光");       //混合输出
    
        
        /*综合输出*/
        printf("同时输出好几个数据:");
        printf("%d,%lf\n", FmtLong, FmtDouble);   //同时输出好几个数据
    
        printf("直接输出结果:");
        printf("%d\n", FmtInt1*FmtInt2);  //直接输出结果
    
        printf("%d*%d=%d\n", FmtInt1, FmtInt2, FmtInt1*FmtInt2);
    
    }

        ※双引号中出现一个%,后面一定要跟随一个输出常量,变量或表达式。

        ※两个连续的%表示输出一个%

        ※一旦出现格式控制字符和转义字符,它们立即会寻找后面紧跟着的字符进行组合。但是它们前面的算普通字符。如:

          printf(“a,%c\n”,t);

        %c只能算一个字符,它会输出t中的字符。\n又算一个字符,它会输出回车。而前面的a,(逗号)只能算普通字符,会原样输出。

        ※在格式控制串中,格式说明与输出项从左到右在类型上必须一一对应匹配。如果不匹配,数据不能正确输出,这时系统并不报错。如:

          printf(“%d,%d”,i)

        因为只有一个参数,第二个%d会输出一个乱码。

        ※%m.nf指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格,超过m列,原样输出。

        ※%-m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。

        ※用f或lf格式打印浮点数时,系统会自动四舍五入。

        ※格式控制字符除了X,E,G外,其它字符必须用小写字母,如%d不能写成%D。

      转义字符

        原本字符常量只能是一个字符,但是因为有些字符看不见或是不好表达,所以特殊的字符常量可以是多个字符,它们以 \ 开头后面跟着其它字符,这也叫“转义字符”。

        下面是C语言中所有的转义字符:

          \n 回车换行

          \t 横向跳格(代表Tab键)

          \v 竖向跳格(打印机专用)

          \r 回车

          \f 换页(打印机专用)

          \b 退格(代表Backspace键)

          \\ 反斜杠字符 \

          \’ 单引号

          \” 双引号

          \ddd 以八进制形式代表的ASCII字符

          \xhh 以十六进制形式代表的ASCII字符

          \0 空值

        下面这行代码:

          printf(“%c”,’\x41’);

        会输出字符A

        注意:

          ※格式控制字符“%”只能在printf和scanf中使用,而转义字符“\”可以用在所有字符和字符串处理函数中。

          ※转义字符“\”会取后面所有符合条件的字符,并且只取一次,就失去作用,后面的都按普通字符输出。如:\x41n就会输出An

        程序2

          转义字符输出

    // 14-2转义字符输出
    #include <stdio.h>
    
     main()
    {
         printf("没有转义字符:");
         printf("abc");            //没有转义字符
         printf("d");
         printf("\n");
    
         printf("回车:");
         printf("abc\r");        //回车 \r
         printf("d");
         printf("\n");
    
         printf("退格:");
         printf("abc\b");        //退格 \b
         printf("d");
         printf("\n");
    
         printf("竖向跳格只用作在打印机上,这里是乱码:");
         printf("abc\v");        //竖向跳格只用作在打印机上,这里是乱码\v\f
         printf("d");
         printf("\n");
    
         printf("引号和右斜杠只能用转义字符输出:");
         printf("\\\n");
         printf("\'\n");
    
         printf("空字符:\n");
         printf("\0\0\0");        //空字符什么也不做
    
         printf("用ASCII码输出:");
         printf("\101\n");        //用八进制输出ASCII码
         printf("\x42\n");        //用十六进制输出ASCII码
    
         printf("制表符演示:\n");
         printf("%d\t%d\t%d\t\n", 1, 2, 3);
         printf("%d\t%d\t%d\t\n", 100, 200, 300);
         printf("%d\t%d\t%d\t\n", 999, 10000, 4444);
    
         printf("-------------------------\n");
         printf("|%d\t|%d\t|%d\t|\n", 1, 2, 3);
         printf("|%d\t|%d\t|%d\t|\n", 100, 200, 300);
         printf("|%d\t|%d\t|%d\t|\n", 999, 10000, 4444);
         printf("-------------------------\n");
    
    }
  • 相关阅读:
    b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释
    b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释
    SQLite 创建自增长标识列
    【第三方支付】之微信支付
    【第三方登录】之微信第三方登录
    【第三方登录】之QQ第三方登录
    2014年互联网IT待遇【转载】
    有趣的程序
    python备忘录
    JAVA备忘录
  • 原文地址:https://www.cnblogs.com/httpcc/p/15398953.html
Copyright © 2011-2022 走看看