一、什么是C语言
1、就像我们人与人之间沟通一样会使用语言(中文,英文,俄语等),人与计算机沟通也会有语言,C语言,C++,python,java,GO等
二、C语言的历史
三、编译器的选择
GCC
GCC(GNU Compiler Collection)是一款开源的C语言编译器,支持多种操作系统和平台。GCC 具有很高的编译速度和良好的代码质量,同时还提供了丰富的编译选项和优化选项,可以生成高效的可执行文件。由于其开源和跨平台的特点,GCC被广泛应用于各种开源项目和跨平台应用程序的开发中。
下载地址: GCC, the GNU Compiler Collection- GNU Project
Clang
Clang 是一款开源的 C语言编译器,由 LLVM 项目开发。Clang 具有很高的编译速度和优秀的代码质量,同时还提供了丰富的编译选项和静态分析工具,可以帮助开发者发现潜在的代码问题。Clang 还支持多种操作系统和平台,并且可以与其他 LLVM 工具集成使用,如 LLDB 调试器和 Clang-Tidy 代码检查工具等。
下载地址: Clang C Language Family Frontend for LLVM
Visual C++
Visual C++ 是微软公司开发的一款 C++ 编译器,集成于 Visual Studio 开发环境中,支持 Windows 平台。Visual C++ 具有很高的编译速度和良好的兼容性,同时还提供了丰富的开发工具和调试工具,如 Visual Studio Debugger、IntelliSense 自动完成和代码重构等。由于其专门针对 Windows 平台进行优化,Visual C++ 在 Windows 开发中具有很高的适用性。
下载地址: Visual Studio C/C++ IDE and Compiler for Windows
Turbo C++
Turbo C++ 是一款经典的 C++ 编译器,由 Borland 公司开发,支持 DOS 和 Windows 平台。Turbo C++ 具有很高的编译速度和优秀的代码质量,同时还提供了易用的开发工具和调试工具,如 Turbo Debugger 和 Turbo Profiler 等。由于其兼容性和易用性,Turbo C++ 曾经是许多程序员的首选编译器之一。
下载地址: http://turboc.codeplex.com/
ICC
ICC(Intel C++ Compiler)是一款由英特尔公司开发的 C++ 编译器,支持多种操作系统和平台。ICC 具有很高的编译速度和优秀的代码质量,可以生成针对英特尔 CPU 优化的可执行代码,同时还提供了丰富的编译选项和优化选项,如 SIMD 指令优化、多线程并行编译和向量化等。由于其针对英特尔 CPU 的优化特点,ICC 在科学计算、高性能计算和机器学习等领域具有很高的适用性。
下载地址: Compile Cross-Architecture: Intel® oneAPI DPC++/C++ Compiler
Tiny C Compiler
Tiny C Compiler 是一款非常轻量级的 C语言编译器,可以在多种平台上运行。Tiny C Compiler 具有非常小的代码体积和非常快的编译速度,同时还支持 C99 标准和大部分 GCC 编译选项。由于其小巧、快速和易用的特点,Tiny C Compiler 常被用于嵌入式系统和资源受限的环境中。
下载地址: TCC : Tiny C Compiler
在众多C语言编程工具中,我们选择VS2022
VS2022的安装教程:https://www.bilibili.com/video/BV11R4y1s7jz/
四、第一个C语言程序
#include<stdio.h>
//这是C语言的头文件,包含输入输出的函数必须使用该头文件
int main()
{
printf("Hello World!");
return 0;
}
//main函数是主函数,是C程序执行的起点
//任何的C语言程序有且仅有一个main函数
五、数据类型
1、基本数据类型
1.1字符型
char
sighed char
unsined char
1.2整型
//短整型
short int
sighed short int
unsighed short int
//整型
int
sighed int
unsighed int
//长整型
long int
sighed long int
unsighed long int
//长长整型(C99中引出)
long long int
sighed long long int
unsighed long long int
1.3浮点型
float
double
long double
1.4布尔类型
C 语⾔原来并没有为布尔值单独设置⼀个类型,⽽是使⽤整数 0 表⽰假,⾮零值表⽰真。 在 C99 中也引⼊了 布尔类型 ,是专⻔表⽰真假的。
—Bool
布尔类型使用必须包含头文件<stdbool.h>
布尔类型的取值为true和fales
2、自定义数据类型
2.1数组
2.2结构体
2.3枚举
2.4联合体
以上四种较为复杂,后面介绍
六、signed和unsigned
C语言中用signed和unsigned来修饰整型和字符型
signed关键字表示类型的带正负号,
unsigned关键字表示类型不带正负号,只能取0和正整数
注意,C 语⾔规定 char 类型默认是否带有正负号,由当前系统决定。 这就是说, char 不等同于 signed char ,它有可能是 signed char ,也有可能是 unsigned char 。 这⼀点与 int 不同, int 就是等同于 signed int
七、库函数
八、强制类型转换
看下面代码
int a=2.21;
我们定义a变量为整型,但赋值为2.21为浮点型,这时编译器就会报错
这时我们就需要强制类型转换,代码走起!
int a=(int) 2.21;
俗话说,强扭的⽠不甜,我们使⽤强制类型转换都是万不得已的时候使⽤,如果不需要强制类型转化 就能实现代码,这样⾃然更好的。
总结
好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。
不积硅步,无以至千里;不积小流,无以成江海。