大家好,今天小编关注到一个比较有的话题,就是关于高质量程序设计指南 c c语言的问题,于是小编就整理了2个相关介绍高质量程序设计指南 c c语言的解答,让我们一起看看吧。
学C语言,不学数据结构和算法是不是绝对写不出好程序?
由于C语言不像其他高级语言有好用的标准库,只能不停的重复造轮子。最基本的容器和相关算法C程序员都得自己写,比如List,HashMap,二分查找,排序....等等。所以数据结构是必须要会的。
讲真话,学C这种偏底层的语言,还真的需要好好学习数据结构和一些基本算法,如果你写java,做一个web增删改查工程师可能还不需要,看看别人的代码,自己注意一下代码质量依旧可以混混,代码能够达到合格的标准,但是写j***a想要达到优秀,数据结构和算法依旧很重要,写C更是如此,一个追求性能和底层的语言,你想现在C开发金字塔的顶端,数据结构和算法更加必不可少,而且现在数据结构和算法更是一些复杂框架的基石,所以我认为学习任何开发语言,想要成为优秀工程师是必须要学习的
算法是解决问题思想方法。语言是表达算法的工具,从本质上说算法才是根本。一个程序运行稳定,正确,性能好,离不开良好的数据结构和算法。好的算法不但可以减少开发难度和时间成本,使程序运行起来更加快,最重要的是高效解决了程序核心问题。
那倒不一定,数据结构、算法学了实践中没应用好写不出好的程序,但如果一个人思维严谨、数学功底好即使没写过数据结构与算法一样能写出很好的程序。当然,学过数据结构与算法的对写出好的程序是有帮助的。
看你是不是真的要用c来具体做东西还是只用c来作为编程入门,如果是用c来做东西,那么这种语言的特性决定了算法和数据结构你是必须要懂的。尤其是数据结构,c语言的精髓之一就在于指针,这和数据结构是紧紧相连的,如果不懂数据结构,很难真正明白c语言。不过话说回来,现在公司直接用c的在我国相对而言不是很多的,大多使用面向对象的语言。用c作为入门,了解编程思想,逻辑,然后转语言也是很容易的。
怎么用c语言做一个界面?
通过调用API来创建界面:#include<windows.h>int main(){MessageBox(NULL,"Hello World!","C图形程序",MB_OK);return 0;}linux下通过调用图形库来创建界面。
呵呵,楼主和我当初一样的迷惑。
我当初啃C语言的时候,也是想用C语言做界面出来,走了很多冤枉路,这里希望能给楼主一些提示。
如果你想用“纯”C来做界面的话,那么我会很肯定的告诉你,很难。你所有的操作都要调用API,包括每个按钮的位置、大小,框的位置、大小等等都是通过计算得出来的。这样一来开发的效率是可想而知的。
当然,也有专门做界面的,程序用C语言来写。比如:QT。具体的楼主可以去了解了解。
如果你想感受一下C语言的“乐趣”的话,在Win32中写一下程序:
#include
void main()
{
MessageBox(NULL," Hello World!","我的第一个窗口程序",MB_OK);
//这里的MessageBox函数,就是API函数,函数的意思是调用一个信息框
做图形界面大致涉及到这几个方面的问题:
控制显示器画出图形并随时更新图形。各大显示器厂商的分辨率以及屏幕尺寸都不一样,要考虑在不同的显示器上作出相同的图形效果。
建立图形界面操作逻辑。比如,切换画面焦点,显示文字等。仅文字一项,就要为数百种语言和数以千计的字体建立图形库,并能后不失真地自由在屏幕上缩放。
建立界面刷新同键盘鼠标等输入设备,以及后台程序处理的并行机制。避免出现诸如锁屏之类的现象
上面只是非常概略地概括了一[_a***_]形界面的部分功能,用C语言实现这些功能所需的代码数量应该是以百万行计算的。每个程序都要从零开始是不现实的。所以,人们做了很多图形界面的标准库,供程序员使用。为了进一步减少需要配布的程序数量,这些标准库被搭载到操作系统中。Windows上搭载了Win32API,Linux上搭载了Qt,等等。因此,有人说要做图形界面还得懂点操作系统。题主还说道了MFC,其实,MFC跟Qt更接近一些,它在Win32API的基础上,建立了一整套框架,可以更好地解决画面切替,操作并发的问题,可以作出更为复杂的界面。
最后要说明的是与其把api看成是汇编,mfc看成是c语言,不如把它们看成是共通函数很容易理解一些。
到此,以上就是小编对于高质量程序设计指南 c c语言的问题就介绍到这了,希望介绍关于高质量程序设计指南 c c语言的2点解答对大家有用。