C语言小白的一些总结(参考了c语言技能树)(数据类型)-创新互联
一、数据类型
成都网站建设哪家好,找成都创新互联!专注于网页设计、成都网站建设公司、微信开发、微信小程序开发、集团成都定制网站等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都PVC花箱等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞赏!1.变量
使用的基本步骤
- 声明,例如:int a;
- 赋值,列如:a=1;(可以同时进行声明和赋值操作,列如:int a=1;)
- 使用,在后面的代码中使用关键字、语句等进行使用
使用的注意点(不够完善,有待补充,但是暂时够用)
- 变量必须先声明后使用
- 变量在同一个作用域不能重名(这里我还不清楚“同一个作用域”)
- 变量三要素 (变量名+值+数据类型)
C语言数据类型
注意:- 在c中没有字符串类型,使用字符数组char[]表示字符串
- 在不同系统上,部分数据类型字节长度不一样,举例:int可以占两个字节或4个字节
可以看到上图完整展现了c语言的数据类型,详细的信息可以看c语言技能树的变量一节
整型类型 | 存储大小(单位为字节) | 值范围 |
---|---|---|
char | 1 | -128 即-(2^7) 到 127 (2^7-1) |
unsigned char | 1 | 0 到 255 (2^8 - 1) |
signed char | 1 | -128 即-(2^7) 到 127 (2^7-1) |
intsigned int (int) | 2/4 | -32,768 (- 2^15 ) 到 32,767 (2^15-1)或 -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 -1) |
unsigned int | 2/4 | 0 到 65,535 (2^16-1) 或 0 到 4,294,967,295 (2^32 -1) |
short (signed short) | 2 | -32,768 (- 2^15)到 32,767 (2^15 -1) |
unsigned short | 2 | 0 到 65,535 (2^16 - 1) |
long (signed long) | 4 | -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 - 1) |
unsigned long | 4 | 0 到 4,294,967,295 (2^32 - 1) |
- C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真 [案例]
- 但这种做法不直观,所以我们可以借助C语言的宏定义 。
- C语言标准(C99)提供了_Bool 型, _Bool仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1, C99还提供了一个头文件
定义了bool代表_Bool, true代表1, false代表0。只要导入 stdbool.h ,就能方便的操作布尔类型了 , 比如 bool flag = false;
与变量的使用步骤基本一致,只是在定义变量前加上const,列如:const int a=1;
const修饰的常变量,本质上是变量。
但具有常属性,不能被修改。
#define宏定义
使用#define可以进行常量的定义,也可以进行宏定义,列如:
- #define pi 3.1415926 就是把pi的值定义为3.1415926,在后面需要用到这个值的时候可以直接使用pi来代替
- #define uint unsigned int 同理,就是把unsigned int (无符号整型)的效果赋值(应该可以理解为赋值)给uint ,在后面需要使用unsigned int 时可以使用uint
日常生活中有一些代表实际意义的常量,有这么一个特点:数值较小且为非负整数。如一周有7天等。C语言提供了一种枚举(Enum)类型,能够列出所有可能会用到的取值,并给它们取一个名字。
int main()
{
enum Sex
{
//枚举常量 性别
MALE,
FEMALE,
SECRET
};
enum Sex s = FEMALE; //利用枚举常量给变量赋值
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n",SECRET);
return 0;
}
在使用枚举常量的时候,需要注意以下几点:
- 不能对枚举常量赋值,只能将它们的值赋给其他的变量。
- 不能再定义与枚举常量名字相同的变量。
- 不能用
&
取得它们的地址。
基本的数据类型在上面的C语言数据类型图中已经有了,在此不再赘述。
sizeof运算符sizeof 运算符用于获得数据类型或表达式的长度
如:-sizeof(object); //sizeof(对象)
-sizeof(type_name); //sizeof(类型)
-sizeof object; //sizeof 对象
代码举例:
#includeint main()
{
int i;
char j;
float k;
i = 123;
j = 'C';
k = 3.14;
printf("size of int is %d\n",sizeof(int));
printf("size of i is %d\n",sizeof(i));
printf("size of char is %d\n",sizeof(char));
printf("size of j is %d\n",sizeof j);
printf("size of float is %d\n",sizeof(float));
printf("size of k is %d\n",sizeof k);
return 0;
}
代码运行结果:
分别打印各类型所占字节:
#includeint main()
{
printf("int = %d\n",sizeof(int));
printf("short int = %d\n",sizeof(short));
printf("long int = %d\n",sizeof(long));
printf("long long int = %d\n",sizeof(long long));
printf("char = %d\n",sizeof(char));
printf("_Bool = %d\n",sizeof(_Bool));
printf("float = %d\n",sizeof(float));
printf("double = %d\n",sizeof(double));
printf("long double = %d\n",sizeof(long double));
return 0;
}
运行结果(设备不同,结果可能也不同):
关于数据类型差不多就是上面这些了
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前标题:C语言小白的一些总结(参考了c语言技能树)(数据类型)-创新互联
标题来源:http://cdiso.cn/article/dgeejj.html