printf中的使用(c语言)

#include <stdio.h>

int main(int argc, const char * argv[]) {

    //整形输出
    printf("%d,%d",3,4);
    printf("
");
    //整形输出的字符宽度。%md
    printf("%4d,%4d",3,4);
    printf("
");

    //长整形的格式输出
    printf("%ld,%ld",(long)3,(long)4);
    printf("
");
    //长整形相同能够设置输出的字符宽度
    printf("%8ld,%8ld",(long)3,(long)4);
    printf("
");


    //按8进制的格式输出%o
    int a = -1;
    printf("%d,%o",a,a);
    printf("
");
    printf("%d,%13o",a,a); //设置字符的输出宽度
//-1 在内存中得 存放形式是(以补码的方式存在):eg:111111111(第一位为符号位)
    printf("
");

    //x符号输出16进制
    int b = -1;
    printf("%x,%o,%d",b,b,b);
    
    printf("
");

    //u为无符号输出
    int c = -1;
    unsigned int d = 65535;
    printf("%x,%o,%d,%u",c,c,c,c);
    printf("
");
    printf("%x,%o,%d,%u",d,d,d,d);
    
    printf("
");

    //c格式符,输出一个字符
    char e = 'a';
    printf("%c,%d",e,e);
    
    printf("
");

    //s格式符,用来输出一个字符串
//    char f[]="china";
//    prinf("%s",f);
#warning 输出字符串有问题
    
    //f格式符,用来输出实数(包含:单精度、双精度),以小数的形式输出
    //1、%f格式符。不指定字段的宽度,有系统自己主动指定,使整数部分所有输出,而且输出6位小数。

注意:输出数字中并不是所有数字都是有效数字,单精度实数有效位通常是7位。

双精度有效位为16位。给出小数6位。 // float x,y; // x = 11111111.111;y=22222222,222; // printf("%f ",x+y); //从结果能够看出来仅仅有7位是有效的。

double x,y; x = 11111111.111;y=22222222.222; printf("%f ",x+y); //2、%m.nf,指定输出的数据供占有m列。当中小数位n位,假设数值大于m。就会在左边不空格。 //3、%-m.nf与%m.nf基本相同。仅仅是输出的数值向左端靠,右端补空格。 //符号e,以指数的形式输出 //1、%e,不指定输出数据所占有的宽度,和数字部分的小数的位数,有的c编译系统自己主动指出给出的数字是小数部分为6位,指数部分为5位。(eg:+002) printf("%e",12389.454566);//而这个系统是默认栈4位 printf(" "); //%m.ne和%-m.ne,中的m,n,- 和前面的一样。 double f = 123.456; printf("%e %10e %10.2e %.2e %-10.2e",f,f,f,f,f); printf(" "); //格式符g,用来输出实数,它依据数字的大小,自己主动选取f格式或者e格式 double g = 123.456; printf("%f %e %g",g,g,g); printf(" "); double h = 1234567123.456; printf("%f %e %g",h,h,h); //注意:一个格式符以%开头,以上面的格式符之中的一个结尾。

中间能够插入附加的修饰符,事实上就是普通的字符 // printf("c=%cf=%fs=%s",c,f,s);//事实上f=是普通的字符 printf(" "); //输出%符号 printf("%f%%",1.0/3); getchar(); return 0; }

以下是对应的一些格式符号输出的图片:输出



以下是转义字符的使用“”








原文地址:https://www.cnblogs.com/jzssuanfa/p/6937301.html