C 语言编程教程

C 语言 - 首页

C 语言基础

C 语言 - 概述 C 语言 - 特性 C 语言 - 发展历史 C 语言 - 环境设置 C 语言 - 程序结构 C 语言 - Hello World C - 编译过程 C - 注释 C - 标记 C - 关键字 C - 标识符 C - 用户输入 C - 基本语法 C - 数据类型 C - 变量 C - 整数提升 C - 类型转换 C - 类型转换 C - 布尔值

C 语言中的常量和文字

C - 常量 C - 字面量 C - 转义序列 C - 格式说明符

C 语言中的运算符

C - 运算符 C - 算术运算符 C - 关系运算符 C - 逻辑运算符 C - 位运算符 C - 赋值运算符 C - 一元运算符 C - 递增和递减运算符 C - 三元运算符 C - sizeof 运算符 C - 运算符优先级 C - 其他运算符

C 语言中的决策

C - 决策 C - if 语句 C - if...else 语句 C - 嵌套 if 语句 C - switch 语句 C - 嵌套 switch 语句

C 语言中的循环

C - 循环 C - While 循环 C - For 循环 C - Do...while 循环 C - 嵌套循环 C - 无限循环 C - Break 语句 C - Continue 语句 C - goto 语句

C 语言中的函数

C - 函数 C - Main 函数 C - 按值调用函数 C - 按引用调用函数 C - 嵌套函数 C - 可变参数函数 C - 用户定义函数 C - 回调函数 C - return 语句 C - 递归

C 语言中的作用域规则

C - 作用域规则 C - 静态变量 C - 全局变量

C 语言中的数组

C - 数组 C - 数组的属性 C - 多维数组 C - 将数组传递给函数 C - 从函数返回数组 C - 可变长度数组

C 语言中的指针

C - 指针 C - 指针和数组 C - 指针的应用 C - 指针运算 C - 指针数组 C - 指向指针的指针 C - 将指针传递给函数 C - 从函数返回指针 C - 函数指针 C - 指向数组的指针 C - 指向结构体的指针 C - 指针链 C - 指针 vs 数组 C - 字符指针和函数 C - NULL 指针 C - void 指针 C - 悬垂指针 C - 解引用指针 C - Near、Far 和 Huge 指针 C - 指针数组的初始化 C - 指针与多维数组

C 语言中的字符串

C - 字符串 C - 字符串数组 C - 特殊字符

C 语言的结构体和联合

C - 结构体 C - 结构体和函数 C - 结构体数组 C - 自引用结构 C - 查找表 C - 点 (.) 运算符 C - 枚举(或 enum) C - 结构填充和打包 C - 嵌套结构 C - 匿名结构和联合 C - 联合 C - Bit 位字段 C - Typedef

C 语言中的文件处理

C - 输入和输出 C - 文件 I/O(文件处理)

C 语言中的预处理器

C - 预处理器 C - #pragma 编译指示 C - 预处理器操作符 C - 宏 C - 头文件

C 语言中的内存管理

C - 内存管理 C - 内存地址 C - 存储类

C 其他主题

C - 错误处理 C - 可变参数 C - 命令执行 C - 数学函数 C - static 静态关键字 C - 随机数生成 C - 命令行参数

C 语言编程资源

C语言问题与解答答案 C语言快速指南 C语言速查表 C语言实用资源 C语言讨论


C - 环境设置

要开始学习C 语言编程,第一步是设置一个允许你输入和编辑 C 语言程序的环境,以及一个可以构建可在操作系统上运行的可执行文件的编译器。你的电脑上需要两个软件工具:(a) C 编译器和 (b) 文本编辑器。

C 编译器

源文件中编写的源代码是程序的可读源代码。它需要被"编译"成机器语言,这样你的 CPU 才能按照给出的指令真正执行程序。

市面上有很多 C 编译器。以下是一些广泛使用的 C 编译器的列表:

GNU 编译器集合 (GCC) - GCC 是一个流行的开源 C 编译器。它适用于多种平台,包括 Windows、macOS 和 Linux。GCC 以其丰富的功能和对各种 C 标准的支持而闻名。

Clang:Clang 是一个开源 C 编译器,是 LLVM 项目的一部分。它适用于多种平台,包括 Windows、macOS 和 Linux。Clang 以其速度和优化能力而闻名。

Microsoft Visual C++ − Microsoft Visual C++ 是由 Microsoft 开发的专有 C 编译器。它仅适用于 Windows。Visual C++ 因其与 Microsoft Visual Studio 开发环境的集成而闻名。

Turbo C − Turbo C 是由 Borland 开发的一款已停产的 C 编译器。它在 20 世纪 90 年代初非常流行,但如今已不再广泛使用。

本教程中的示例是在 GCC 编译器上编译的。最常用且免费的编译器是 GNU C/C++ 编译器。以下部分介绍如何在各种操作系统上安装 GNU C/C++ 编译器。我们之所以同时提到 C/C++,是因为 GNU gcc 编译器同时适用于 C 和 C++ 编程语言

在 UNIX/Linux 上安装

如果您使用的是 Linux 或 UNIX,请在命令行中输入以下命令来检查您的系统上是否安装了 GCC -

$ gcc -v

如果您的 Ubuntu Linux 计算机上安装了 GNU 编译器,它会打印如下消息 -

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v . . .
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)

如果未安装 GCC,则需要按照 https://gcc.gnu.org/install/

上的详细说明自行安装。

在 Mac OS 上安装

如果您使用的是 Mac OS X,获取 GCC 最简单的方法是从 Apple 网站下载 Xcode 开发环境,并按照简单的安装说明进行操作。安装完 Xcode 后,您就可以使用 GNU C/C++ 编译器了。

Xcode 目前可在developer.apple.com/technologies/tools/获取

Windows 系统安装

要在 Windows 系统上安装 GCC,您需要安装 MinGW。要安装 MinGW,请前往 MinGW 下载页面 https://www.mingw-w64.org/downloads/,然后点击链接进入 MinGW 下载页面。从此处下载最新版本的 MinGW 安装程序 mingw-w64-install.exe。

安装 MinGW 时,您至少需要安装 gcc-core、gcc-g++、binutils 和 MinGW 运行时,但您可能希望安装更多程序。

将 MinGW 安装目录下的 bin 子目录添加到 PATH 环境变量中,以便您可以在命令行中通过这些工具的简单名称来指定它们。

安装完成后,您将能够从 Windows 命令行运行 gcc、g++、ar、ranlib、dlltool 和其他几个 GNU 工具。

文本编辑器

您需要一个文本编辑器来编写程序。例如,Windows 记事本、OS Edit 命令、Brief、Epsilon、EMACS 以及 vim 或 vi。

文本编辑器的名称和版本会因操作系统而异。例​​如,Windows 系统会使用记事本,而 vim 或 vi 则可用于 Windows 以及 Linux 或 UNIX 系统。

使用编辑器创建的文件称为源文件,它们包含程序源代码。C 语言程序的源文件通常以".c"为扩展名。

在开始编程之前,请确保您已拥有一个文本编辑器,并且您拥有编写计算机程序、将其保存为文件、编译并最终执行的足够经验。

使用 IDE

使用通用文本编辑器(例如记事本或 vi)进行程序开发可能非常繁琐。您需要输入并保存以".c"为扩展名的程序(例如"hello.c"),然后使用以下命令进行编译 -

gcc -c hello.c -o hello.o
gcc -o hello.exe hello.o

然后从命令提示符运行可执行文件以获取输出。但是,如果源代码包含错误,编译将无法成功。因此,我们需要在编辑器程序和命令终端之间反复切换。为了避免这个繁琐的过程,我们应该使用 IDE(集成开发环境)。

有许多 IDE 可用于编写、编辑、调试和执行 C 程序。例如 CodeBlocks、NetBeans、VSCode 等。

CodeBlocks 是一款流行的 C 和 C++ 开源 IDE。它可安装在各种操作系统平台上,例如 Windows、Linux 和 MacOS。

对于 Windows 用户,请从 https://www.codeblocks.org/downloads/binaries/ 下载 codeblocks-20.03mingw-setup.exe。这将在您的计算机上安装 CodeBlocks 和 MinGW 编译器。在安装过程中,请选择 MinGW 作为要使用的编译器。

示例

安装完成后,启动它并输入以下代码 -

#include <stdio.h>

int main() {
   /* 我的第一个 C 语言程序 */
   printf("Hello, World! 
");

   return 0;
}

输出

执行此代码后,您将获得以下输出 -
Hello, World!

从"构建"菜单,构建并运行程序(使用 F9 快捷键)。"构建日志"窗口显示编译成功的消息。输出 (Hello World) 显示在单独的命令提示符终端中。

Hello World