总字符数: 17.68K
代码: 16.22K, 文本: 1.24K
预计阅读时间: 1.26 小时
类型
char | 1 字节 | -128 到 127 或 0 到 255 |
unsigned char | 1 字节 | 0 到 255 |
signed char | 1 字节 | -128 到 127 |
int | 2 或 4 字节 | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
unsigned int | 2 或 4 字节 | 0 到 65,535 或 0 到 4,294,967,295 |
short | 2 字节 | -32,768 到 32,767 |
unsigned short | 2 字节 | 0 到 65,535 |
long | 4 字节 | -2,147,483,648 到 2,147,483,647 |
unsigned long | 4 字节 | 0 到 4,294,967,295 |
运算符 | 描述 | 实例 | |
---|---|---|---|
+ | 把两个操作数相加 | A + B 将得到 30 | |
- | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 | |
* | 把两个操作数相乘 | A * B 将得到 200 | |
/ | 分子除以分母 | B / A 将得到 2 | |
% | 取模运算符,整除后的余数 | B % A 将得到 0 | |
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 | |
– | 自减运算符,整数值减少 1 | A– 将得到 9 | |
运算 符 | 描述 | 实例 | |
== | 检查两个操作数的值是否相等,如果相等则条件为真。 | (A == B) 为 假。 | |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (A != B) 为真。 | |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (A > B) 为假。 | |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (A < B) 为真。 | |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为 真。 | (A >= B) 为 假。 | |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为 真。 | (A <= B) 为 真。 | |
运算 符 | 描述 | 实例 | |
&& | 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 | (A && B) 为 假。 | |
称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为 真。 | (A | ||
! | 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻 辑非运算符将使其为假。 | !(A && B) 为 真。 |
1 | /* |
static
变量的作用
局部静态变量
生命周期:局部静态变量在程序的整个生命周期内存在,但它的作用域仅限于定义它的函数。
初始化:局部静态变量在第一次进入定义它的函数时被初始化。之后,即使函数被多次调用,它们的值也会保持不变。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void func() {
static int count = 0; // 局部静态变量
count++;
printf("count: %d\n", count);
}
int main() {
func(); // 输出: count: 1
func(); // 输出: count: 2
func(); // 输出: count: 3
return 0;
}count
是一个静态局部变量。它在func
函数第一次被调用时初始化为 0,然后在每次调用func
时递增,但不会在函数调用结束时被销毁。全局静态变量
作用域:全局静态变量的作用域仅限于定义它的文件,不同文件中的全局静态变量互不影响。
生命周期:全局静态变量在程序的整个生命周期内存在。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static int count = 10; // 全局静态变量
void func() {
count++;
printf("count: %d\n", count);
}
int main() {
func(); // 输出: count: 11
func(); // 输出: count: 12
return 0;
}在这个例子中,全局静态变量
count
在整个程序的生命周期内存在,但它的作用域仅限于定义它的文件。
static
函数- 作用域:静态函数的作用域仅限于定义它的文件,不能被其他文件中的代码调用。这有助于隐藏实现细节。
- 生命周期:静态函数和普通函数的生命周期一样,都是在程序执行期间。
1
2
3
4
5
6
7
8
9
10
static void func() { // 静态函数
printf("This is a static function.\n");
}
int main() {
func(); // 输出: This is a static function.
return 0;
}在这个例子中,
func
是一个静态函数,它只能在定义它的文件中调用,不能被其他文件中的代码调用。
局部静态变量:在函数中定义,作用域仅限于函数,但生命周期贯穿整个程序运行期间。
全局静态变量:在文件中定义,作用域仅限于文件,但生命周期贯穿整个程序运行期间。
静态函数:仅在定义它的文件中可见,有助于隐藏实现细节。
循环
1 |
|
判断
1 |
|
数组
1 |
|
内存
1 |
|
指针
既然内存都申请了,按照内存的原理,肯定会有地址.所以也就引出了C语言的核心:指针.
1 |
|
结构体
1 |
|
进程
1 |
|