c语言是一门计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
二十世纪八十年代,为了避免开发厂商用的C语言语法产生的差异,由美国国家标准局为C语言制定了一套完美的美国国家标准语法,称为ANSIC,作为C语言标准
C语言的代码:
工具;编译器
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等
vs2013/vs2019-集成开发环境-集成了MSVC这样的编译器
xxxx.c ---源文件
xxx.h-----头文件
c语言是从主函数的第一行开始执行的
所以c语言代码中得有main函数-入口
// 编译+链接+运行代码
// 快捷键:ctrl+f5
一个工程中出现了多个main函数
1 一个工程中可以有多个.c文件
2 但是多个.c 文件中只能有一个main函数
计算机中的单位换算
bit - 比特位-
byte-字节 = 8bit
kb - 1024byte
mb - 1024kb
gb - 1024 mb
tb - 1024 gb
pb - 1024tb
sizeof - 关键字 - 操作符 - 计算类型或者 变量所占空间的大小
sizeof的单位是字节
c语言的常见数据类型以及所占空间的大小
char 1字节
short 2字节
int 4字节
long 4字节
long long 8 字节
float 4字节
double 8字节
C语言标准:
sizeof(long) >= sizeof(int)
int a = 100;
int main()
{
// 局部变量 -{} 内部定义的
// 当局部变量和全局变量名字冲突的情况下,局部优先
int a = 10;
printf("比特\n");
printf("%d\n", a);
return 0;
}
控制台输出 10
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Project1 F:\software_demo_path\visual_studio\c_study\Project1\Project1\test.c 17
scanf_s 函数 -VS 编译提供的,不是C语言标准规定的,为了跨平台,推荐使用scanf
在.c文件添加如下:
#define _CRT_SECURE_NO_WARNINGS 1
作用范围
1 局部变量的作用域是变量所在的局部范围
2 全局变量的作用是整个工程
生命周期
1 局部变量:进入作用域生命周期开始,出作用域生命周期结束
2 全局变量:整个程序的生命周期
extern 声明变量
在test1.c 中定义一个变量g_val , 在另一个文件test.c 中使用时候,需要添加关键子extern,才能使用
常量
1 //const 修饰
const int num = 10; // num 就是常变量 - 具有常属性(不能被改变的属性)
2 #define 定义的标识符常量
#define MAX 100
3 枚举常量
可以一一列举的产量
// 性别
enum Sex
{
// 这种枚举类型的变量未来的可能取值
// 枚举常量
MALE = 3 ,//赋初值
FEMAL,
SELECT
};
// 枚举常量
// 可以一一列举的常量
enum Sex s = MALE;
字符串“”“”
char arr1[] = "abc"; // 长度为3
char arr2[] = {'a','b','c'}; //长度随机,可能10 可能15
这种有符号引起来的一串字符称为字符串字面值(String Literal),或者简称字符串
注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0 是结束标志,不算作字符串内容