background image

在 G++

 

环境下, 64 位整数是

long long

输入输出格式为 %lld”.

域宽及精度的描述
  M:域宽,即对应的输出项在输出设备上所占字符数

      若:实际数据宽度>M,按实际数据宽度输出。

        实际数据宽度<M,左边补空。

  N:精度,说明输出的实型数的小数位数。

几点说明:

    编译程序只是检查 printf 函数的调用形式,不分析格式控制字符串,如果格式字符

与输出项的类型不匹配,不进行类型转换。(输出的数为随机)

    格式字符要用小写字母。
    格式控制字符串中可以包含转义字符。

    格式控制字符串中的普通字符则原样输出。
    输出项的参数除了常数、变量外还可以是表达式、函数调用。
        

%g,%f 和%e 这三个格式用于打印浮点值。

%g 格式用于打印那些不需要按列对齐的浮点数特别有用。其作用有二:

一,去掉该数尾多余的零(没有达到六位的数)
二,保留六位有效数字(多余六位的)
%e 格式用于打印浮点数时,一律显示地使用指数形式:例如:输出圆周率时

是:3.141593e+00

两者的区别:
%g 格式打印出的数是总共 6 位有效数字
%e 格式打印出小数点后的 6 位有效数字
%f 禁止使用指数形式来表示浮点数。因此圆周率输出为:3.141593

(但注意它的精度要求:也是小数点后 6 位有效数字)

(8)%%格式用于打印一个%字符。

(9)%E 和%G 只是在输出时用大写字母(E)代替了小写字母(e)
                输出正负号的技巧,例如:
printf("%+d %+d %+d\n",-5,0,5);

只要在中间加个 +”号就行。作用是输出符号位(即,数的正负号)

如果不希望正数的前面出现 +’号,可用下面的方法

“ ”

只要在中间加个

号(即:空格)就行。例如:

作用:如果一个数是非负数,就在它的前面插入一个空格。
int i;
for(i=-3;i<=3;i++)
printf("% d\n",i); //注意%和 d 之间有一个空格
           
                sscanf()的使用技巧:

分解字符串,很多功能都需要正则表达式的知识,所以就介绍一下最简单的
几种用 sscanf

 

来分解字符串 的用法。

1.
char str[100],str1[100],str2[100];
gets(str);
sscanf(str,”%s%s”,str1,str2);

将读入的一整行字符串按空格,制表符或回车符分割成两个字符串。
2

取指定长度的字符串。如在下例中,取最大长度为 4 字节的字符串。
sscanf("123456 ", "%4s", str);

基本整型:两个字节,十六个 bit(位)