初学C语言01(记录我个人的理解)
(欢迎各位大佬在评论区指正不足)
1.数据类型:
数据类型之所以会出现,就是因为要用它来描述生活中的数据。
可以用它来定义变量的类型,并为其在计算机中开辟一块空间
并且C语言为了更好地利用好储存空间,整形这种类型被分得很细,主要是为了更高效地利用空间
比如:整形之中分为:int,long,long long
而浮点型之中分为:单精度和双精度 ,双精度的精确度更高
数据类型主要有如下几种:
-
char // 字符数据类型:可用于存放如:a,b,c等字符,例:
char ch = `a`;
-
short
-
int
-
long
-
long long // 2—5都用来存放整数
-
float
-
double //6—7都用来存放小数
2.常量与变量:
在生活中有的数据可以被改变,有的无法改变
因此对应到C语言中便有变量与常量
常量,即不能被改变的量
其分为:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
例如:
#include<stdio.h>
int main()
{
3.14;//字面常量
777;//字面常量
const float pai = 3.14;//const修饰的常变量(此处的pai本质上还是变量,只是具有了常属性)
return 0;
}
#include<stdio.h>
#define max 10000;
int main()
{
max = 20000;
printf("%d\n",max);//其中第5行为无效操作,因为max本身已经被定义死了,必须是10000,不可能再变为其他的数。
return 0;
}
#include<stdio.h>
enum sex//枚举变量
{
male;
female;
secret;
}//上面三个为枚举常量
int main()
{
enum sex s = male
return 0;
}
变量,即能被改变的量,例如:
int a = 1;
a += 1;
//而变量又分为局部变量和全局变量
//全局变量作用域是整个源文件,在同一个源文件下别的cpp文件之中也可以声明一下再调用(由此可知全局变量的生命周期就是整个函数的生命周期)
//局部变量作用域是变量所在的局部范围(因为它出了相应的作用的范围生命周期便结束了)
全局变量的声明:
int a = 1;//此处为cpp文件1中
#include<stdio.h>//此处为cpp文件2中
extern int a;//此处为调用上一个文件的全局变量
int main()
{
printf("%d\n",a);
return 0;
}
局部变量的作用域与生命周期理解理解:
#include<stdio.h>
int main()
{
{
int a = 2;
printf("%d\n",a);
}
printf("%d\n",a);
return 0;
}//如图,4至7行即为局部变量的作用域也是其生命周期的从开始到结束的全过程
//第8行为无效代码,此时的a已经"死亡"