C语言小白的一些总结(参考了c语言技能树)(数据类型)-创新互联

一、数据类型

成都网站建设哪家好,找成都创新互联!专注于网页设计、成都网站建设公司、微信开发、微信小程序开发、集团成都定制网站等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都PVC花箱等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞赏!

1.变量

使用的基本步骤

  1. 声明,例如:int a;
  2. 赋值,列如:a=1;(可以同时进行声明和赋值操作,列如:int a=1;)
  3. 使用,在后面的代码中使用关键字、语句等进行使用

使用的注意点(不够完善,有待补充,但是暂时够用)

  1. 变量必须先声明后使用
  2. 变量在同一个作用域不能重名(这里我还不清楚“同一个作用域”)
  3. 变量三要素 (变量名+值+数据类型)

C语言数据类型

注意:
  1. 在c中没有字符串类型,使用字符数组char[]表示字符串
  2. 在不同系统上,部分数据类型字节长度不一样,举例:int可以占两个字节或4个字节

可以看到上图完整展现了c语言的数据类型,详细的信息可以看c语言技能树的变量一节

整型
类型存储大小(单位为字节)值范围
char1-128 即-(2^7) 到 127 (2^7-1)
unsigned char10 到 255 (2^8 - 1)
signed char1-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 int2/40 到 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 short20 到 65,535 (2^16 - 1)
long (signed long)4-2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 - 1)
unsigned long40 到 4,294,967,295 (2^32 - 1)
布尔类型(特别的) 基本介绍
  1. C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真 [案例]
  2. 但这种做法不直观,所以我们可以借助C语言的宏定义 。
  3. C语言标准(C99)提供了_Bool 型, _Bool仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1, C99还提供了一个头文件定义了bool代表_Bool, true代表1, false代表0。只要导入 stdbool.h ,就能方便的操作布尔类型了 , 比如 bool flag = false;

2.常量

与变量的使用步骤基本一致,只是在定义变量前加上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;
}

在使用枚举常量的时候,需要注意以下几点:

  • 不能对枚举常量赋值,只能将它们的值赋给其他的变量。
  • 不能再定义与枚举常量名字相同的变量。
  • 不能用&取得它们的地址。
3.基本数据类型

基本的数据类型在上面的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://scyanting.com/article/dgeejj.html