‘壹’ 为什么要学习c语言 C语言优势分析
不止一个学生问到我:“老师,为什么我们的应用程序设计要学C语言而不是别的?C语言不是已经过时了吗?如果现在要写一个Windows程序,用VB或Dephi开发多快呀,用C行吗?退一万步,为什么选择C而不是C++呢?” 不止一个学生问到我:“老师,为什么我们的应用程序设计要学C语言而不是别的?C语言不是已经过时了吗?如果现在要写一个Windows程序,用VB或Dephi开发多快呀,用C行吗?退一万步,为什么选择C而不是C++呢?” 这个问题三言两语还真说不全。简单来说,C语言是计算机程序语言的基础,是实用的程序设计工具,学好C语言对你今后学习JAVA、C++、VB 等可以打下良好的基础,因为这些语言大部分都是由C语言扩充或衍生而来的。C可以用于开发比较底层的东西,比如驱动、通信协议之类,在Unix和 Linux环境中也是不可或缺的,另外在嵌入式领域也大有作为。 站在本专业的角度看,虽然信息管理对程序设计的要求不如计算机专业那么高,但如果你不懂得C,基本上就很难理解程序设计的思想,因为想真正学会 程序设计就不可能不跟数据结构打交道,而初学者如果直接从VB或Java入手,基本上很难理解如何构造数组、链表、树、图等结构,这些东西很容易和封装、 继承等概念打架。而用C语言则可以清楚明白地把它们表示出来。也只有真正理解了数据结构,才有机会体验程序设计的思想和算法的精髓。 那么为什么还会有那么多人认为C语言过时呢?原因很简单,90%以上的中国人学的是Windows,用的是Windows,便认为非图形即不 好。网上许多的观点是值得怀疑的,什么时下里Java和C#流行啦,什么C语言写出的程序没有友好的用户接口啦等等。然而若一个问题不用图形接口都可以解 决,那何必做得这么复杂呢?试想,如果一条信息可以告诉你现在的时间是什么,你又何必去翻个闹钟出来看看?中国人的心态总是很浮躁,什么事都想“多快好 省”,可惜终究是“站在巨人的肩膀”上看问题,自己却长不成巨人(似乎认为没了微软的开发工具,我们什么都做不了)。 所以学C语言的必要性就很清楚了:C语言是基础(但不是简单的)。国外的人们拿C语言来处理现实问题,而我们现在还在用它来打磨自己的浮躁,所以我们距离国外的水平还太远,但又不是不可企及的。 当然,如果想在Windows上开发图形接口,用MFC或C#、Java都比C好的多。尺有所短,寸有所长。每种语言有自己适用的领域,C并不是万能的,但想成为程序设计高手,不懂C是万万不能的。 至于为什么选择C而不是C++,那是因为我们的培养计划无法提供足够的学时。想学好学精C++,没有100学时是不够的,而我们现在选择的C语 言都只有44课时的理论教学时间,面对如此丰富多彩的C世界,我已经颇感力有不逮,许多基本内容都得靠学生自学了,哪还能奢望C++啊?每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了。除了它会给你提供更多的工作机会之外,C语言还会教给你更多的关于计算机的知识。它能给我们提供的裨益,,简单列举如下:1.相比较其他的编程语言(像C++,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。
4.C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有C语言能做到。
5.如果你学习过C语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C++,C#等等)。
6.因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。
7.C语言是一个开源组织的语言。一个开源组织的产物--LINUX,就是用C语言写的。如果你会C语言,你就能参加这个组织并且还能向众多的开源组织投稿,比如参加Source Forge并且给他们投稿。
8.C语言是唯一一个向你阐述指针的本质的语言。而C#和Java干脆跳过了指针这个题目。可是指针确实使C语言变得更加强大。
9.找编程开发方面的工作时,C语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。
10.任何里面有微处理器的设备都支持C语言。从微波炉到手机,都是由C语言技术来推动的。
11.好了,说了这么多,大家应该感到我们应该学习C语言的必要性和迫切性了吧!那就赶快学吧!让它成为我们取得更大成功的阶梯!
‘贰’ 为什么要学习C语言
为什么C语言依然如此流行?由于种种原因,业界选择了C,其中最主要的原因就在于它的效率。优秀C程序的效率几乎和汇编语言程序一样高,但C程序明显比汇编语言程序更易于开发。和许多其他语言相比,C给予程序员更多的控制权,如控制数据的存储位置和初始化过程等。C缺乏“安全网”特性,这虽有助于提高它的效率,但也增加了出错的可能性。如,C对数组下标引用和指针访问并不进行有效性检查,这可以节省时间,但在使用这些特性时就必须特别小心。如果你在使用C语言时能够严格遵守相关规定,就可以避免这些潜在的问题。
C提供了丰富的操作符集合,它们可以让程序员有效地执行一些底层的计算如移位和屏蔽等,而不必求助汇编语言。C的这个特点使很多人把C称为“高层”的汇编语言。但是,当需要的时候,C程序可以很方便地提供汇编语言的接口。这些特性使C成为实现操作系统和嵌入性控制器软件的良好选择。C流行的另一个原因是由于它的普遍存在。C 编译器在许多机器上实现。另外,ANSI标准提高了C程序在不同机器之间的可移植性。
最后,C是C++的基础。C++提供了一种和C不同的程序设计和实现的观点。然而,如果你对C的知识和技巧,如指针和标准库等成竹在胸,将非常有助于你成为一名优秀的C++程序员。
‘叁’ 为什么要学习C语言
1.简约
虽说用好c语言很难,但是对于c语言的入门是很容易的,用一句话来形容c语言,我觉得是易于上手,难于精通,C语言在语法上的使用很简单,因为它不是很高级,也不是很庞大,在第二版(K&R)中,它的参考手册仅仅用了49页就描述了整个C语言,没有迭代器,没有装箱....C语言的这种“低级”让我们在学习时会把重点放在自己控制上,所以什么都会选择自己动手,而在用java或python时,我的第一感觉,往往是,“嗯,我有哪些工具可以使用?”太多的工具选择,有时候是件坏事,因为没了许多锻炼的机会,而且很难抓住重点,有的时候什么都没有反而是件好事。<!--more--
2,原理
操作系统是一个程序员应该学好的一门课,但是我们在学习的那些操作系统概念很难深入理解,或者比较抽象,比如饿死哲学家之类的,仅仅知道概念,是不能解决实际问题的,比如,你可能学过一些进程的概念,或者内存分段之类的,那我问你,windows进程问什么没有僵死?在windows中如何修改一个进程中的数据?Linux的fork和Windows的createProcess有什么不同?linux有线程吗?你写一个我看!你的理论不管用了,因为你没有实践过.所以,我觉得学习操作系统最好的方式就是用c语言进行系统调用,这种方式在unix和linux下能获得更好的学习方式,因为win32-sdk不适合学习,更适合开发,在unix下,你能用你的操作系统知识与fork(),exe(),wait()等系统调用很好的结合.
而且不仅仅是操作系统你,在学习c语言的时候,你不得不接触一些系统结构的知识,比如字节对齐,比如c语言的地址空间,你就会知道堆栈这种东西,如果不是递归,是可以没有的.你就会知道虚拟地址到实际地址的转换.这些在java和c#中变得透明,但是透明是为了方便开发,透明对一个学习者是有害的,想象今后的云计算,将会是怎样的开发?它将培养更多的码农。
3,数据结构与算法
用C语言来学习数据结构和算法在合适不过了,用指针去写吧,用Java和c#下的学习更像是会用。你可能会说C++更好,但是你的类(变量+函数)本质跟c语言中的结构体+函数,没有区别,除非你用模板,多态,重载,我才承认你在用c++,但是你的重点篇了,我们不是在讨论学习数据结构与算法吗?你现在是在学习语言特性了。
4,更好的过渡
本文所写的是为什么学习C语言,作为一个学生,我觉得说什么C语言开发更高效,就是个笑话,因为,谈到开发,又开始谈金钱,时间,一大堆的东西,你会问,为什么不是java或python?开发是开发的事,你学的扎实还不会开发?我只是说c语言的路线更适合学习,你又会问钱都挣不上学什么?我记得有一次一个来做java培训的人说,“我们培训java,你们把自己做成一个商品,推销出去。”。我觉得很可笑,我们要做的不是商品,最起码是一支股票。所以害怕学的东西找不到工作的人,用一切时间来犹豫徘徊。
‘肆’ 什么是c语言,为什么要学c语言
最佳答案:从学习的角度来说,学习C语言是很必要的,C语言有如下优势:① C语言比较灵活,可以直接使用指针。② C语言是跨平台的语言,几乎...
‘伍’ 为什么要学习c语言它具有哪些特性
我在网上看到一些,也许对你有帮助:
1)相比较其他的编程语言(像c++,java),c语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。
2)设备驱动程序和操作系统只能用c语言来编写。现在,你可能还从来没有编写过一个设备驱动程序或者一个操作系统,但是如果你需要去修改他们的时候,怎么办?
3)如果你想要得到一份编写微控制器程序的工作的时候,该怎么办?他们都是用c语言编写的。就因为不想学习一门新的语言,你就准备限制你能得到工作的机会吗?
4)c的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有c语言能做到。
5)如果你学习过c语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以c语言为基础的(像java,c++,c#等等)。
6)因为c语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。
7)c语言是一个开源组织的语言。一个开源组织的产物--linux,就是用c语言写的。如果你会c语言,你就能参加这个组织并且还能向众多的开源组织投稿,比如参加source
forge并且给他们投稿。
8)c语言是唯一一个向你阐述指针的本质的语言。而c#和java干脆跳过了指针这个题目。可是指针确实使c语言变得更加强大。
9)找编程开发方面的工作时,c语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。
10)
任何里面有微处理器的设备都支持c语言。从微波炉到手机,都是由c语言技术来推动的。
‘陆’ 我们为什么要学习C语言
1.简约 虽说用好c语言很难,但是对于c语言的入门是很容易的,用一句话来形容c语言,我觉得是易于上手,难于精通,C语言在语法上的使用很简单,因为它不是很高级,也不是很庞大,在第二版(K&R)中,它的参考手册仅仅用了49页就描述了整个C语言,没有迭代器,没有装箱....C语言的这种“低级”让我们在学习时会把重点放在自己控制上,所以什么都会选择自己动手,而在用java或python时,我的第一感觉,往往是,“嗯,我有哪些工具可以使用?”太多的工具选择,有时候是件坏事,因为没了许多锻炼的机会,而且很难抓住重点,有的时候什么都没有反而是件好事。<!--more-- 2,原理 操作系统是一个程序员应该学好的一门课,但是我们在学习的那些操作系统概念很难深入理解,或者比较抽象,比如饿死哲学家之类的,仅仅知道概念,是不能解决实际问题的,比如,你可能学过一些进程的概念,或者内存分段之类的,那我问你,windows进程问什么没有僵死?在windows中如何修改一个进程中的数据?Linux的fork和Windows的createProcess有什么不同?linux有线程吗?你写一个我看!你的理论不管用了,因为你没有实践过.所以,我觉得学习操作系统最好的方式就是用c语言进行系统调用,这种方式在unix和linux下能获得更好的学习方式,因为win32-sdk不适合学习,更适合开发,在unix下,你能用你的操作系统知识与fork(),exe(),wait()等系统调用很好的结合. 而且不仅仅是操作系统你,在学习c语言的时候,你不得不接触一些系统结构的知识,比如字节对齐,比如c语言的地址空间,你就会知道堆栈这种东西,如果不是递归,是可以没有的.你就会知道虚拟地址到实际地址的转换.这些在java和c#中变得透明,但是透明是为了方便开发,透明对一个学习者是有害的,想象今后的云计算,将会是怎样的开发?它将培养更多的码农。 3,数据结构与算法 用C语言来学习数据结构和算法在合适不过了,用指针去写吧,用Java和c#下的学习更像是会用。你可能会说C++更好,但是你的类(变量+函数)本质跟c语言中的结构体+函数,没有区别,除非你用模板,多态,重载,我才承认你在用c++,但是你的重点篇了,我们不是在讨论学习数据结构与算法吗?你现在是在学习语言特性了。 4,更好的过渡 本文所写的是为什么学习C语言,作为一个学生,我觉得说什么C语言开发更高效,就是个笑话,因为,谈到开发,又开始谈金钱,时间,一大堆的东西,你会问,为什么不是java或python?开发是开发的事,你学的扎实还不会开发?我只是说c语言的路线更适合学习,你又会问钱都挣不上学什么?我记得有一次一个来做java培训的人说,“我们培训java,你们把自己做成一个商品,推销出去。”。我觉得很可笑,我们要做的不是商品,最起码是一支股票。所以害怕学的东西找不到工作的人,用一切时间来犹豫徘徊。
‘柒’ 为什么要学C/C++,学了有什么用
c是c++的前身,因为这两种语言有许多共同的语法和功能。以前,c可以说是c++语言的一个子集,因为c++刚出生时,他只是对于c语言的一个扩充,人们还是在普遍意义上讲它归类于c。但是在c++的发展过程中,进行了许多扩展和改进,使其与c的差别越来越大,成为一种独立于c的全新语言,而且比c更强大、用途更广。c
语言与
c++
的区别有很多:1,全新的程序程序思维,c
语言是面向过程的,而
c++
是面向对象的。2,c
语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而
c++
对于大多数的函数都是有集成的很紧密,特别是
c
语言中没有的
c++
中的
api
是对
window
系统的大多数
api
有机的组合,是一个集体。但你也可能单独调用
api。3,特别是
c++
中的图形处理,它和语言的图形有很大的区别。c
语言中的图形处理函数基本上是不能用在中
c++
中的。c
语言标准中不包括图形处理。4,c
和
c++
中都有结构的概念,但是在
c
语言中结构只有成员变量,而没成员方法,而在
c++
中结构中,它可以有自己的成员变量和成员函数。但是在
c
语言中结构的成员是公共的,什么想访问它的都可以访问;而在
vc++
中它没有加限定符的为私有的。4,c
语言可以写很多方面的程序,但是
c++
可以写得更多更好,c++
可以写基于dosr程序,写
dll,写控件,写系统。5,c
语言对程序的文件的组织是松散的,几乎是全要程序处理;而
c++
对文件的组织是以工程,各文件分类明确。6,c++
中的
ide
很智能,和
vb
一样,有的功能可能比vb还强。7,c++
对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入
mfc
中的类的时候,加入变量的时候等等。8,c++
中的附加工具也有很多,可以进行系统的分析,可以查看
api;可以查看控件。9,调试功能强大,并且方法多样。至于学了c后,学什么你可以自己决定!根据你的需要去选择!
‘捌’ 为啥要学c语言
基础的话什么都不用。往深学需要英语 主要为了看外文书籍和代码注释。还需要数据结构和操作系统的知识。当然要想写出一段高效的代码 还需要离散数学,计算机算法的知识。
程序员之路——如何学习C语言并精通C语言
程序员之路——如何学习C语言
学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着需要经历艰苦的过程。
一、要读就读好书,否则不如不读
所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,还可以再次选择。
大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给程序设计应该掌握的思考方式;程序风格相当地不好,会养成乱写代码的恶习;
Kernighan和Ritchie的《The C ProgrammingLanguage》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《CReferenceManual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是
根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers onC》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么可以尝试一下这本书。相信,只要理解了指针,C语言便不再神秘。
如果已经啃完了一本C语言教材,想要更进一步,那么有两本书一定要看。首先是《C Traps andPitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后可以挑战一下《Expert CProgramming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦仔细读完并能透彻理解,便可以放心大胆地在简历上写“精通C语言”了。
切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果看不懂,那一定是缺失了某些必需基础知识。此时,要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。
二、Unix/Linux还是Windows,这是个很大的问题
不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如VisualStudio,而Unix程序员更加钟爱Makefile与控制台。显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要会按几个基
本的Visutal C++工具栏按钮就可以开始写Hello,
World!了,而在Unix下,需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁,但习惯的力量是很大的,大家都很熟悉Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。
对于一个只懂得Windows基本操作、连DOS是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习
ls、cat等命令有趣,况且要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。
所以建议初学者应该以Visual C++ 6.0(不是VisualC++ .NET)或者DevC++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后一定要转向Unix环境的。Visual C++6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用Turbo C2.0作为实验环境,这是相当不可取的,原因其一是TC 2.0对C标准几乎没有支持,其二是TC2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC2.0编译出32位程序,不过那过于复杂了)。
等学完一本C语言的教材,一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的(比如《C专家编程》)。转变的过程是痛
苦的,需要面对的是各种纷繁复杂的命令,完全不同于Windows平台的思考方式,但是这种痛苦是值得的。Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,可以找到无数优秀的源代码供你尽情阅读,可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格
归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。
三、万事俱备,就是东风
书已选定,环境配置完成,正所谓万事俱备,只欠自己的努力了。请从书的前言开始,仔细地阅读手头的教材,很多人看书喜欢直接从第一章开始看,这是错误的做法。前言是作者对整本书的大体介绍,作者一般会告诉需要什么基础才能够顺利阅读本书,这可以帮助你检验自己的基础知识是否已经具备。看完前言,还要浏览一下目录,了解一下书的整体结构,顺便给自己安排一下学习计划。
学习C语言,必需注意每一个细节,书上的例子代码一定要自己亲自敲一遍,编译执行输出都跟书上说的一致才能算是学完了一个例子,如果不一致,就要仔细找原因。出了书本上有的例子,自己还要“创造”一些例子,比如学习运算符优先级的时候,可以写几个相同的表达式,在不同的位置加上括号,看看有哪些不同的行为,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b ==c)等等。自己抄的书上的例子以及改造之后的例子,还有自己“创造”的例子,都应该仔细地归类保存,并且要在源代码中写上简短的注释,阐述这个例子的意图。
例子之后就是习题了,建议初学者把所有的习题都独立做一遍,然后对照答案的代码,看看自己的代码有那些不足,再试着修改自己的代码。很多人不重视习题,这是极大的错误,因为作者通常会在习题中说明一些重要的道理,而不是单纯地检验前面的知识。
也许认为这样学习太慢,其实不然。学得细致就不用走回头路,等学到后面才发现自己前面没搞清楚,那才是真的得不偿失。一般说来,整本书读完,应该完数千行乃至上万行的代码,无论是原封不动照抄书上的,还是自己心血来潮写就的,都是今后继续学习的一笔财富。以自己举例,阅读《Windows核心编程》时(只阅读了3/4的内容),除了抄书上的代码,还自己写了很多例子,一共有5574行(用unix下的wc工具统计),时隔多日,早已记不清Windows的系统编程了,但只要花几分钟翻出以前的代码看看,便会重新了然于胸。所谓好记性不如烂笔头,就是这个道理。
仔细读书、认真抄写源代码、独立完成习题外加更进一步的实验,最后将所有的代码留下,成为自己的经验和财富,绝对的辛苦,也绝对的事半功倍。当然,这种方式只适合学习需要精通的技术,如果不是学习C语言,还要具体情况具体分析。
‘玖’ 为什么要学C语言
C即C语言,可以从很多个角度来回答:
1.C是面向过程的语言.他的执行都是由上而下的瀑布式的.而现在流行的面向对象(例如JAVA.C++)的执行顺序并
不是写程序的人可以控制的.它是由某些动作来调用的
2.C是中级语言.一般我们认为汇编叫做低级语言.因为它直接提供了对硬件的操作.功能十分强大.效率也十分
的高.但是想完全使用汇编来写一个应用几乎是完全不可能的事情.并且汇编语言需要硬件的支持.也就是说
你针对自己的机器写的汇编到别人的机器上未必就能跑的起来.而高级语言指的就是是用类似人类语言的语
言来表达的。比如JAVA.BASIC.PASCL等.这些语言与硬件之间的关系不大.通用性很强.开发应用程序效率比较
起低级语言来说要高很多。因为C提供了一种叫做指针的东西.可以直接操作系统的内存地址.这个功能是其
他高级语言所没有的.所以人们习惯把C叫做中级语言.意思就是说既有高级语言类似人类语言的特点.又有汇
编的可以直接操作硬件的功能.