printf 常用格式输出符

    技术2022-05-19  21

    %d                          按照十进制整形数据实际长度输出

    %md                       m为制定的输出字段的宽度,如果数据的位数小于m,则左端补以空格

    %ld                         输出长整形,长整形如果按照整形输出的话就会出错

    %o                          以八进制整数形式输出,输出的数值不带符号,将内存中的各位值按照八进制形式输出

    %x                          以十六进制的形式输出整数,同样不会出现负数,大写x以大写字母输出

    %u                          用来输出unsigned类型数据,即无符号数,以十进制整数形式输出,有符号int类型可以用%u输出,同样一个                                            unsigned 类型数据也可以用%o或者%x来输出

    %c                          用来输出一个字符,一个整数,只要其值在0~255之间,就可以用%c按照字符形式输出,反之,一个字符数据也可以                                  用整数形式输出

    %s                          用来输出字符串

    %ms                       输出的字符串占m列,如果字符串本身长度大于m,则将字符串全部输出,若串小于m,则左补空格

    %-ms                      如果串长小于m,则在m列范围内,字符串向左靠,右补空格

    %m.ns                    输出占m列,但是只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格

    %-m.ns                   其中m n含义同上,n个字符输出在m列范围的左侧,右补空格

    %.n                         即只指定了n,没有指定m,自动使m=n

    %f                           整数部分全部输出并输出6位小数,单精度实数即float类型有效位一般为7位,双精度有效位一般为16位,给出小数6位

    %m.nf                     输出的数据共占m列,其中有n位小数,如果数值长度小于m,则左端补空格

    %e                          以指数形式输出实数,小数位数为6,指数部分占5位(如e+002),大写e就用大写E来输出

    %m.ne和%-m.ne     同- 含义与前相同,n指输出数据小数部分位数

    %g                          用来输出实数,根据数值大小,自动选f格式或者e格式,且不输出无意义的零     

     

    scanf函数

    1,可以指定输入数据所占的列数,系统自动按其截取所需数据

         例如: scanf("==",&a,&b); 输入123456后,系统自动将123给变量a,456给变量b   ,

    2,如果在%后加上一个*附加说明符号,表示跳过它指定的列数,即不会将其赋值给任何变量,例如

         scanf("-%*3d-",&a,&b); 1234567,那么就是将12给a,345跳过不赋值给任何变量,然后67给b

    3,输入数据时不能规定精度,例如scanf("%7.2f",&a);是不合法的

    4,如果在格式控制字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应当输入与这些字符相同的字符,例如:

         scanf("%d,%d",&a,&b);输入时就应当3,4即需要注意逗号的使用

    5,在使用%c格式输入字符时,空格字符和转义字符都作为有效字符输入


    最新回复(0)