【孔倾晨】一篇文章零基础宏观了解C语言的组成与结构

本文目标

  1. 了解C语言有什么用途 ☆
  2. 理解一个C程序通常包含哪些部分 ☆☆
  3. 理解一个C程序中各部分的职责 ☆☆☆
  4. 拓展部分 ☆☆☆

一、C语言有什么用途

  • 作用

执行特定的任务,解决具体的问题。

  • 举例

假设现在世界上的所有计算器都爆炸了,那人类要怎么计算呢?

我们可以利用C语言,写出一个C程序,这个程序的作用,就是来帮助用户进行基本的数学运算,运行这个C程序就相当于在使用一个计算器。

  • C语言和C程序

C语言: C语言就像是书面语言(如英语、中文等)。它是一套用于编写和表达想法的规则和语法

C程序: C程序就像是一篇文章(如小说、文章、诗歌等)。它使用C语言的规则和语法来表达具体的内容和完成特定的任务。

二、一个C程序包含哪些部分?

  1. 预处理指令
  • 头文件:在程序的顶部,通过#include指令包含标准库或用户自定义库,以便使用其中的函数和定义。
  • 宏定义:通过#define指令定义常量或宏,以便在整个程序中使用。
  1. 函数
  • 主函数:main函数是程序的入口点,程序从这里开始执行。
  • 其他函数:用户定义的函数和库函数,辅助完成特定任务或操作。
  1. 变量与常量
  • 变量:存储数据的命名空间,可以在函数内或全局范围内定义。
  • 常量:定义后不能更改的值,使用const关键字或#define指令定义。
  1. 语句和表达式
  • 语句:程序的基本执行单元,包括赋值、控制结构(如ifforwhile)等。
  • 表达式:计算并返回值的代码片段,可以嵌入在语句中。
  1. 输出结果
  • 输出函数:如printf函数,用于将结果输出到控制台或文件。
  1. 注释
  • 单行注释:使用//注释单行。
  • 多行注释:使用/* ... */注释多行。

作为一个零基础的初学者,你一定看不懂这第二段的内容,但没有关系,你只需要对这六个部分的名称有个印象即可,让我们重点来看下一部分。

三、一个C程序中各部分是干什么的? ☆☆☆

一个完整的C程序就像是餐馆从开门营业到完成一笔订单的全过程

1.开门准备——(预处理指令)

  • 餐馆在开门之前,先准备好菜单,列出需要的食材和工具(头文件),还包括一些固定的配方和标准(宏定义)。

2.接收订单——(函数)

  • 餐馆开门营业后,主厨(main()函数)负责统筹整个厨房的工作。主厨决定要做哪道菜,并安排其他厨师(其他函数)负责不同的菜品或烹饪步骤。

3.准备食材——(变量与常量)

  • 厨师们根据订单准备食材。可变的原材料(变量),如肉类、蔬菜,可以根据订单的不同而变化。固定要用的配料(常量),如盐、胡椒等,不会改变。

4.烹饪过程——(语句和表达式)

  • 厨师按照菜谱一步一步地进行烹饪(语句和表达式)。这包括加热、调味、装盘等步骤。

5.上菜——(输出结果)

  • 菜做好后,厨师将菜品上桌(程序输出结果)。这相当于程序执行后,输出结果给用户。

6.记录和改进——(注释)

  • 在烹饪过程中,厨师可能会记录一些笔记(注释),帮助改进菜谱或指导新厨师。

相信看到这里,你已经对一个C程序的框架结构有了初步的了解。让我们来看下面的示例,你并不需要知道代码的含义和写法,你只需要关注各个部分大概会出现在一个C程序的哪个位置即可。

比如,预处理指令一般在程序的开头位置;主函数一般处于程序的核心部分;主函数的周围可能会有一些其他函数,就像主厨周围会有一些帮厨一样,但主厨只有一个。

#include <stdio.h>  // 预处理指令(头文件):包含标准输入输出头文件,相当于厨房工具清单(相当于把做饭需要用的工具拿到厨房)

#define PI 3.14     // 预处理指令(宏定义):定义常量PI,相当于固定配料(比如说明了今天上菜要用的盘子都是固定规格的圆盘,没有其他样式的)

void printMessage();// 函数声明:相当于菜单上的菜名和准备步骤(比如说明了有种食物的做法是水煮)

int main() {        // 主函数:相当于主厨开始工作
    int radius = 5; // 变量声明:相当于准备食材
    float area;     // 变量声明:相当于准备食材
    
    // 语句和表达式:计算圆的面积,相当于烹饪步骤
    area = PI * radius * radius;
    
    // 语句和表达式:打印结果,相当于将菜品上桌
    printf("The area of the circle is: %f\n", area);
    
    // 语句和表达式:调用其他厨师准备的配菜
    printMessage();
    
    return 0;       // 输出结果:返回0表示工作顺利完成,相当于订单完成
}

// 函数定义:相当于其他厨师的工作步骤(关于水煮做法的详细步骤)
void printMessage() {
    printf("This is a simple C program.\n");
}

作为一个零基础的初学者,你可能依然会对一个具体C程序的各个实现部分有各种各样的困惑,但是你只需要从这篇文章里大概知道C程序的模糊样子即可,之后的学习路中,你依然可以不断返回到这篇文章,你会对程序的结构有越来越清晰的认知。

四、拓展部分

输出结果,又叫函数返回值,我们已经说过了,函数可分为主函数和其他函数。

让我们继续使用餐馆的比喻来说明 main 函数和其他函数的返回值:

主厨(main 函数)的最终报告

主厨(main 函数)负责整个餐厅的运行,最终会向餐厅经理(操作系统)报告一天的营业情况(程序执行结果)。

  • return 0;:相当于主厨告诉餐厅经理:“今天一切顺利,顾客满意。”
  • return 1; 或其他非零值:相当于主厨告诉餐厅经理:“今天遇到了一些问题,有些顾客不满意。”

其他厨师(其他函数)的输出

其他厨师(其他函数)负责具体的菜品或烹饪步骤,他们也会有自己的输出结果,但这些输出通常是给主厨(main 函数)或者其他厨师看的,而不是直接给餐厅经理(操作系统)看的。

  • 返回值(return value):厨师完成工作后,可能会给主厨一个反馈。例如,一个函数可能返回一个计算结果,或者返回一个状态码表示操作是否成功。
#include <stdio.h>

// 一个辅助函数,计算两个数的和
int add(int a, int b) {
    return a + b;  // 返回两个数的和,相当于厨师完成了一道菜并告诉主厨结果
}

int main() {
    int result;
    
    // 调用辅助函数,计算5和3的和
    result = add(5, 3);
    
    // 输出结果
    printf("The result of adding 5 and 3 is: %d\n", result);
    
    // 主函数返回0,表示程序成功结束
    return 0;
}

在这个例子中:

  • add 函数:像是一个厨师,他计算两个数的和,并把结果(return a + b;)告诉主厨。
  • main 函数:主厨调用 add 函数获取计算结果,然后将结果打印出来(printf),最后向系统报告程序执行情况(return 0;)。

其他函数的返回值

其他函数可以返回不同的类型和值,这些返回值可以用于:

  1. 计算结果:如数学运算的结果。
  2. 状态信息:如操作是否成功(通常返回0表示成功,非零值表示失败)。
  3. 数据处理:如查找、排序等操作的结果。

关于函数进一步的比喻

  1. 多厨师协作:
  • 每个厨师(函数)负责一部分工作,并把结果交给其他厨师或主厨。
  • 主厨(main 函数)最终汇总所有厨师的工作,并向餐厅经理(操作系统)报告。
  1. 具体操作:
  • 有的厨师(函数)可能只是辅助操作,不需要返回值(如清洗食材)。
  • 有的厨师(函数)返回的值可能非常重要,直接影响到最终的菜品质量(如关键步骤的操作结果)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孔倾晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值