【C语言学习记录】(二)——数据的表现形式及其运算①

【C语言学习记录】(二)——数据的表现形式及其运算①,第1张

【C语言学习记录】(二)——数据的表现形式及其运算① 一、计算机中的单位

bit ——比特位——计算机中的最小单位,可以存储一个二进制位(1或0)
1byte——1字节=8bit
1kb ——1024byte
1mb ——1024kb
1gb ——1024mb
1tb——1024gb
1pb ——1024tb

二、变量常量 1.变量

定义:程序运行期间能被改变的量(必须先定义,后使用)
(1)局部变量(成员变量):在{}内部定义的变量
(2)全局变量:在{}外部定义的变量,不能出现名字相同的全局变量。 当全局变量与局部变量的名字冲突的情况下,局部变量优先。
示例一:

#include 

//全局变量
int gval = 2022;

int main()
{
	printf("%dn",gval);
	
	int a = 10;//局部变量
	printf("a = %dn",a);
	return 0;
}

执行结果如图所示:
示例二:
在工程test_1_2中,我们在add.c中定义了一个int类型的全局变量g_val,然后在test_1_2.c中调用这个变量。

extern int g_val;
int main()
{
	//直接在同一工程中跨不同的源文件,使用另一文件中的全局变量,会失败
	printf("%d", g_val);
	return 0;
}

在另一个.c文件中要用extern先声明变量g_val,然后再使用。

2.认识变量的作用域和生命周期 (1)作用域:

一个变量在哪里起作用,哪里就是它的作用域。一个{}内部就是一个单独的空间。
局部变量的作用域:变量所在的局部范围,即所在的{}内部。
全局变量的作用域:整个工程。

(2)生命周期:

变量的生命周期:变量的创建与销毁之间的时间段。
局部变量的生命周期:进入所在的局部范围,生命开始;出局部范围,生命结束。
全局变量的生命周期:整个程序的生命周期。
(3)当全局变量与局部变量的名字冲突的情况下,局部变量优先使用。

3.常量

定义:在程序运行过程中,其值不能被改变的量。
C语言中的常量分为以下几种:

(1)字面常量
int main()
{
	3.14;  //浮点型常量
	10;    //整型常量
	"a";    //字符常量
	"abcdef";   //字符串常量
}
(2)const定义的标识符常量(常变量)
	int num = 10;      //变量,因为可变。10为初始值
	num = 20;      //变量重新定义为20
	
	const int num = 10;    //若不希望num的发生改变,在int前面加上const即可。
	printf("num = %dn", num);   //此时num是常变量,具有常属性
	
	int arr[10] = { 0, 1 };    //10个元素,前两个元素是0、1,剩下的全为0
	const int n = 10;        //n是常变量,但本质上仍是变量
	//int arr2[n] = { 0 };   //[]中的数必须是常数,不能是变量,也不能是常变量
	printf("%d", arr[1]);
(3)#define 定义的标识符常量
#define Max 100  //定义后,Max的值无法再次改变
(4)枚举常量

枚举常量的定义:
enum 枚举类型名{常量1,常量2,常量3,…};

enum Sex//enum是枚举关键字,定义一个类型Sex
{
	//这种枚举类型的变量未来可能的取值只有这三种,可以赋予初始值
	mail,//不同取值用逗号隔开
	femail,
	secret//最后一个取值后面不加任何符号
};
int main()
{
	//4、枚举常量
	
	enum Sex s = mail;
	printf("%dn", mail);//输出结果为0
	printf("%dn", femail);//输出结果为1
	printf("%dn", secret);//输出结果为2,这些值不能改
	//mail = 3;错误写法
	return 0;
}

指定式声明枚举变量

enum gender {mail=1,femail,secret=5};

mail为1,femail没有指定值则为前面的值递增1,即femail为2,secret为5.

注意:枚举类型只是int 型!其赋值和声明时只能是整数。

三、数据类型
#include 
int main() 
{
	printf("hello worldn");
	//字符类型
	char ch = 'a';
	//整型
	int age = 20;
	//短整型
	short num = 10;
	//long
	//long long  二者皆同short和int
	//单精度浮点型
	float weight = 55.2;
	//双精度浮点型
	double d = 0.0;
	printf("%dn",100);//打印一个整数 -- %d
	printf("char的大小:%dn", sizeof(char));
	//sizeof--关键字—— *** 作符——计算类型或者变量所占空间的大小
	printf("int的大小:%dn", sizeof(int));
	printf("short的大小:%dn", sizeof(short));
	printf("long的大小:%dn", sizeof(long));
	printf("long long的大小:%dn", sizeof(long long));
	printf("float的大小:%dn", sizeof(float));
	printf("double的大小:%dn", sizeof(double));
	
	return 0;
}

结果如下,单位均为 “字节” :

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5713506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存