大家好呀,我是L_Daniel。本篇文章我将讲解c语言及其一些基础知识,希望对想要快速了解c语言的铁子们有一个帮助,码字不易,望多多支持。
1. 什么是C语言
2. 第一个C语言程序
#include<stdio.h>
int main() {
printf("hahahaha\n");
printf("hello,are you ok?");
return 0;
}
在上述代码中,printf是一个库函数,是C语言编译器提供的一个现成的函数,可直接使用。但是在使用之前得包含头文件:stdio.h。同时,代码一般是从main函数开始写的,main函数有且仅有一个,而程序也是从main函数的第一行开始执行的。
3. 数据类型
代码表示 | 数据类型 | 占用空间大小(字节) |
---|---|---|
char | 字符数据类型 | 1 字节 |
short | 短整型 | 2 字节 |
int | 整型 | 4 字节 |
long | 长整型 | 4 字节 |
long long | 更长的整型 | 8 字节 |
float | 单精度浮点型 | 4 字节 |
double | 双精度浮点型 | 8 字节 |
4. 变量
生活中有些值是可变的,比如:年龄,体重,薪资等。C语言中当然也存在值是可变的。
4.1 变量的命名
变量的命名必须遵循以下几点原则,否则编译器无法编译而进行报错:
1.只能由字母(包括大写和小写)、数字和下划线( _ )组成。
2.不能以数字开头。
3.长度不能超过63个字符。
4.变量名中区分大小写的。
5.变量名不能使用关键字。
4.2 定义变量
定义变量有两种方式:(1) 数据类型 变量名; (2) 数据类型 变量名=初始值;
注意:当99.9小数直接写出来时,编译器默认是double类型,而63.2f这个时候写出来就是float类型。也就是说,当我们想要给单精度浮点型(float)的变量赋初值时,要在初值后面加上 f,便于编译器区分。
#include<stdio.h>
int main() {
// 数据类型 变量名
int num;
// 数据类型 变量名=初始值
int num1 = 22;
float weight = 63.2f;
double weight2 = 99.9;
return 0;
}
4.3 变量的使用
变量又可分为 局部变量 和 全局变量,下面我将介绍这两种变量如何使用以及它们的使用范围。
#include<stdio.h>
// 全局变量
int global = 99;
int g2 = 16;
void text() {
printf("global of test is %d\n", global);
}
int main() {
int a = 10; // 局部变量
printf("a=%d\n", a);
{
int b = 22; // 局部变量
printf("b=%d\n", b);
}
//printf("b=%d\n", b); // 会报错
printf("global of main is %d\n", global);
text();
int g2 = 20;
printf("g2 = %d\n", g2);
return 0;
}
在上述代码种,我定义了两个局部变量a,b并分别打印,而如果将变量b在离它最近的大括号外面输出打印时,编译器则会报错: error C2065: “b”: 未声明的标识符。也就是说,局部变量的作用范围在离它最近的大括号{}内均可使用。
我还定义了一个全局变量global,并分别在main函数和text函数中输出打印,结果如下,由此可知,全局变量的作用范围不仅仅在main函数中,而是在整个工程当中。
同时,为了测试全局变量和局部变量重名时的情况,我定义了一个全局变量g2,在main函数中定义了一个局部变量也为g2,并分别赋予初值,打印输出时显示的是局部变量中的值(如下图)。所以当全局变量和局部变量重名时,编译器会优先使用局部变量。
4.4 变量的作用域和生命周期
5. 常量
#include<stdio.h>
// 4.枚举常量
// 注:枚举常量的默认是从0开始,依次向下递增1的
enum Sex
{
MALE=3,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
// 1.字面常量演示
3.14;// 字面常量
1000;// 字面常量
// 2.const修饰的常变量
const float pai = 3.14f; // 这里的pai是const修饰的常变量
// pai = 5.14; //是不能直接修改的!
// 3.#define的标识符常量 演示
#define MAX 100
printf("max = %d\n", MAX);
// 4.枚举常量演示
printf("male = %d\n", MALE);
printf("female = %d\n", FEMALE);
printf("secret = %d\n", SECRET);
return 0;
}
在上述代码中,我分别对4种常量进行了演示,输出结果如下。
int main() {
// 常属性
// 这里的a是具有常属性的,不能改变,但本质上还是变量
const int a = 10;
// 数组
const int n = 9;
int arr[n]; // 会报错:应输入常量表达式,因此n本质上还是变量
return 0;
}
本文就先写到这里吧,后续我也会不定期的更新C语言的相关知识,让对C语言感兴趣的铁子们更加的了解C语言!