C - 基础语法

欢迎,未来的程序员们!今天,我们将进入C编程的迷人世界。作为你友好的计算机科学老师,我很高兴能引导你了解C语法的基础。如果你之前从未编写过一行代码,也不用担心——我们将从头开始,一步步建立你的知识体系。所以,拿起你的虚拟笔记本,让我们开始编码冒险吧!

C - Basic Syntax

C中的标记

想象你在构建一个乐高结构。每一个乐高积木就像是C编程中的一个标记。这些标记是C程序的最小独立单元。它们包括:

  1. 关键字
  2. 标识符
  3. 常量
  4. 字符串
  5. 特殊符号
  6. 运算符

把标记看作是你C程序的构建块。就像没有正确的零件你无法建造一个乐高城堡一样,如果你不懂得这些基本的标记,也无法创建一个C程序。

C中的标识符

标识符是你给程序中各种元素(如变量、函数、数组等)起的名字。它们就像是代码的姓名标签!以下是一些创建标识符的规则:

  1. 必须以字母(a-z或A-Z)或下划线(_)开头
  2. 可以包含字母、数字(0-9)和下划线
  3. 区分大小写(myVariable与myvariable不同)
  4. 不能使用保留关键字

让我们看一些例子:

int age;           // 有效
float _temperature; // 有效
char 2ndName;       // 无效(以数字开头)
int if;             // 无效(保留关键字)

记住,为你的标识符选择有意义的名字非常重要。这就像给你的宠物起名字——你希望这些名字有意义且容易记住!

C中的关键字

关键字是C为自己保留的特殊单词。它们就像是聚会上的VIP客人——它们有特定的角色,不能用于其他用途。以下是一张C关键字的表格:

auto break case char const continue
default do double else enum extern
float for goto if int long
register return short signed sizeof static
struct switch typedef union unsigned void
volatile while

这些关键字是C编程的支柱。在我们学习的旅程中,我们将使用其中的许多关键字。

C中的分号

啊,强大的分号!在C中,分号就像是英文句子中的句号。它们用来表示一个语句的结束。务必记得在C语句的末尾加上分号,否则你的程序可能会发脾气(也就是语法错误)。

int x = 5;
printf("Hello, World!");

我曾经有一个学生经常忘记分号,以至于我让他写了100次“我不会忘记分号”——当然是在C代码中!

C中的注释

注释是你留给自己的或其他程序员的笔记。编译器会忽略它们,但它们在解释代码时非常有用。C中有两种类型的注释:

  1. 单行注释:使用//来注释一行。
  2. 多行注释:使用/ /来注释多行。
// 这是一个单行注释

/* 这是一个多行注释
它可以跨越多行
对于更长的解释非常有用 */

int main() {
// 你的代码在这里
}

把注释想象成你在教科书里留下的便签。它们在你(或其他人)回顾代码时帮助你(或他们)更好地理解代码。

源代码

源代码是你用C语言写的一组指令。它就像是计算机要遵循的食谱。让我们看一个简单的例子:

#include <stdio.h>

int main() {
printf("Hello, World!");
return 0;
}

这是著名的“Hello, World!”程序。它通常是初学者编写的第一个程序。让我们分解一下:

  1. #include <stdio.h>:这行包含了标准输入输出库的头文件(稍后会详细介绍)。
  2. int main():这是主函数,你的程序从这里开始执行。
  3. printf("Hello, World!");:这行将“Hello, World!”打印到屏幕上。
  4. return 0;:这告诉计算机程序成功结束。

main()函数

main()函数是C程序开始执行的地方。它就像是迷宫的入口——每个C程序都必须有一个,且只能有一个main函数。以下是其基本结构:

int main() {
// 你的代码在这里
return 0;
}

main前的int表示这个函数将返回一个整数值。最后的return 0;表示程序成功执行。

头文件

头文件就像是C程序的说明书。它们包含函数声明和宏定义。最常见的头文件是stdio.h,它提供了输入输出操作。

#include <stdio.h>
#include <math.h>

int main() {
printf("16的平方根是: %.2f", sqrt(16));
return 0;
}

在这个例子中,我们使用了来自stdio.h(用于printf)和math.h(用于sqrt)的函数。

变量声明

变量就像是程序中盛放数据的容器。在你使用变量之前,需要先声明它。以下是如何声明的示例:

int age;         // 声明一个名为age的整型变量
float height;    // 声明一个名为height的浮点型变量
char grade;      // 声明一个名为grade的字符型变量

age = 25;        // 将值25赋给age
height = 5.9;    // 将值5.9赋给height
grade = 'A';     // 将字符'A'赋给grade

你也可以在一行中声明并初始化变量:

int score = 95;  // 声明并初始化score为95

C程序中的语句

语句是告诉计算机做什么的指令。它们就像是舞蹈动作中的单个步骤。C中的每个语句都以分号结束。以下是一些例子:

int x = 10;              // 声明语句
printf("x = %d", x);     // 函数调用语句
x = x + 5;               // 赋值语句
if (x > 10) {            // 控制流语句
printf("x大于10");
}

C程序中的空白

空白指的是代码中的空格、制表符和换行符。虽然C通常会忽略空白,但合理使用空白可以使代码更具可读性。这就像在信件中添加适当的间距和换行符——它使阅读更容易。

int main(){printf("Hello");return 0;}  // 有效但难以阅读

int main() {
printf("Hello");
return 0;
}  // 同样的代码,但更具可读性

C中的复合语句

复合语句,也称为代码块,是一组用花括号{}包围的语句。它就像是一份打包的协议——多个语句被视为一个单元。

if (score > 90) {
printf("Excellent!");
grade = 'A';
passFactor = 1.0;
}

在这个例子中,如果条件score > 90为真,花括号内的所有三个语句都会执行。

就这样,朋友们!我们已经涵盖了C编程的基础语法。记住,学习编码就像学习一门新语言——它需要练习和耐心。如果你一次不能完全掌握它,也不要气馁。继续编码,继续探索,最重要的是,享受编码的乐趣!在我们的下一课中,我们将更深入地研究C编程的概念。在此之前,祝你编码愉快!

Credits: Image by storyset