失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言的积木编程 c语言入门3 自己造积木 掌握它就能随心所欲的完成各种工作了...

c语言的积木编程 c语言入门3 自己造积木 掌握它就能随心所欲的完成各种工作了...

时间:2021-06-04 20:13:46

相关推荐

c语言的积木编程 c语言入门3 自己造积木 掌握它就能随心所欲的完成各种工作了...

前面两节介绍了如何快速搭建 C 语言开发学习环境,并且给出并解释了 hello world 的代码。上一节介绍了C语言的函数,应该注意到,到目前为止,我们使用的函数都是现有的系统函数(例如 printf,sin 等函数)。事实上,实际需求通常是很是复杂的,只依靠现有的函数很难完成。好在我们可以根据需求,自己界说 C 函数。

c语言入门3,自己造积木,掌握它就能随心所欲的完成各种工作了-1.jpg (32.63 KB, 下载次数: 0)

-11-4 22:45 上传

可以把一个函数看作是一块积木,各种各样的积木才能聚积成复杂的建筑。只有几种积木,能完成的建筑太有限了,如果能够自己造各种各样的积木,再复杂的建筑也能完成。通过前面两节的内容,我们已经了解函数界说的语法了:

返回值类型 函数名(参数列表){ 语句列表}注意函数名在相应可见域内要连结唯一性,例如,在 main 函数所在文件里界说的函数名不克不及也为 main。再啰嗦一下 main 函数,主要是因为它是默认的入口函数,比较特殊。

Old Style C的气概的 main 函数界说写成 main(){…} 形式,不写返回值类型也不写参数列表。Old Style C规定不写返回值类型就暗示返回int型,不写参数列表就暗示参数类型和个数没有明确指出。这种宽松的规定会致使很多复杂的Bug产生,现在的 C 也连结了这种写法的兼容,可是鉴于它可能会产生 bug,还是不要这样写。

其实系统在挪用 main 函数时是传参数的,所以 main 函数最标准的形式应该是 int main(int argc, char * argv[]),这种参数传递在 linux 下使用起来很是便利,以后用到了再详细解释。C标准也规定了 int main(void) 这种形式,如果不使用系统传进来的两个参数也可以写成这种形式。但除这两种形式之外,以其它形式界说main函数都是毛病的或不成移植的。

c语言入门3,自己造积木,掌握它就能随心所欲的完成各种工作了-2.jpg (45.05 KB, 下载次数: 0)

-11-4 22:45 上传

自界说函数

在了解了自界说函数的一些限制后,很容易就可以写出如下代码。下面的代码中,我们界说了 printA 函数,它的参数为空,也没有返回值,仅仅是打印出一个字母 “A”。

#include #include void printA(void){ printf("A\n");}int main(){ printA(); return 0;}我们在 codeblocks 里执行它,发现程序在控制台中打印出了字母 A。

关于 codeblocks 的安装和使用,可参照第一节。

c语言入门3,自己造积木,掌握它就能随心所欲的完成各种工作了-3.jpg (54.15 KB, 下载次数: 0)

-11-4 22:45 上传

以后如果想打印 A,只需要执行 printA 函数就可以了。更进一步的,我们自己界说的 printA 函数也可以当作系统函数(例如)一样嵌套使用,请看如下代码:

#include #include void printA(void){ printf("A\n");}void print2A(void){ printA(); printA();}int main(){ print2A(); printf("----\n"); print2A(); return 0;}我们又新界说了一个函数 print2A,它的功能就是在控制台打印两个 A。在 codeblocks 里执行,发现与预期一致。

c语言入门3,自己造积木,掌握它就能随心所欲的完成各种工作了-4.jpg (57.84 KB, 下载次数: 0)

-11-4 22:45 上传

体会

从上面的简单例子中,可以总结出以下信息:

同一个函数可以挪用屡次。可以用一个函数去挪用另一个函数,第二个函数可以去挪用第三个函数。挪用自界说的函数,是通过我们取的名字挪用的,例如 main 函数中挪用 print2A();函数可以使代码更简洁,原本打印两个 A 需要两行代码,现在只需要 print2A 一行就可以了。你可能会说,我界说 print2A 就用了 5 行啊,哪里简洁了。可是,以后只要遇到需要打印两个 A 的处所,我都可以挪用 print2A,如果有 10 个处所需要打印两个 A 呢?另外,如果有一天,我想在打印两个 A 的时候不换行,那我只需要修改 printA,把里面的 “\n”删失落就可以了,而不消去找那 10 个需要打印两个 A 的处所逐个修改。读代码和读文章不一样,按从上到下从左到右的顺序读代码未必是最好的。好比上面的例子,按顺序应该是先看 printA 再看 print2A 再看 main。不过,如果换一个角度,按代码的执行顺序来读也许会更好:

c语言入门3,自己造积木,掌握它就能随心所欲的完成各种工作了-5.jpg (31.29 KB, 下载次数: 0)

-11-4 22:45 上传

因为 main 是入口函数,所以第一句要执行的就是 print2A 函数,那它是什么功能呢?于是目光移到 print2A 函数,它的第一句是 printA 函数,于是进入 printA 函数。奥,知道了 print2A 先要打印一个 A,然后又要执行 printA 函数,又打印了一个 A。这下知道了,main 函数里的第一句要打印两个 A。

实际上,在很多大型项目中,要熟悉它的代码结构,第一件事往往就是找到入口函数。

c语言入门3,自己造积木,掌握它就能随心所欲的完成各种工作了-6.jpg (71.5 KB, 下载次数: 0)

-11-4 22:45 上传

欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显的介绍C语言,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章哦。

更多内容回复查看:

游客,如果您要查看本帖隐藏内容请回复

如果觉得《c语言的积木编程 c语言入门3 自己造积木 掌握它就能随心所欲的完成各种工作了...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。