项目2:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。图3.15兔子问题输出结果根据以上的分析可以知道,循环次数可以为0,因此该程序是一个条件型循环,可以利用while语句编写程序。熟悉了循环结构在程序设计中的运用,循环结构语句包含了while语句、do…......
2023-11-18
必须学好C语言之研究
武汉东湖学院计算机学院 黄兴鼎
C语言是其他语言例如C++、C#和Java等语言的基础,学习其他语言必须学好C语言,而其他语言有关指针的操作等也需要结合C语言一起使用;C语言功能强大,指针功能更是其他语言所没有的;对于机械自动控制,板卡驱动程序都要用到C语言编程;C语言的嵌入式编程在物联网中也有非常独特的应用;占编程语言市场份额2%以上的只有约12种语言,C语言所占市场份额总在前3名,其余10种语言多来源于C语言或者以C语言为基础;编程公司和通信公司等招聘程序员,基本都要考试C语言。
一、前言
我国大学教育规定,凡是理工科的学生必须学习计算机语言——C语言,这是依据科学技术的需要,也是工业社会市场决定的,是正确之选。然而在日常教学中我们发现,许多学生不够重视C语言,或者重视程度不够,因而学习劲头不足,花的精力和时间不够;有的一听说C语言难学,就产生了畏难情绪,应付了之;有的抱着学校安排了这门课就来听,为了找工作多一个证,也考计算机二级,但是没有从根本上了解学好C语言的道理,动力不足,缺乏主动性。
二、C语言和其他语言的发展历史
在1972—1973年间,美国贝尔实验室在B语言(BCPL)的基础上设计出了一种语言,取BCPL的第二个字母为名,即C语言,并用C语言重新改写了UNIX的内核。自此,C语言的编译程序也被移植到IBM 360/370、Honeywell以及VAX-11/780等多种计算机上,并迅速成为应用最广泛的系统程序设计语言。
C++语言是1983年贝尔实验室对C语言进行改进和扩充,并引入“类”的概念构成的。后来,斯特朗斯特鲁普(Stroustrup)和他的同事们又为C++引进了运算符重载、引用、虚函数、多重继承、模板等,使之更加精炼,并于1989年后推出了C++ 2.0版。
Java去掉了C++语言中的指针运算、结构、typedefs、#defi ne、需要释放内存等功能,减少了平常出错的50%,让Java的语言功能更精炼。Java实现了C++的基本面向对象技术并有一些增强,Java与C和C++直接相关,Java继承了C的语法,Java 的对象模型是从C++改编而来的。Java编程涉及指针的编程必须结合C语言才能完成。
C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。C#是由C和C++衍生出来的面向对象的编程语言,它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(去掉了宏和摸版,不允许“多重继承”)。C#看似基于C++写成,但又融入了其他语言如Pascal、Java、VB等。
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
基于C的Python是一种开放式的语言,与其他的语言如C、C++和Java结合的非常好,常被昵称为胶水语言,它能够很轻松地把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。可扩充性是Python作为一种编程语言的特色。
Perl也借取了C语言的特性。
从上可见,C语言是其他语言例如C++、C#和Java等语言的基础,学习其他语言必须学好C语言,而且其他语言有关指针的操作等也需要结合C语言一起使用;C语言功能强大,指针功能更是其他语言所没有;对于自动控制,板卡驱动程序大到机床,小到手机,无一不用到C语言编程。
三、C语言及其他其他语言的市场份额
世界上有100多种计算机编程语言,在TIOBE计算机公司发表的每年每月程序市场占有率排名中,在编程工作中占市场份额在2%以上的只有约12种语言,而C语言所占市场份额总在1—3名间,约17%—20%,其余10种语言多来源于C语言或者以C语言为基础。
TIOBE计算机公司发表的2010年排名前10名的计算机语言表:
51CTO独家特稿2011年7月Tiobe编程语言排行榜正式发布。2011年上半年的语言发展走势以及市场占有率,C语言及以C语言为基础的Java、C++、C#仍占据了市总份额的50%以上。
四、C语言的特色与应用
(一)简洁紧凑、灵活方便
C语言一共只有30多个关键字、9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
(二)运算符丰富
C语言的运算符包含的范围很广泛,共有34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C语言的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。
(三)数据结构丰富
C语言的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、联合体类型等,能用来实现各种复杂的数据类型的运算,并引入了指针概念,使程序效率更高。另外,C语言具有强大的图形功能,支持多种显示器和驱动器,且计算功能、逻辑判断功能强大。
(四)结构式语言(www.chuimin.cn)
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
(五)语法限制不太严格、程序设计自由度大
一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误,而C语言允许程序编写者有较大的自由度。C语言是一个开源组织的语言,其产物就是LINUX。
(六)既具有高级语言的功能,又具有低级语言的许多功能
C语言能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。
(七)程序生成代码质量高,程序执行效率高
用C语言写的程序比用别的语言写的程序,相同功能的实现、代码行数更少,运行效率更快,一般只比汇编程序生成的目标代码效率低10%—20%。
(八)适用范围大,可移植性好
C语言有一个突出的优点就是适合于多种操作系统,如DOS、WINDOWS、UNIX、LINUX等绝大多数操作系统。同时,C语言也适用于多种机型,在一种计算机上编写的程序,无须修改或经过很少的修改,就可以在其他类型的计算机上运行,其他高级语言未必能做到这点。
(九)具有预处理功能
C语言提供了预处理器,程序可以利用宏指令提高可读性和可移植性。
(十)具有递归功能
C语言允许递归调用,在解决递归问题上具有独特优势。
(十一)具有自我扩展能力
(十二)应用广泛
C语言可以用来开发许多系统软件和大型应用软件,如UNIX,LINUX等操作系统。
在软件需要对硬件进行操作的场合,用C语言明显优于其他高级语言。例如,各种硬件设备的驱动程序(像显卡驱动程序、打印机驱动程序等)一般都是用C语言编写的,可以实现底层的计算、移位和屏蔽等操作,可方便地提供汇编接口,是编程操作系统和嵌入性软件的良好选择。
在图形、图像及动画处理方面,C语言具有绝对优势,特别是游戏软件的开发主要就是使用C语言。
随着计算机网络的飞速发展,特别是Internet的出现,计算机通信就显得尤其重要,而通信程序的编制首选就是C语言。任何有微处理器的设备都支持C语言,从洗衣机、微波炉到手机,都是由C语言技术来推动的。近来物联网风行世界,C语言的嵌入式系统得到很好的应用,也使其稳排编程语言前列。
正因如此,几乎所有的软件公司、通信公司、高科技公司、甚至网络公式招聘程序员,无一例外都要考试C语言,而且C工程师的薪金在所有语言中是最高的。也正因为如此,学理工科的才必须学好C语言,学好了C语言,就如猛虎添翼,找工作就如鱼得水一样容易。
【参考文献】
[1]百度百科.世界编程语言排行榜[EB/OL].http://baike.baidu.com/view/2887496.htm#3.
[2]杨国祥.《C/C++程序员面试指南》[M].北京:电子工业出版社,2010.
[3]戴晟晖,祝明慧.《从零开始学C语言》[M].北京:电子工业出版社,2011.
有关武汉东湖学院论文集的文章
项目2:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。图3.15兔子问题输出结果根据以上的分析可以知道,循环次数可以为0,因此该程序是一个条件型循环,可以利用while语句编写程序。熟悉了循环结构在程序设计中的运用,循环结构语句包含了while语句、do…......
2023-11-18
图5.7两层函数嵌套调用示意图函数的嵌套调用即一个函数在被调用的过程中又调用了另外的一个函数。函数fac和powers的返回值类型均被设计为double型,其主要目的是为了避免n!x:0.5//0.5从键盘输入的数据0.50 powers of e=1.648721//程序执行结果......
2023-11-20
C语言把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算,功能强大。另外,C语言还把括号、下标、强制类型转换、取地址等都作为运算符处理,并通过与算数运算符的组合达到不同的目的,从而使程序更加简洁明了。C语言具有超强的可移植性。总之,C语言在运算符方面是比较容易让人混淆的。......
2023-11-18
C语言中逻辑运算符及其含义见表3.2。表3.2逻辑运算符及其含义逻辑运算符“&&”和“||”是双目运算符,具有左结合性;“!”表3.3逻辑运算真值表C语言中进行逻辑表达式求值运算时,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:·对逻辑表达式从左到右进行求解。......
2023-11-20
针对不同的实际应用,数据排序方法有很多种。本节介绍两种常用排序方法的基本思想和实现方法,帮助读者初步理解排序方法的计算机解决思路。②不考虑已排好序的数据,将剩下的数据作为待排序列。编写程序实现冒泡排序算法,对随机生成的10个3位整数按升序进行排序并输出。......
2023-11-20
二进制文件的特点是存储效率较高,但不便于程序中直观地进行数据处理。非缓冲文件系统指的是不由系统开辟文件缓冲区,而是由程序员为用到的每个文件设置数据缓冲区,并自行对文件缓冲区进行管理。C语言中,用一个系统已经构造好的文件类型变量来保存这些信息。......
2023-11-20
1972—1973 年,贝尔实验室的D.M.Ritchie 在B 语言基础上设计出了C 语言。1973 年,Ken Thompson 和D.M.Ritchie合作把UNIX 的90%以上用C 语言改写,即UNIX 第5 版。直到1975 年UNIX第6 版公布后,C 语言的突出优点才引起人们的注意。可以说,C 语言与UNIX 是一对孪生兄弟,在发展中相辅相成。1987 年ANSI 又公布了C 语言新标准——87ANSI C。1990 年,国际标准化组织ISO 接受了87 ANSI C 为C 语言的国际标准。C 语言共有44 种运算符。......
2023-10-21
在C 语言中,对文件的基本操作包括文件的打开与关闭、文件的读和写等。表9.1文件操作方式例如:打开当前目录下的C.DAT 文件,这是一个二进制文件,只允许进行读操作,并使fp 指针指向该文件。应该养成在程序终止前关闭所有文件的习惯,如果不关闭文件将会丢失数据。......
2023-10-21
相关推荐