C的基本数据类型和其格式化输出

C中的基本数据类型长度和编译器相关,同一种数据类,使用不同的编译器编译时,其长度是不同的,但有几条铁定的原则(ANSI/ISO制订的): 1 sizeof(short int)<=sizeof(int) 2 sizeof(int)<=sizeof(long int) 3 short int至少应为16位(2字节) 4 long int至少应为32位。

16/32/64位编译器下各基本数据类型长度

数据类型 16位 32位 64位 格式化输出 char 1 1 1 字符:%c 整形:%d short int 2 2 2 %d 无符号:%u %hx int 2 4 4 %d 无符号:%u %x long 4 4 8 %ld 无符号:%lu %lx long long 8 8 8 %lld 无符号:%lld %llx float 4 4 4 %f double 8 8 8 %lf 指针 2 4 8 %p %x

格式化输出

  ①d格式:用来输出十进制整数。有以下几种用法:   %d:按整型数据的实际长度输出。   %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。   %ld:输出长整型数据。

③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。

④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用"%mu"格式输出。

⑤c格式:输出一个字符。

⑥s格式:用来输出一个串。

⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:   %f:不指定宽度,整数部分全部输出并输出6位小数。(小数部分超出的部分不输出)   %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。   %-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。   ⑧e格式:以指数形式输出实数。可用以下形式:   %e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。   %m.ne和%-m.ne:m、n和"-"字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。

经验分享 程序员 微信小程序 职场和发展