1. 请问想成为C程序员,需要具备C语言中的那些知识
这个问题好,知道是为了什么而工作,奋斗有目的,具备知识才去找工作,而不是千篇一律的“C程序员待遇如何啊,能不能赚钱”之类。
我也是计算机专业。C语言算法语言的熟练仅仅是入门。c仅仅是操作底层的,主要作用就是契合硬件跟分配内存,最最主要目的是提高程序运行速度。
c语言要跟C++语言搭配。C操作低级硬件访问,C++提供高级抽象。C语言要认真学,一定一定要扎实,C++学习就要掌握很多面向对象的编程技术,说白了考虑的是算法。学程序,学的就是编程思想,算法很重要。
c语言跟C++面向的不是java之类的,java hadrop等语言主要目的是连接,不针对硬件的快速量产的软件,所有java之类语言速度慢不安全,仅仅适合数据库管理跟面向普通民用。c语言类高效快速安全,并且节省硬件,追求稳定,主要就是工业生产了,面向的主要对象就是工厂。写winCE,pda或者转硬件走嵌入式,单片机,都是你以后要选择要走的路。到底怎么走完全看你自己。
推荐的书就一本,C++ primer plus。搞明白这本书,对你很有用。
还有就是,得学数学。函数,方程是必须的。要走C++游戏编程还要学扎实物理,比如曲面建模,顶点运算,三角形等等。完全看需分配。当然,学完那本书,你自己就有了思路。
竟然三年前发的问题,不好意思。可能你已转行或者已经有所成就,我的回答仅仅坐个参考
2. 如何才能成为高级程序员C语言的
个人感觉
各种语言都是相通的,一种会了其他的真的都没什么,你说你过了C二级,很不好意思
我不得不泼你凉水在真正从事软件开发的人中,考了软件设计师都可能是个初学者
更何况是c二级呢?你看的那本书仅仅是基本的语法
编程的入门部分!以后还有很多东西要你学的(我单指C语言这块!)数据结构很重要的!建议你不仅要看完,而且要多看几遍
书上的算法最好能自己编程实现!图的部分可能比较麻烦你可以暂时作为了解!链表,顺序表,二叉树,排序查找算法等等都是非常非常重要的!
3. C语言是作为一个程序员必须了解的,你知道怎样学习C
1:不要急,要有耐心学习,不要想着一下能够写出什么样的大系统来。
2:一些参考书是很有必要的,具体书籍就不必多说了,比如谭浩强的C等,自己可以网络下相关资料。
3:还是不要急,把书籍上的事例代码敲出来(不是拷贝、粘帖,是你自己一个字母一个字母的敲出来)。
4:运行代码,使正确的结果能够出来。
5:修改部分代码,尝试运行。最终使修改后的代码能够正确运行。
6:写自己的代码。
7::以上6步建立在你掌握了一点语法和结构的基础上。如果你是0基础,那么接着看。
8:按书籍上的顺序来,先学习语法、结构、变量等,在学习数组、指针、链表等知识。
9:不要急,第8步是很重要的基础。一定不可马虎放过。
10:进行3--6步练习。继续学习。
11:可以进行第6步,继续学习。
12:可以学习下其他书籍,比如《数据结构与算法》等。
13:编写代码,调试。运行,修改、完善、调试、运行、扩大功能、调试、运行.....
14:写代码、调试。运行。。。。。
编程需要大量的代码练习,纸上谈兵没用,一定要动手敲、调试、运行。
以上学到的知识只是C的基础部分,以后你也可以继续学习C++、Java等。当然你也可以继续学习C的高级部分,比如网络、光标库等(这些学好就是大师级C了)。
走编程之路,光学习语言是不够的,比如算法、编译原理、软件工程、计算机系统、高数、物理学等都要学习下。
希望可以帮到您,谢谢!
4. c语言程序员
C程序员要求:
熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
5. 从C语言编程方面来讲,怎么样才算是好程序员
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVA One很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
对操作系统有一定的了解
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
懂得网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
明白DCOM/CORBA/XML/WEB Services存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
不要将软件工程与CMM分开
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
拥有强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
如果您正为如何成为一名合格的程序员而发愁的话,希望以上文字能为您排除一些顾虑和问题。如果您想获得更多有关程序员的信息,那么请随时关注天天招生网,我们将在最短的时间内提供最真实,最准确的相关信息
6. 优秀的C语言程序员都是用哪些开发工具
没有给c语言专用的开发工具.
你说的trubo
c是编译器.
vc++可以开发c语言,但不能算是c的开发工具.
c的编辑工具有个比较出名的,source
insight
90%以上用c语言开发的公司都会选用这个编辑器的.当然了,如果是小代码量的工程,估计不会选用它,用个ue就可以了.
像几千万行的c工程的话,必须用sourceinsight
3.5的.
7. 普通的程序员和大神级的程序员有什么区别
8. C语言程序员都需要掌握什么
c语言入门的时候一定要打好基础,掌握编程语言的规则。不仅仅限于课堂的学习,要多思考,多看关于c语言方面的书,重点是掌握思想方法,最好记住一些常用程序设计。还要细心,多练
9. 请问C语言的程序员都从事什么工作,具体一点
嵌入式开发(太“高级”的语言跑不动);
通信和网络程序设计(比较底层的、关注效率或者和特定硬件相关的部分;不是做网站什么的——这个用C开发效率太低);
多媒体(主要是图形处理 需要考虑运行期效率和硬件相关性 );
内核级系统程序设计(现在的操作系统内核基本上都是C写的,不管是Win还是*nix )。
以上这些领域除了一些性能实在太低的单片机之类,用C++也可以代替,不过因为C++程序员往往会把问题搞复杂导致反而使项目难以维护和管理,而利用现有的大量C程序代码的优势体现又得不明显(extern"C"当然没有直接用C方便- -),因此还不如用C
话说回来,用纯C的现在不多了,因为其它一些领域要么需求多变,要么需要表达复杂的业务逻辑,用C来解决都不太直接 所以一般学完C以后可以考虑再学其它语言(当然C学好了待遇也不低)。
10. c语言学到什么程度才能成为程序员
学习编程已经不再是少数计算机专业人员的事情了,就如同计算机深入到我们生活的每一个角落一样,学习编程的人也是越来越多。由于现在网络信息资源丰富,大多数人都选择了自学。我自幼自学编程十余年,多少积累了一些经验和方法,想通过这里给这些初学的编程自学者一些个人的建议。 建议一:自学也需要看书 自学只是说没有专门的老师手把手教你,并不是说连书本都可以不要了。有人天天来问我一些很基础的概念问题,我问他:“这些概念书上不都写得很明白吗?”他回答:“我没有书。”如果没有书,那么你很难在脑子里形成一个较为整体性的认识,所有了解到的知识都是支离破碎的。且不说大多数人没有精力回答你这些问题,即使回答了,很多东西也不是三言两语就能说清的,很多高手说出来的都是他们自己的理解,这些理解或许很有意味,但也许费了你半天的脑子却怎么也搞不明白。一本书,即使不是什么经典之着,它也可以向你提供一个大体完整的框架,成为你自学过程中的一个向导。这里要说的是:网上电子教程资源丰富,看看无妨,但手中至少应有一本印刷的书——毕竟网上的教程鱼龙混杂,其作者也许并不精通此道,很难分辨其质量好坏。 建议二:学编程更需要实践 书是有了,可是整天抱着书也不成。编程最怕的就是纸上谈兵,我看到有的初学者,看完了大半本书,和我说起循环函数来头头是道,却连编译器长什么样都没有见过。真要他写几行程序,便是错误百出。我的建议是,无论你涉及编程的时间是多么地短,无论你目前学到的知识多么地少,你都应该不断地尽自己所能去编写一些小程序——即使是把书上的“Hello, World!”亲手输入进去运行一遍,都能让你的编程能力有着极速地提高。 建议三:编程是创造,不是默写 有人甚至打算用题海战术来学习编程——这完全没有理解编程的内涵。仅仅通过“欣赏”别人写的代码也无法学好编程。有一点需要明白:编程是一个创造的过程。编程的意义在于:通过程序的形式,教计算机如何去完成一项任务。写代码只是形式,真正重要的是如何完成特定的任务。学习别人的代码固然是很有用的,可以学习别人的思想;但是如果仅仅是记忆了一些别人写好的代码,就希望能通过拼拼凑凑成为自己的程序,那是基本不可能的。我的建议是:在自己编写程序,进行创造的过程中,借鉴前人程序中的思想方法——而不是整天处于复制粘贴的状态中。 建议四:好习惯要从开始做起 所谓“不以善小而不为”,等坏习惯养成了,再改就困难了。因此,类似写程序要注意缩进、为变量和函数起有意义的名字、大小写的使用、行末分号的注意等等,要从一开始做起。很多人对这些善意的提醒不屑一顾,觉得多此一举,浪费时间。其实,如果真的能严格地去做,它们反而可以帮你节省许多时间。 建议五:不必太刨根问底 “打破沙锅问到底”确实表现了一种钻研的精神,不过我还是建议初者学,有的时候,不必太刨根问底。编程的相关知识都是盘根错节交织在一起的,大多数问题深挖下去会越说越复杂,对于知识掌握不多的初学者来说,只能是越来越糊涂。很多东西,时间长了,随着知识了解得深入,自然而然会明白。就像刚刚学英语的时候,你知道“goodbye”是再见就足够了,难道非要把这个good和再见的关系先弄个水落石出吗?作为初学者,最重要的是尽快地能全面地了解整个知识的全貌,在单独的知识点上,暂时不需要太深入。可以等知识经验丰富之后,再回头来研究 ~