A. 成为一名C程序员需要什么知识
话是用口说的,更具体的是人的口和舌头以及喉咙的配合下发出的声音。语言是话的书面表示。如果我们不运用口或者根本不了解怎么用口,就不会说出话,这样的话,一个人即便是非常了解语言,例如汉语,那么没有实际用途。小孩出生不知道如何运用口和舌,所以不好说话,当然他也不懂语言,这个时候,即便懂文字的意思,他也不会念。
综上所述:我们用C语言的本质意图是要编写程序,让它在CPU上运行。所以我们必须非常精通CPU,就像熟练我们的喉咙一样,只有这样,才能唱出好听的歌,编出好的程序。在这样的基础上,学会了C语言,才能编出好的程序,让CPU为你做事!
B. C程序员要学什么
c primer plus 是语法基础的书。接下来可以看数据结构和算法的书。
接下来可以看计算机组成原理和操作系统的书,因为c语言是比较底层的,接近系统环境,看这些书可以提供c编程的功底。
还有现在编程离不开数据库和网络,所以看数据库的书是必要的,还有socket网络编程,最好看一下网络基础和tcp/ip协议。
还有为了更好地了解语言,看一下编译原理还是必要的,设置可以自己写一个比较简单的语言解释器。
够看一年半了。
C. 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分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
D. 请问想成为C程序员,需要具备C语言中的那些知识
这个问题好,知道是为了什么而工作,奋斗有目的,具备知识才去找工作,而不是千篇一律的“C程序员待遇如何啊,能不能赚钱”之类。
我也是计算机专业。C语言算法语言的熟练仅仅是入门。c仅仅是操作底层的,主要作用就是契合硬件跟分配内存,最最主要目的是提高程序运行速度。
c语言要跟C++语言搭配。C操作低级硬件访问,C++提供高级抽象。C语言要认真学,一定一定要扎实,C++学习就要掌握很多面向对象的编程技术,说白了考虑的是算法。学程序,学的就是编程思想,算法很重要。
c语言跟C++面向的不是java之类的,java hadrop等语言主要目的是连接,不针对硬件的快速量产的软件,所有java之类语言速度慢不安全,仅仅适合数据库管理跟面向普通民用。c语言类高效快速安全,并且节省硬件,追求稳定,主要就是工业生产了,面向的主要对象就是工厂。写winCE,pda或者转硬件走嵌入式,单片机,都是你以后要选择要走的路。到底怎么走完全看你自己。
推荐的书就一本,C++ primer plus。搞明白这本书,对你很有用。
还有就是,得学数学。函数,方程是必须的。要走C++游戏编程还要学扎实物理,比如曲面建模,顶点运算,三角形等等。完全看需分配。当然,学完那本书,你自己就有了思路。
竟然三年前发的问题,不好意思。可能你已转行或者已经有所成就,我的回答仅仅坐个参考
E. 作为一名c c++初学者 到一个合格的程序员需要学习什么
初期重点 :
1、基本的语言结构
2、常用的函数
后期重点
3、数学算法
4、数据结构
F. C程序员如何学习
尽量用计算机的运行方式来思考问题……
G. C语言程序员都需要掌握什么
c语言入门的时候一定要打好基础,掌握编程语言的规则。不仅仅限于课堂的学习,要多思考,多看关于c语言方面的书,重点是掌握思想方法,最好记住一些常用程序设计。还要细心,多练
H. 想成为一名C程序员
不知道你以前可学过其他编程语言。Cprimerplus是入门的,如果你感觉掌握的还不错,可以去看看《算法设计与分析》,学习一些常用算法,再看Andrew Koenig编写的《C和C++经典着作》,再看David R.Hanson 的《C语言接口与实现:创建可用软件的技术》,学完这些基本对C会有一些了解,再在实践中不断摸索就差不多了。想成为高级的,得多看看计算机方面的书籍,了解Windows的一些系统函数,程序会写得更简洁。
I. 从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分开 现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。拥有强烈的好奇心