文章目录
1、数据类型2、变量和常量2.1变量2.1.1定义变量的方法2.1.2变量的分类2.1.3变量的使用2.1.4变量的作用域和生命周期 2.2常量2.2.1字面常量2.2.2const 修饰的常变量2.2.3#define 定义的标识符常量2.2.4枚举常量1、数据类型
每种类型的大小是多少?我们试着打印一下就知道啦!
分析:
%d:打印一个整数;\n:换行符;我们这里引入了sizeof操作符,它作用是计算类型或者变量所占空间的大小。我们打印出来的每个数据类型都有对应的数字,他们的单位是什么呢?他们的单位是字节(byte)。1byte=8bit
计算中的单位:
bit - 比特位
byte - 字节 =8bit
kb =1024byte
mb =1024kb
gb =1024mb
tb =1024gb
pb = 1024tb
这里需要注意的是long的大小是4个字节或者是8个字节,因为C语言规定: sizeof(long) >= sizeof(int),所以long的大小可以是4个字节或者是8个字节。
注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。类型是用来创建变量的,创建变量的本质是向内存申请空间。
2、变量和常量
生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)
不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。
2.1变量
2.1.1定义变量的方法
#include <stdio.h>int main(){//定义变量的方法:数据类型 + 变量的名字 = 数值int age = 19;age = age + 1;printf("%d\n", age);return 0;}
运行结果:
分析:
int 表示为age的数据类型,=是赋值的意思。
补充:打印函数中
%d:十进制整数(int);
%ld: 十进制整数(long);
%s: 字符串(char);
%lf: 双精度浮点数(double);
%f: 单精度浮点数(float)。
2.1.2变量的分类
局部变量 - {}内部定义的变量全局变量 - {}外部定义的变量#include <stdio.h>int a = 20;//全局变量int main(){int b = 10;//局部变量int a = 5;//局部变量printf("a=%d\n",a);return 0;}
运行结果:
总结:
上面的局部变量a变量的定义其实没有什么问题的!
当局部变量和全局变量同名的时候,局部变量优先使用。但是不建议局部变量和全局变量同名。
2.1.3变量的使用
//写一个代码,计算两个整数的和#include <stdio.h>int main(){int num1 = 0;int num2 = 0;//初始化//输入两个整数scanf("%d %d", &num1, &num2);//求和int sum = num1 + num2;//输出printf("%d\n", sum);return 0;}
scanf 是一个输入函数printf是一个输出函数
2.1.4变量的作用域和生命周期
作用域作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。 局部变量的作用域是变量所在的局部范围。全局变量的作用域是整个工程。
生命周期变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。全局变量的生命周期是:整个程序的生命周期。
2.2常量
C语言中的常量分为以下以下几种:
2.2.1字面常量
字面常量如:3.14;30;100;……
2.2.2const 修饰的常变量
#include <stdio.h>int main(){const int a = 10;a = 20;printf("%d\n", a);return 0;}
注意!运行出来会有报错;因为在C语言中,const修饰的a,本质是变量,但是不能直接修改,有常量的属性。直接修改程序会出现问题,编译器无法进行编译。
2.2.3#define 定义的标识符常量
#include <stdio.h>#define MAX 100int main(){printf("%d\n", MAX);int a = MAX;printf("%d\n", a);return 0;}
运行结果:
分析:#define MAX = 10 其中MAX 是标识符,#define定义的不局限于整数,还可以打印字符串。
2.2.4枚举常量
枚举常量可以一一列举的量
enum 为枚举常量的关键字,用于定义枚举类型,默认值从零开始。
#include <stdio.h>enum sex{MALE,FEMALE,SECRET};//这里说明有自定义enum这个类型,这种枚举类型的可能取值。int main(){enum sex s = MALE;//定义变量s为MALE,类型为enum sex的枚举常量printf("%d\n", MALE);printf("%d\n", FEMALE);printf("%d\n", SECRET);return 0;}
运行结果:
今天的初始C语言就先到这里啦,我将初始C语言分了几个部分,还有的在下次笔记,如果有哪里写的不好的地方,请指正,谢谢观看!Fighting!!!✊