目录
1.什么是C语言
C语言是一种计算机编程语言,广泛应用于底层开发。
(1)计算机语言:人与电脑沟通使用的语言
(2)底层开发:操作系统及以下的开发
2.第一个C语言程序
#include <stdio.h>
int main(){
printf("hello word!!");
return 0;
}
解析:
1.#include <stdio.h> 该指令是一个预编译指令,作用为引入库函数。
2.main是主函数,在一个C工程中,有且只有一个main函数,main函数为程序的入口。
3.printf是输出函数,该函数为库函数,作用是输出引号中的内容。
4.return作用是返回函数的值。
3.数据类型
char | 字符型 |
short | 短整型 |
int | 整型 |
long | 长整型 |
long long | 更长的整型 |
float | 单精度浮点型 |
double | 双精度浮点型 |
(1)以上类型在内存中的大小分别是多少呢?
我们可以通过操作符sizeof来计算出内存的大小(单位字节),%d是格式化输出,如下图(本文采用VS2022编译器)
(2)为什么会出现这么多类型呢?
存在这么多类型,其一是可以更加丰富表达生活中的值,其二还可以节约内存,优化代码,比如,人的年龄可以用短整型,人的年龄基本不会超过100,用只占用2个字节的short型更加节约储存空间。
4.变量和常量
变量即值可以改变,常量即值不可改变
4.1变量的定义
变量的定义分为两部分,头部为变量的类型,尾部为变量的标识符与值,如下图
#include <stdio.h>
int main(){
char ch = 'a';
int age = 18;
float weight = 65.5f;
return 0;
}
注:在c语言中,如果直接写小数,编译器默认认为是double类型的值,如果想要float类型值,则需要在值后加上f。
4.2标识符的命名规则
标识符一般需要遵守以下命名规则:
(1)只能由字母(包括大写和小写)、数字和下划线( _ )组成。
(2)不能以数字开头。
(3)长度不能超过63个字符。
(4)变量名中区分大小写的。
(5)变量名不能使用关键字。
4.3变量的分类
- 局部变量
- 全局变量
#include <stdio.h>
int global = 2021; //全局变量
int main(){
int local = 2022; //局部变量
return 0;
}
可以通俗理解为:括号里面的是局部变量,括号外面的是全局变量。
(1)那么当全局变量与局部变量同名时,哪个变量更优先使用呢?
通过以上代码,不难看出,当局部变量和全局变量重名时优先使用局部变量。
4.4变量的作用域与生命周期
(1)作用域(起作用的范围)
局部变量的作用域是变量所在的局部范围
全局变量的作用域是整个工程
解析:在第八行中引用变量a未报错,第十行引用变量a提示未定义,证明了局部变量的作用域仅在定义的括号内的局部范围起作用。
解析 :在add.c文件中定义a变量并赋值,在test.c文件中依然可以使用,证明了全局变量的作用域是整个工程。
(2)生命周期(变量从创建到销毁之间的一个时间段)
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期是:整个程序的生命周期。
4.5 常量
- 字面常量
- const 修饰的常变量
- #define 定义的标识符常量
- 枚举常量
(1)字面常量
#include <stdio.h>
int main(){
//字面常量举例
"abc"
18
5.5
return 0;
}
(2)const修饰的常变量
被const修饰的变量本质上还是变量,只是给该变量加上了常量的属性
(3) #define 定义的标识符常量,如下图
(4)枚举常量
#include <stdio.h>
//创建一个枚举类型
enum Color
{
RED, //默认值为0,以此类推,后面依次加一
YELLOW, //默认值1
BLUE //默认值2
};
int main() {
//将枚举类型实例化
enum Color c = RED;
return 0;
}