目录
1、什么是C语言
人和计算机沟通的一门语言,广泛应用于底层开发(底层:操作系统和驱动层;上层:应用软件)。
C语言是一门编译型语言,要经过编译,也就是翻译的过程才能被执行。
编译器:
GCC(Linux) MSVC(微软)Clang(苹果)
ANSI C:
美国国家标准局制定的标准语法。
2、开始第一个C语言程序
集成开发环境(IDE):
VS2019 把开发所需要的工具集成在一起
(代码的编辑、编辑+链接MSVC、调试)
写代码的步骤:
(1)创建项目:
创建新项目、空项目、更改项目名字,使用英文,不使用空格和特殊字符、路径E盘code。
视图、解决方案资源管理器
(2)创建.c文件:
c语言中一般有两种文件:.h头文件 header .c源文件
源文件、添加、新建项目(vs2022 点击显示所有模版)、选c++文件(.cpp)、更改名称xxx.c
(3)写代码:
使用c语言写一个代码,打印hello
main主函数:
执行从main函数第一行开始执行
有且仅有一个。在一个工程中,可以有多个.c文件,但main总共只能有一个
main(void):
可以使用,代表main函数不接受参数
void main():
不建议,古老写法
printf库函数:
标准库中提供的函数,使用库函数需要包含对应头文件stdio.h
(4)运行代码(编译+链接+运行)
(Fn)Ctrl+F5 或者 调试、开始执行(不调试)
3、数据类型
内置数据类型(另一种是自定义数据类型)
sizeof(xxx)函数:
是一种用于获取一个变量或数据类型的字节数的运算符。它返回一个无符号整数值,并可以用于计算任何数据类型的大小。
C语言中的单位换算:
bit 比特:
1个二进制位的存储需要1bit的空间
Byte 字节:
1Byte=8bit
KB:
1KB = 1024Byte
GB、TB、PB(1024进制)
c语言标准规定:
只要满足sizeof(long) >= sizeof(int)就行
比如 4 4
或者 8 4
而sizeof(long loang)则一直为8
4、变量、常量
变量的命名
- 只能由字母、数字、下划线组成
- 不能以数字开头
- 长度不超过63字符
- 区分大小写
变量的分类
局部变量
在{}中的变量,只在{}内使用
全局变量
在{}外的变量,范围广
局部变量和全局变量名字相同的情况下,局部优先
变量的运算
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//写一个代码,完成两个整数相加的运算
int main()
{
int a, b, sum;
printf("请输入两个要加和的整数:\n");
scanf("%d %d", &a, &b);
sum = a + b;
printf("得到的值为:\n%d", sum);
return 0;
}
当使用scanf时VS提示不安全
方法一:
在当前文件第一行写上#define _CRT_SECURE_NO_WARNINGS
方法二:
进行以下操作使得每一个VS安装完之后都有一个名为new++file.cpp的文件
- 使用eveything,搜索此文件,点击打开路径后拷贝到桌面上
- 跳转到所在位置后,使用记事本打开。在记事本上输入#define _CRT_SECURE_NO_WARNINGS
- 再将桌面的文件覆盖掉
- 此时新建文件时就默认第一行有这句话
方法三:
替换scanf函数为scanf_s。
但是若是使用了这个函数,那就代表只能在VS上使用,则代码失去了可移植性
变量的作用域和生命周期
作用域
一个变量在哪里可以使用哪里就是它的作用域
局部变量
局部变量所在的局部范围,也就是所在{}内
全局变量
全局变量在整个函数范围内都可以使用
要使用同一项目下的.c文件所定义的全局变量,必须要在函数主体前写上声明外部符号"extern int val"
生命周期
创建变量的本质是像内存申请空间,不使用的变量将会回收,释放空间,即生命周期走到尽头。
局部变量
生命周期与作用域范围相同
全局变量
生命周期为整个程序的生命周期
常量
字面常量
3.14
const修饰的常变量
- 格式:const int a=1(或者)int const a=1
- const为关键字,具有常属性,即不能改变的属性
- 定义后,后续不能改变,但a本质仍为变量,只是在语法层面被限制
- 不可以作为数组大小
#define定义的标识符常量
- 格式:#define pai 3,14
- 定义后不能更改
- 可以作为数组大小,前提是数字为整形
枚举常量
- 格式:
- 运用
- 枚举类型关键字为enum
- 例如三原色=红、黄、蓝,性别=男、女、保密
- {}内列出的是枚举的可能取值,即枚举常量
- 默认枚举取值从0开始,也可以自行定义,定义后不能更改