嵌入式第13步——C语言起步,搭建程序框架要点
在电脑上安装了虚拟机Linux,程序Ubuntu,实现了中文的录入功能,开始C语言的学习。
我并没有一味的只看小甲鱼的视频,而是一口气在哔哩哔哩上找了5个不同的C语言教学视频,将每个视频的第一二节看完,作为自己了解C语言的基础。
其实,对于我而言,一门计算机语言和我们日常学习过的英语是一样的,我们编写一门计算机语言,只要明白了大概这门语言的运行方式,剩下的就是把我们想要完成的事情一步步分解开来,把一个任务分解为计算机能够理解的程度,列出清单,然后用计算机语言翻译过来,或者说敲进指定的编辑器里,然后debug,运行就完成了。就像25年前我写MCS51时,把工作认为放在脑袋里,闭眼考虑,然后一起呵成的写出来一样。只不过现在我想要完成的程序比较长。
C语言,作为一个具体的高级计算机语言,其结构是固定的,具有大量的函数,可以自编各种程序块调用。这样就可以翻译过来了。
C语言结构:
第一段 需要用到的函数库
以标准输入输出库为准,属于每一个程序都要用到的,首先录入#include<stdio.h>,下面空出几行,后面如果使用了其他库的函数再补充。
第二段 公共变量和常量定义
一开始空余几行,后面编程过程中每用到一个新的,到这里增加。
第三段 子程序
这个程序里有可能会重复使用的过程,都分别写成单独的子程序。在一开始可以先用\\解释符只列出子程序的名称,定义、参数、功能等等,用一个个的\\先记录下来自己要在这里运行的东西,后面再补充,概略详细根据自己习惯决定,
第四段 主程序框架。
以int main(){开头,空下几行后,以return 0;和单行的}作为结尾。
第五段 在主程序里列出自己已经考虑好的大概结构,用各种循环、选择、判断、语句和子程序拉出整个程序的框架结构。
第六段 开始逐步完善一个个子程序、主程序框架内部语句,也就是进入把人类语言翻译为计算机语言阶段。慢慢完善后。
自己对整个任务的理解都完善后,一个C语言程序就出来了。以后就是编译、试运行之类的工作。
具体操作:
1、 打开虚拟机,进入Ubuntu程序,界面上用ctrl+alt+t快捷键进入Linux输入界面(录入终端terminal),默认是一个黑屏。(熟练后可以自行修改)
2、 用mkdir +文件夹名,cd+文件夹名进入想要写程序的文件夹。(.表示本级子目录,..表示上一级子目录),用ls查看本级目录文件列表。
3、 用vi+文件名.c(vi编辑器)进入文件,或者用vim+文件名.c(vim编辑器)进入文件编辑状态。vi编辑器为Ubuntu程序自带,vim编辑器需要自行安装,如果没有安装,进入过程会报错,最后一行为安装编辑器的Linux命令提示,直接抄录进去运行就可以安装好。
4、 进入编辑器后,用a\i\o开始编辑。录入的技巧见前两篇。
5、 编辑完成后,用ESC键退出编辑状态,用:w和:q进行保存和退出编辑状态
完成录入工作,退出编辑状态后,在终端上输入gcc 文件全名—o 编译后文件名 对文件进行编译。所有编译过程出现的错误、问题都会列出来,然后就是根据英文提示进行各种猜测,重新进入编辑器,找到错误原因,修改。我见到最多是录入过程中的录入错误,各种固定符号,尤其是;、小括号、变量名的大小写问题,引用过程中由于变量名写错造成没有定义。如果本行没有找到错误,去上一行甚至一段核对有没有缺少或引用错误的大中小括号,书名号,用;结尾是否遗漏,这都是经常犯的错误。
在一个视频里看到一个技巧:可以同时打开两个terminal,这样一个进行编译,一个进入编辑器进行修改,这样在修改过程中可以对照错误。
另外,一般提示错误会出来一大片,但是要从第一个开始改,改正一个错误一般会减少一大片错误提示。
补充1:C语言程序每一段内容都是用{}括起来的,每一句语句和常量、变量的定义都是以分号(;)结尾的。每一段程序都是以return表示结束的,如果没有特殊要求返回0,具体其他的返回内容在摸索中。
补充2吐槽:根据个人习惯,听课过程中尽量找一个地方做笔记,买了一本谭浩强的《C语言程序设计》(第3版)。感觉和以前读过的谭浩强总编的书区别太大了,为了一个知识点需要前后翻看好多遍,不再是汇总一起,有点像是上课的备课记录了。自己汇总知识点也太费劲了。

浙公网安备 33010602011771号