类型
整形类:int(基整),long (长整),short(短整), long long (双长整),char(字符型)。
浮点型:float(单精度),double(双精度),long double(长双精度)。
无符号型: unsigned xxxx(类型)。
注:char属于整型是因为char实际上储存的是整数而不是字符,即用特定的整数表示特定的字符(ASCII码)。
定义
整形:正整数、负整数和0。
浮点型(实型):带小数点的实数(有理数&无理数),既有整数部分又有小数部分的数。
字符型:用于储存字符(字母/标点符号)
表现方法
整型
十进制:通常整数的写法。例如:11、15、21等。
八进制:0开头,八进制数前有0。例如:00、01、0111等。
十六进制:以0x开头,,十六进制数前有0x。例如:0x0,0x15、0x11等。(字母可小写)
浮点型
定点数形式:由数字和小数点组成,C规定必须有小数点。(.123,123.,123.0)
指数形式:由尾部数部分、字母e或E、指数部分组成。例如:48.62*10(-12),其中:48.62为尾数,-12为指数。表示为:48.62e-12或48.62E-12(e和E表示基数10)。C规定e前面要有数字,e后面的指数要为整数。
有效数字位
float:整个数至少前6位是有效数字(最多7位),小数点后一般会保留6位(但不一定是有效数字)。6位有效数字指的是只能保证6位的有效数字,如果输入的有效数字多于6位,则不保证之后的位的数字的准确性。
#include<stdio.h>
int main(void)
{
float a=456.514548;
printf("a=%f\n",a);
return 0;
}
double:至少前15位是有效数字(最多16位),小数点后一般最多保留6位且最后1位不一定准确。(如果没有%.x输出16位全部数字,会四舍五入,)。
没输出全部16位的
#include<stdio.h>
int main(void)
{
double a=456.5145445141589;
printf("a=%lf\n",a);
return 0;
}
输出全部16位的
#include<stdio.h>
int main(void)
{
double a=456.5145445141589;
printf("a=%.13lf\n",a);
return 0;
}
输出格式
整型
int:%d
short: %d / %hd
long: %ld
long long: %lld
char: %d (值) / %c (对应字符)
无符号型
unsigned int: %u
unsigned short: %u / %hu
unsigned long: %lu
unsigned long long: %llu
浮点型
float: %f
double: %lf
long double: %lf