"C语言学习心得:多本经典总结,全局变量使用建议,数组作为函数参数,选择法排序"

需积分: 9 14 下载量 145 浏览量 更新于2024-01-18 收藏 145KB DOC 举报
在学习C语言的过程中,通过翻阅多本C程序设计的书籍,我收获了许多经典语句和例子程序,并对其进行了总结性归纳。在此,我想分享我的学习心得,希望能对大家有所帮助。 首先,我想谈谈关于全局变量的使用。在C语言编程中,我学到了一个重要的建议:尽量避免使用全局变量。这是因为全局变量在整个程序执行过程中都占用存储单元,而不是仅在需要时才开辟单元。过多使用全局变量会降低程序的清晰性,因为人们往往难以清楚地判断出每个瞬时各个外部变量的值。在各个函数执行时都可能改变外部变量的值,使程序容易出错。此外,全局变量使函数的通用性降低,因为函数在执行时要依赖于其所在的外部变量。如果将一个函数移到另一个文件中,还要将有关的外部变量及其值一起移过去。但若该外部变量与其他文件的变量同名时,就会出现问题,降低了程序的可靠性和通用性。因此,一般要求将C程序中的函数做成一个封闭体,除了可以通过“实参——形参”的渠道与外界发生联系外,没有其他渠道。 其次,我学习到了关于数组作为函数参数的知识。在C语言中,数组元素可作为函数的实参,也可以将数组名作为函数的参数,形参数组也可不定义长度。这些知识点为我在编程中处理数组提供了更多的灵活性和便利。对于形参数组不定义长度这一点,我觉得特别有用,因为在实际应用中,我们常常需要处理长度不确定的数组,而这一特性提供了解决这类问题的良好途径。 最后,我想谈谈选择法排序。选择法排序是一种简单但有效的排序算法,其基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换;第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换...依次类推,共经过n-1次选择和交换,得到一个按递增顺序排列的长度为n的数组。虽然选择法排序的时间复杂度较高,但它的实现简单,适用于数据量较小的情况,也有利于理解排序算法的基本思想。 总的来说,通过学习C语言,我不仅掌握了一门强大的编程语言,还收获了许多有价值的编程经验和技巧。我希望将我所学的知识和心得与大家分享,也希望能够帮助到有需要的同学。在未来的学习和工作中,我将不断积累经验,提升能力,为自己的发展打下坚实的基础。C语言,是我编程学习的起点,也将是我不断提升的阶梯。谢谢大家!