目录
什么是C语言
C语言就是众多能和计算机交流语言之一,是一种偏向于底层开发的语言。
适用于底层
在计算机中硬件,驱动层,操作系统被称为底层,C语言最擅长的就是针对这一部分编程。
发展史
机器语言---->汇编语言(助记符)---->B语言 ---->C语言。
标准
作为一门历史悠久的语言,C语言是有着统一标准的,这个标准是由ANSI(美国国家标准总局)指定的,截止目前已经经历了C89 C90 C99 C11等多个版本(请注意这里,不同的编译器支持的版本不同,编程时可能有些许差异)。
第一个C语言程序
标准写法
程序入口
main函数是C语言规定的唯一入口。
函数类型与返回值
标准写法中,int main()与return 0;语句总是成对出现,这表明main函数返回类型是int类型,所以返回值必须是整型。
数据类型
C语言对数据进行分类,基础分为整型与浮点型,每种下面还有细分
基础类型 | 扩展类型 |
整型 | char 字符 |
整型 | short 短整型 |
int 整型 | |
long 长整型 | |
long long 长长整型 | |
浮点型 | float 单精度浮点型 |
double 双精度浮点型 |
为什么会有数据类型
现实中有文字,整数,小数三种类型的数据,为了描述不同的情况所以C语言中也有这三种类型的数据。
为什么细分数据类型
数据存储在内存中,为了节约空间,所以细分了不同的类型。
二进制与内存
计算机只能理解二进制,也就是0和1的组成形式,二进制中的0或1称为1个比特位,每个比特位占据一个内存空间。
数据单位 | 大小 |
bit | 最小单元 |
byte | 8bit |
kb | 1024byte |
mb | 1024kb |
gb | 1024mb |
tb | 1024tb |
类型的使用
int a = 10;
float b=2.0;
char c='a';
类型用来声明变量时,会开辟大小不同的空间,同时存储和读取数据的方式也有所不同。
每种类型不同的大小
类型 | 单位 | 32位 | 64位 |
char | 字节 | 1 | 1 |
short | 字节 | 2 | 2 |
int | 字节 | 4 | 4 |
long | 字节 | 4 | 4 |
long long | 字节 | 8 | 8 |
float | 字节 | 4 | 4 |
double | 字节 | 8 | 8 |
int类型与long类型大小相同,是因为C语言中规定sizeof(long)>=sizeof(int)。
常量和变量
什么是常量和变量
C语言中和常量是不变的值,变量则是在程序运行中变化的值。
定义变量方法
int a=10;
float b=2.0;
变量的分类
变量分为局部变量和全局变量
局部变量
int main()
{
int a=10;
return 0;
}
在{}范围内定义的就是局部变量 。
全局变量
int a=10;
int main()
{
printf("%d",a);
return 0;
}
在{}外定义的就是全局变量。
局部变量和全局变量有如下特点:
1、同一个范围内,局部变量不能重名。
2、全局变量与局部变量可以重名。
3、全局变量与局部变量重名时,局部变量优先使用 。
变量的使用
下面的代码创建变量的时候并给他们赋值,本质上就是在内存中开辟了一块空间,同时给这个空间放入一个值,这一步也叫做初始化。
int main()
{
char c = 'a';
short s = 0;
int i = 0;
long l = 0;
long long ll = 0;
float f = 0.00f;
double = 0.00;
system("pause");
return 0;
}
变量的作用域与生命周期
作用域 | 生命周期 | |
局部变量 | 局部范围内 | 从进入局部范围开始,到出局部范围结束 |
全局变量 | 整个工程内 | 约等于整个工程 |
#include<stdio.h>
#include<stdlib.h>
extern int a;
int main()
{
printf("%d", a);
system("pause");
return 0;
}
int a = 10;
以上代码来自不同的源文件,a是全局变量,所以可以在整个工程内进行使用