初识C语言(1)
初次新建项目并编写代码
使用VS2019,新建一个C++的空项目test_1
在解决方案资源管理器
中找到 test_1
,右键其中的源文件进行新建一个test.c
编写代码
1 | //1.主函数(main函数) |
数据类型
char - 字符数据类型
short - 短整型
int - 整型
long - 长整型
long long - 更长的整型
float - 单精度浮点数
double - 双精度浮点数
注:float与double的区别在于 double的精度会高于float
比如圆周率3.1415926… 用float来表示,最多精确到小数点的后6位,而double大约可以精确到小数点后15位左右,具体精确的位数和编译器有关
当然,double的占用内存空间也更高
数据类型的占用内存
sizeof
用于计算数据类型和变量所占空间的大小
1 | printf("%d\n", sizeof(char));//1 |
注:在C语言标准中 sizeof(int) >= sizeof(long) 即可, 所以两者都是4 byte的大小
那么,sizeof
的单位是什么呢?
答案是:字节 - byte
扩展:计算机中的单位:
bit - 比特位 (一个比特位可以储存一个二进制位)
byte - 字节 - 8bit
kb - 1024byte
mb - 1024kb
gb - 1024mb
tb - 1024gb
pb - 1024tb
常量与变量
常量 - 不能改变的量
变量 - 能被改变的量
变量
定义变量
数据类型 变量名 = 值 ;
1 | //%lf 表示打印的是一个双精度浮点数 |
变量的分类
变量分为:局部变量和全局变量
1 | //全局变量 - {}外部定义的变量 |
变量的应用
1 | //计算输入的两个值的和 |
注意这时会报一个错误,告诉你无法使用scanf
,请替换成scanf_s
而scanf_s
函数是VS编译提供的,并不是C语言标准,只能在VS编译器下运行
‘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.
在文件第一行加上下列代码即可解决报错
1 |
也可以找到vs的根目录,搜索newc++file.cpp
文件,管理员运行后添加以上代码,之后新建的文件都会自动填写上这串代码
变量的作用域
局部变量的作用域:就是变量所在的局部范围
全局变量的作用域:整个工程
1 | //作用域和生命周期 |
注意:全局变量的作用域是整个工程,你可以在其他源文件中定义一个全局变量
1 | int val = 2023; |
当你需要在其他文件使用这个全局变量时,你需要声明变量才可以使用
1 | //声明变量 |
生命周期
变量的生命周期:变量的创建和销毁之间的时间段
局部变量的生命周期:进入作用域时生命周期开始,出作用域生命周期结束
全局变量的生命周期:程序的生命周期
常量
常量的分类
- 字面常量
const
修饰的常变量- #define定义的标识符常量
- 枚举常量
字面常量
1 | //1.字面常量 |
const
修饰的常变量
1 | //2.`const`修饰的常变量 |
#define定义的标识符常量
1 | //3.#define定义的标识符常量 |
枚举常量
1 | //性别 |