【三刷C语言】各种注意事项
✨ 个人主页:在线OJ的阿川
💖文章专栏:C语言入门到进阶
🌏代码仓库:
写在开头
现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论
目录
- 1. 编译器
- 多提一句
- 多提二句
- 2. ASCII码表
- 多提三句
- 3. 操作符
- 4. 关键字
- 多提四句
1. 编译器
使用的编译器是Visual Studio Istaller2022编译器,在c语言当中通过编译再加链接,可以生成一个可执行程序(.exe)。
多提一句
-
在C语言中,main函数表示程序的入口。
-
\n 表示换行,注意是反斜杠 \ 。
-
%d 表示以10进制输出的一个整数。
-
首先我们先来打印一下所有的数据类型的大小
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
return 0;
}
- 再其次写一个刚进入编程中必写的两数之和:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a; int b;
scanf("%d %d", &a, &b);
int c = a + b;
printf("%d\n", c);
return 0;
}
多提二句
-
在 printf 函数中根据要打印的类型不同,从而参数也不同。
-
在同一个工程下,若要使用同工程下的点c文件中的变或常量,则需要声明外部符号。
-
C语言中的常量:
- 字面常量(如3.14,4,“hello”,‘a’)
- const的修饰的常变量
- #define定义的标识符常量
- 枚举常量enum
- 注释
- 切记嵌套注释。
- 在字符串中它会默认以\0结束,但是不会作为其字符串中的大小。
-
转义字符
- 转变原有意思,但它本身还是一个字符
常见的有:
- \n 换行
- \t 水平制表符
- \a 系统警告,就是系统响一声
- \b 光标退格符
- \ 可将转义字符转成普通的字符
- \ddd 1~3个8进制的
- \xdd 1~2个16进制的
这里详细讲一下\b 光标退格符
详细讲一下
- \ddd 1~3个8进制的
- \xdd 1~2个16进制的
2. ASCII码表
多提三句
-
Scanf 的返回值是读取有效数据的个数,如果读取失败则返回的是EOF(error of file) ctrl+z可以直接让scanf的返回值为EOF.
-
除法有:
- 整数除法
- 浮点数除法
浮点数除法条件是:至少有一位是浮点数。
- 返回值类型,编译器默认为double类型,若要float类型,则要浮点数f
- 前置加加减减,后置加加减减:
以一个例子就明白了
3. 操作符
-
移位操作符/位操作符(均与二进制有关)
- 移位操作符: >> <<
- 位操作符:& | ^
-
单目操作符(一个操作数)
- 取地址 &
- 解引用 *
- 对一个数的二进制按位取反 ~
-
其他操作符
[ ]下标引用操作符
()函数调用操作符
. → 结构成员操作符
4. 关键字
- auto
- 自动
- int a = 1;
- 这种局部变量,它其实前面省略了auto;
- 也就是它会自动创建栈帧,自动销毁栈帧,就是因为省略了auto.
- 自动
多提四句
- 逗号表达式( , , ,)
- 从左往右依次计算,将最后一个结果作为表达式的最终结果
数据存放
- 电脑上存放数据
- 其实最开始只有内存和硬盘。
- 内存大概分为三个区域:
但随着 CPU(通用计算芯片)高速发展,处理速度越来越快,导致系统从内存中读取数据跟不上,从而出现了缓存和寄存器,尤其是寄存器,读取数据速度很快,可以跟上CPU的处理速度.
- register 寄存器
5. 类别讲解
-
分支类
- switch case
- default
- 默认
-
循环类
- do while
-
自定义类型
-
struct 结构体类型
-
union 联合体类型
-
-
修饰类型
- unsigned/signed 无符号/有符号类型
- typedef 类型重定义
- static 静态的
-
修饰局部变量,变成静态局部变量
- 不销毁栈帧,生命周期延长,但作用域未延长
- 不销毁栈帧,生命周期延长,但作用域未延长
-
修饰全局变量或函数变成静态全局变量或函数
- 会使全局变量或函数的外部链接属性失效
-
- 宏类型
- define 宏定义
- 在预处理阶段,直接进行替换
- 在预处理阶段,直接进行替换
- define 宏名(参数) (函数体) 宏
- 本质:还是替换
- define 宏定义
6. 夹带私货
若你能看到看到这篇文章且能看到这,则说明你我有缘,留个关注吧,后面还会接着计算机408、底层原理、开源项目、以及数据、后端研发相关、各种竞赛相关、简历相关、考研、学术相关……,祝你我变得更强
道阻且长 行则将至 |
---|
个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力 |