学习C语言,如何开启前端编程之旅?

摘要:## 前端学习C语言 - 开篇 前端学习C语言有很多理由:工作、兴趣或其他。 C 语言几个常见的使用场景: - `操作系统`开发:Linux 操作系统的内核就是主要由 C 语言编写的。其他操作系统也广泛使用 C 语言进行核心部分的开发。 -
前端学习C语言 - 开篇 前端学习C语言有很多理由:工作、兴趣或其他。 C 语言几个常见的使用场景: 操作系统开发:Linux 操作系统的内核就是主要由 C 语言编写的。其他操作系统也广泛使用 C 语言进行核心部分的开发。 系统级开发和嵌入式编程:C 语言具有强大的底层控制能力和高效的代码执行效率,非常适合进行系统级开发和嵌入式编程。 游戏开发和图形处理:许多游戏引擎和各种图形应用程序都是使用 C 语言进行开发的。这是因为 C 语言相对于其他高级语言具有更好的性能和更直接的硬件控制能力,可以实现复杂的计算和高性能的图形处理。 数据库系统开发:C 语言的高效性使得其在数据库系统的内部组件中使用非常广泛。例如,Berkeley DB、MySQL、PostgreSQL 等数据库管理系统都是使用 C 语言进行开发的。 底层驱动开发:由于 C 语言直接操作内存和硬件资源,可以用来编写驱动程序、设备控制器和微控制器的固件等低级别的代码。 单片机(跟硬件打交道) C 语言还可以用于许多其他方面的开发,包括网络编程、信号处理、人工智能等。 第一个程序 在 linux 中创建一个 .c 文件: pjl@pjl-pc:~/$ cat hello.c #include <stdio.h> // 头文件。提供了 I/O 功能,例如下面用的 printf() 函数 // int 函数返回值的类型 // main 入口函数,通常有且只有一个。没有 main 在 linux 中也可以编译通过,比如 gcc -nostartfiles int main(void) { // 必须加分号,否则编译会报错 printf("Hello World\n"); return 0; } 编译 这里使用 gcc 来编译 c。 Tip:gcc 代表GNU Compiler Collection,是一个开源的编译器集合,由GNU项目开发。它主要用于编译C和C++等编程语言的源代码,并生成可执行程序 然后安装 gcc: // 更新源 pjl@pjl-pc:~/$ sudo apt update // 安装 gcc pjl@pjl-pc:~/$ sudo apt-get install gcc 通过 gcc -v 确认以安装: pjl@pjl-pc:~/$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu .... gcc version 9.3.0 (Ubuntu 9.3.0-10kylin2) 编译 hello.c 生成可执行文件 hello,通常没有扩展名,直接运行可执行文件,输出 Hello World。就像这样: pjl@pjl-pc:~/$ gcc hello.c -o hello pjl@pjl-pc:~/$ ls hello hello.c stdio.h // 直接运行 pjl@pjl-pc:~/$ ./hello Hello World 例如故意去掉 printf() 函数后的分号,编译就会报错。就像这样: pjl@pjl-pc:~/$ gcc hello.c -o hello hello.c: In function ‘main’: hello.c:4:28: error: expected ‘;’ before ‘return’ 4 | printf("Hello World\n") | ^ | ; 5 | return 0; | ~~~~~~ Tip: 笔者找了两款在线编写 c 的环境,直接点击运行即可查看结果。语法错误也无需等待编译后查看。: lightly - 点击在线使用,使用微信扫一下即可登录,通过云能保存自己的项目。 dotcpp - 运行一次需要等20秒,可能为了缓解服务器压力。 头文件 <stdio.h> 是 C 标准库的头文件之一,包含了许多与标准输入输出流(stdin、stdout 和 stderr)相关的函数和常量定义。
阅读全文