本帖最后由 王宇涵 于 2023-1-2 17:56 编辑
C 语言 Part.1 C 语言面向过程编程
目录
Part.1 C 语言面向过程编程 Part.2 字符串与ASCII码 Part.3 如何把指针玩出花
一、什么是面向过程编程?
这其实是一个很简单的问题。 举个例子,假如今天中午萌废我从学校回到家中,回家方式是乘坐地铁。那么萌废我回家中途的过程大致可以按照下面来进行分类: (风格:C语言)
int 今天中午萌废我回家(void){
//前往地铁站过程 出("校门"); 入("大街"); 走到("地铁站");
//乘坐地铁过程 入("地铁站"); if (地铁一卡通 == 0){ 购买("地铁票"); } 入("验票机"); 出("验票机"); 走到("地铁入口"); 等待地铁(); 入("地铁"); 等待到站(); 出("地铁"); 出("地铁站");
//回家过程 入("大街"); 入("小区"); 入("家");
return 0;
}
可以看见萌废我回家的过程,这其中具体的步骤一清二楚。 对于一些重复的过程例如“出”“入”“走到”等通过编写可以重复调用的函数,基于这样的函数所构成的程序被称作“面向过程”编程。
二、编写这样的程序要注意什么?
首先,要明确选择使用的编程语言是否支持面向过程编程。 (不过其实大部分的编程语言都支持) 其次,规划出具体的实现步骤。并对一部分重复的代码进行函数打包,这样就可以大大减轻工作负担。 最后,尽量在主函数中使用打包好的函数。
三、面向过程的工程如何创建?
一个正常的面向过程工程应该被分为三部分: 主函数文件、一个或多个函数文件、对应函数文件的头文件。
以萌废我个人的习惯举例,首先新建一些函数文件,把萌废我需要打包的函数分成几大类,按类别写入对应的函数文件;
然后每一个函数文件对应一个头文件。 在每个头文件中,写下#pragma once让编译器只进行一次有效的#include "头文件文件名.h" 如果编译器不识别#pragma once,请在头文件开头第一行处写下#ifndef __头文件文件名__,第二行处写下#define __头文件文件名__,头文件的最后写上#endif。以上的这两种方法均是为了防止多次#include你的函数文件,造成多次定义的错误。
“第一种方式”
“第二种方式”
“两种方式并用”
头文件的正文部分写 extern 函数返回值类型 函数名(形式参数); extern 变量类型 全局变量名; (值得一提的是,Keil中你可以不写extern关键字,但是为了养成良好的习惯,还是写上吧)
然后在主函数文件的开头写上#include "头文件文件名.h",有几个头文件写几个,就可以愉快的在main函数中编程了。同时也完成了分类的任务,让你的工程看起来更简洁。
"分类后的工程文件(示例是C艹,但C是一样的)"
"在主函数中引用其他源文件的函数"
四、小结 在本Part中: 1. 面向过程编程是一种基于程序执行过程的编程思想; 2. 面向过程编程主要通过具体的语句和打包的函数来执行程序; 3. 面向过程编程更偏于程序底层; 4. 要规划好目标程序的实现步骤,这样才能根据实现过程一步一步写入程序; 5. C语言进行分文件编写可以让过程更清晰; 6. 头文件要防止多次包含带来的重定义问题。
|