学习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)相关的函数和常量定义。
