C语言与计算机科学

2022-10-31

在20世纪60年代, 贝尔实验室的Ken发明了B语言, 并开发了UNIX操作系统, 1972年Ken和DM里奇在B语言的基础上进一步发明了C语言。重新开发的C语言既有B语言的精炼、接近汇编语言, 能够轻松应用于硬件开发的优点, 又开创了新的数据类型, 使之不至于过于单一。后来, 同样是贝尔实验室的工作人员Bjarne在C语言的基础上进一步开发出了C++这个面向对象的编程语言。在这样的背景下发展出来的C语言, 既有汇编语言的精简, 适用嵌入式开发, 又有高级语言如C++的模块化组合优点, 适用于开发较大型的软件。由此, C语言在计算机科学领域具有举足轻重的地位。

一、C语言编程方法

(一) 指针的应用

指针是C语言的“灵魂”, 是其重要的函数之一;指针是直接指向某个变量或函数的地址的变量, 可以直接对该地址中的值进行操作。指针必须进行初始化定义, 这是由于如果指针是null状态, 指向的是某个随机的地址, 未初始化而直接赋值, 会造成该数据丢失和地址不明, 严重地对导致操作系统崩溃。通过加减的方式可以移动指针的位置, 例如p=p-1, p=p+5等等, 这点对于操作队列和数组有莫大的作用。除此之外, 在对指针进行移动的操作过程当中, 需要特别注意指针定义的类型与指针移动之间的内涵:比如char*c;c-=3中, c-=3是指将c进行向前三个字节的移动;而在long*j;j-=2中, j-=2则表示j向前移动两个长整形形式的长度。通过移动和定义的方式, 可以使指针成为函数参数, 从而在传递变量方式的地址当中, 在函数内进行操作变换, 代码为:void huan (long*u, long*v) {long w=*u;*u=*v;*v=*w}。上述代码实现了实参指针情况下数据的互换, 注意到w的定义是long变量, 而不是指针变量。

当应用于函数时, 指针由于局部变量进行函数返回时会出现释放, 因此指针只能够作为函数返回的值。假如有如下代码为:long*hoop (viod) {long u=123;long*v=&u;return v;}该函数中返回的是局部指针变量, 定义函数时同样也要定义为指针函数, 在编译无误后能够正常运行。

(二) 运行控制指令

在计算机编程中, C语言的运用可以获得超过二十条的控制命令, 其中, 控制命令通常由首要控制命令和一般控制命令两种控制命令组成, 在应用的过程中, 不同的控制命令拥有不同的使用环境和使用要求, 其中, 首要控制命令能够在程序汇总时进行采取使用, 但是只能够完成一次使用, 而一般控制命令则不会有这种限制。这就要求编程者在进行编程时需要在程序源位置设置首要指令, 利用程序源的特征, 使首要指令可以充分运用, 降低重复选择, 避免问题的处于空闲状态, 最终提升程序命令在执行过程中的效率。

(三) 混合运算形式

数学运算是C语言当中最为重要的方法之一, 在编程过程中只需要输入相应的数值就能够进行计算, 这些基础的计算和一些重要的数学运算例如求平方根等运算都封装在了底层的C语言当中。但是在进行混合运算的时候, 需要非常小心, 因为不同的数据类型的先后顺序运算会导致不同运算结果, 需要进行界定, 尤其是在进行嵌入式编程的时候。例如, 5/2的运算结果是2而不是3;3/5的运算结果是0而不是0.6。其原因在于运算符号前面的数类型默认为运算结果。此时如果改为3.0/5.0, 则结果即为0.6。解决这问题有两个方法:一是运算前完成定义, 如上述所示;其二是强制类型转换, 当然转换的类型是从左到右, 高级的类型转换低级的类型, 长类型转换为短类型, 反之却不行。

二、C语言的特点

(一) 面向过程的编程语言

C语言是最典型的面向过程的编程语言。面向过程, 一言以蔽之, 就是一步一个脚印, 一步步骤一个或一段语句, 顺序式地执行下来。这种方式是我们现实当中最直接的思考方式, 是最容易为人的思维所理解的。因此C语言简单易学, 完全能够流程地根据自己的思维方式一步步编译下来。同时这种方式也有助于模块化的编程, 即一个功能一个模块, 在流程中顺序插入模块, 模块中采用局部变量, 不会影响到整体。

(二) 高效率与移植性

结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。

高度的移植性是C语言最大的优点之一。C语言广泛应用于UNIX、MAC和WINDOS操作系统当中, 这取决于其高效的硬件融合能力, 效率也比面向对象的编程语言, 诸如C++和Java之类的更高更快。此外, C语言和汇编语言一样, 能够直接对位进行操作, 这在嵌入式系统如单片机当中非常重要。而C语言并不会像汇编语言一样语法极度严格, 功能能够实现模块化, 简约化。

(三) C语言的缺点

C语言的主要缺点主要有两方面:一是效率上比汇编语言较低, 运行速度大概低15%左右, 即在硬件上的兼容性并不如汇编语言高效;二是C语言是面向过程的编程语言, 与C++和Java不同, 没有对象的概念, 并不能支撑起大型的数据相互交互复杂的应用软件的开发, 只能够对规模较小的软件进行开发。

三、结论

本文是对C语言的综合概述:首先简要回顾了C语言的发展历程, 然后详细梳理了C语言的编程方法, 对C语言重要的语法进行强调;接着对C语言的优缺点进行详尽分析, 最后介绍了C语言的当前的应用领域及展望。

摘要:C语言是计算机科学发展史上重要的里程碑, C语言既有汇编语言的严谨又兼具C++一样的自由, 在诸如嵌入式开发的领域罕有与之匹敌的编程语言, 以至于当前在计算机科学不断发展以及编程语言越发泛滥的当今, C语言的地位依然难以动摇。本文是对C语言的内涵进行详尽分析:首先简要介绍了C语言的发展历史, 然后通过对C语言实际应用的梳理, 详尽介绍C语言的基本编程方法;接着对C语言的特点进行分析, 最后介绍了C语言的当前的应用领域及展望。

关键词:C语言,面向过程,嵌入式开发

参考文献

[1] 丁海燕, 邹疆, 邱莎.C语言实验教学体系及改革措施[J].实验技术与管理, 2010, 27 (11) :179-181.

[2] 李飒瑛.C语言与汇编语言混合编程技术研究[J].电子技术与软件工程, 2013 (14) :134-135.

上一篇:税务筹划在企业会计处理中的应用探讨下一篇:阑尾切除术后切口感染诊治体会