一、前言
- 本人是一名小白,这一篇是记录我初识C语言的第二部分的所学所得,仅为简单的认识下C语言中的各个知识。
二、变量、常量
1.介绍
- 在日常生活中,有些值是不变的(比如:圆周率等)。
- 有些值是可变的(比如:年龄等)。
- 在C语言中,不变的值用常量的概念来表示,可变的值用变量的概念来表示。
2.定义变量的方法
- 类型+变量名(有意义的)= 一个值(好的习惯:在创建变量的同时给一个初始值)
int age = 18;
double salary = 20000.0;
//好的习惯:在创建变量的同时给一个初始值
- 类型+变量名(不是好习惯,会报错)
举例:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int m;
printf("%d\n", m);
return 0;
}
编译器会出现以下报错
但当我们给一个初始值
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int m = 0;
printf("%d\n", m);
return 0;
}
运行结果
3.变量的命名(重点)
- 只能由字母(包括大写和小写)、数字和下划线( _ )组成。(原则上)
- 不能以数字开头。
- 长度不能超过63个字符。
- 变量名中区分大小写的。
- 变量名不能使用关键字。
4.变量的分类
- 局部变量(大括号外部)
- 全局变量(大括号内部)
举例:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int a = 0;//全局变量
int main()
{
int b = 0;//局部变量
return 0;
}
int c = 0;//全局变量
- 当局部变量和全局变量同名的时候,局部变量优先使用。
- 建议尽量不要冲突
举例
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int a = 0;
int main()
{
int a = 2;
printf("%d\n", a);
return 0;
}
运行结果
5.变量的使用
- 例子:加法的运算
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d %d", &a, &b);
//scanf是一个库函数,可以从键盘接收数据
c = a + b;
printf("c=%d\n", c);
return 0;
}
运行结果
6.变量的作用域和生命周期
1.作用域
- 作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
1. 局部变量的作用域是变量所在的局部范围。
这里的局部范围指的是所在的最近的大括号的范围内(局部区域,代码块)。
举例:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
{
int a = 10;
printf("%d\n", a);
}//代码块
return 0;
}
运行结果
但是如果这样在另一个大括号则不行了
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
{
int a = 10;
}
printf("%d\n", a);
return 0;
}
报错
2. 全局变量的作用域是整个工程。
举例
1.
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int b = 2022