qt编程与单片机编程哪个容易学
能用C语言做出一个图形化界面是什么水平?
能用C语言做出一个图形化界面是什么水平?
能用c语言做出一个图形化界面,说明你对c语言的graph库已经大致掌握了。
如果能做到图形的描画,文本编辑,文本滚动,字体放大及定时显示,自绘进度条,自绘按钮,显示内存区的无闪烁刷新,区域填充,透明处理等等功能,说明界面部分做的基本过关。
要论水平,只能说刚入门。单就一般c来说,各种文件的存储,打开,删除,重命名操作;内存动态申请及释放的内存管理;调用外部可执行文件;I/O操作;与外部的串行/并行通讯,网络通讯及共享,高端内存使用等等,还要学习的很多。
在语法上,结构struct,联合union的使用,也很重要,内存块操作,字符串操作,各种数据类型,浮点运算,以及相关的math.h,stdlib.h等头文件定义的函数,建议挨个试一遍。
做完了以上这些,你就可以正式入职了。
当然,这只是C。VC 的话,还要花C两倍的功夫。
C 学到什么程度才能叫精通?
很有意思的问题,作为一个主要使用C 做开发超过十年的老码农,来聊聊我个人的一点看法。
这么说吧,C 是一门极度复杂的语言,而且随着新标准的提出,这种复杂性还在不断的增加中,所以说什么程度算是精通C 语言,其实是一个无法给出明确答案的问题。比如就我来说,使用了十多年的C ,可以轻松的使用C 设计一个方案并实现,比如用它实现过图像处理SDK,也用它做过IDE开发,即使如此,我也不敢说自己已经精通C 。原因很简单,你对这门语言的理解越深,也就越能发现诸多的不足,既包括自己的不足,也包括语言本身的缺陷与不足。举个简单的例子,我最开始学习的标准是C 98,可是后来又出现了C 03、C 11、C 14,甚至还有C 17,对于这些新标准出提出的内容,说实话,有些听过,有些甚至都没有听说过,更别说在实际应用中使用了,以此来说很难算是精通C 了。
不过话又说回来,有很多使用了多年C 的程序员,有着和我类似的情况,他们可以轻松的使用C 开发一个应用程序,但是C 中依然有他们未曾触碰的领域。所以我认为C 语言变得越来越复杂,想要完全掌握除了编译器和C 语言专家,其他人是可望而不可及了,要不然就连Linux之父——Linus Torvalds也会炮轰C ,说它是一门糟糕(horrible)的语言。
综上,我认为想要给出一个明确的精通C 语言的标准,是一件费力不讨好的事情,学习任何语言都是为了解决实际问题,所以只要你能够使用C 语言开发出好的应用,你就是一个合格的C 程序员。下面是几条熟练使用C 的需要掌握的技能:
1、最基本的要求自然是熟练掌握C 的基本语言,包括常用的和不常用的;
2、因为C 是一种面向对象的语言,所以要掌握面向对象程序(OOP)设计思想;
3、能够使用C 描述常用的数据结构,并实现在这些数据结构上的各种操作;
4、理解C 对象模型,比如对象指针、虚函数表等内容,以及类的构造过程,以及在此过程中编译器会在背后做那些事情等等;
5、能够使用C 做程序设计,这里除了基本的OOP思想外,最重要的是熟练应用设计模式;
最后,再对C 发一点牢骚,虽然我还在使用C 做开发(部分任务已经使用其它语言),但是我认为C 是一门尴尬的语言。谈效率吧,它不如C语言简单直接;谈面向对象设计吧,它又不如C#、Java等纯粹;谈开发效率吧,它又不如Python高效……太多的功能如模板、智能指针、多重继承等让这门语言变的越来越复杂,所以我是越来越不喜欢C ,并且建议程序员不要将C 作为首选开发语言。