int类型
int类型的数据是最常用的数据类型,属于整型数据,同时int也可以添加前缀修饰int,表示int是有符号的整型数据还是无符号的整型数据,一般有符号的整型数据表示为signed int,无符号的整型数据表示为unsigned int或者直接int省略前缀的修饰默认为无符号的整型数据。Int类型的数据不管有符号还是无符号字节数都是4,有符号的整数表示范围是-2147483648到2147483647,占位符是%d;无符号的整数表示范围是0~4294967295,占位符是%u。以下程序运行结果为9,-6,-8。
#include <stdio.h>
int main()
{
unsigned int a=9;
signed int b=-6;
int c=-8;
printf("%u,%d,%d",a,b,c);
}
char类型
char类型的数据只占1个字节,可以用来表示字符也可以用来表示数据。当它用来表示字符时,表示范围是-128127,占位符是%c,但在赋值时不同图形对应ASCll表上的值赋值。当用来表示数据时,当然它也可分为无符号和有符号两种,表示无符号数据时用unsigned修饰char,数据的表示范围是0255,占位符用%hhu;表示有符号数据时可用signed修饰char,表示范围时-128~127,占位符用%hhd。以下代码的执行结果为a=R,b=56,c=-6。
#include <stdio.h>
int main()
{
char a = 82;
unsigned char b = 56;
signed char c = -6;
printf ("a=%c,b=%hhu,c=%hhd",a,b,c);
}
short类型
short类型数据用来存储较小范围内的数,同样可分为有符号和无符号用signed和unsigned分别来修饰,都只占2个字节,无符号short类型数据的表示范围是0到65535,占位符用%hu;有符号short类型数据的表示范围是-32768~32767,占位符用%hd。以下程序的输出结果为a=65535,b=-32768。
#include <stdio.h>
int main()
{
unsigned short a = 65535;
signed short b = -32768;
printf("a=%hu,b=%hd",a,b);
}
long类型
long类型数据用来存储较大范围内的数,同样可分为有符号和无符号用signed和unsigned分别来修饰,都占4或8个字节,无符号long类型数据的占位符用%lu;有符号long类型数据的占位符用%ld。以下程序的输出结果为a=65536,b=-32769。
#include <stdio.h>
int main()
{
unsigned long a = 65536;
signed long b = -32769;
printf("a=%lu,b=%ld",a,b);
}
long long类型
long long类型数据用来存储大范围内的数,同样可分为有符号和无符号用signed和unsigned分别来修饰,都占8个字节,无符号long long类型数据的表示范围是0到18446744073709551615(以18开头的20位数),占位符用%llu;有符号long long类型数据的表示范围是-9223372036854775808~9223372036854775807(以9开头的19位数),占位符用%lld。以下程序的输出结果为a=18445,b=-9223372036854775808。
#include <stdio.h>
int main()
{
unsigned long long a = 18445;
signed long long b = -9223372036854775808;
printf("a=%llu,b=%lld",a,b);
}