有没有学习编程的跳水高手编程题,该如何更好的学习编程呢?

一个新手想请教一些如何学习编程的问题 | Hello world!小组 | 果壳网 科技有意思
125901人加入此小组
我的属性1.要上大一的工科学生(通信工程)。2.编程基础等于03.英语水平不能够阅读原版书。由于大一的时候有C语言这个课程,所以我想学习的语言是C。我希望把编程作为一种个人能力而不仅仅是应试手段。所以,我恳请各位高手:推荐有助于学习C的书(s)。(如果是一系列书的话能否提供学习的顺序)网上有人喷谭浩强的书,但我看不懂他们喷的是什么。有高手觉得这本书用来入门不错吗?谢谢。
+ 加入我的果篮
软件工程师,小众软件爱好者
谭浩强的书完全是给门外汉看的....都是最最基础的内容. 而且也完全不值得学上一个学期.
软件工程师,小众软件爱好者
感觉看看VC++之类的比上课学的那些有用.
引用nasdaq的回应:谭浩强的书完全是给门外汉看的....都是最最基础的内容. 而且也完全不值得学上一个学期.那您觉得啥书比较好?我觉得我理解能力还算不差。
数学/化学爱好者
我推荐这本:How to Think Like a Computer Scientist: Learning with Python唔 python……
软件工程师,小众软件爱好者
我不是搞C的啊. 不好推荐.LS坑爹
米有看过谭浩强的书,所以也不好说什么。据说K&R的The C Programming Language不错,有中文版。学习路线或许可以参考一下国外大学的CS课程。
C#程序设计师
感觉老外那些红壳子的一个系列都挺好的
C语言用 谭浩强 的书入门是很不错的选择!我当初就是看这本书入门的 要想做一个带有窗口的应用程序就不知道咋弄了当初百度了好久,也没什么头绪。然后转去学C++了,说实话C++很强悍学的越多发现里面的东西浩如烟海,然后也没有摸出什么头绪。可能是自学的缘故吧,没人指导学起来没一个系统的过程。后来又去学java了。关于C语言的书也就是网上大家说的那些,想学好的话,还是要多写代码,多练习。还要牢记一些常用、让你觉得巧妙神奇的一些代码。还有就是有老师比没老师学起来要容易些!干嘛不问问学校的老师呢?
看到某位大侠推荐的书六本书去看看吧
直接学C++吧,C不学也可以,不然到头来反而不习惯。至于书,找一本不算太差的先入门,谭浩强的排版太差,容易让人养成不良的代码风格(要知道良好的代码风格很重要的),推荐《C++入门经典》,详细而且不难,书如其名,等到自己差不多了能编出个像样的程序来了,可以继续《C++Primer》,俗称红宝书,里面的内容相对深刻,但很实用。重要的是掌握编程的思想,培养自己的逻辑思维。其次,不要在编译器上面太纠结,什么我到底用VC6还是VC2005还是VC2008还是BCB云云……编译器只是编译器,他把你的代码翻译成机器语言并声称可执行程序。初学的时候没必要太深入编译器去研究。掌握语法和思想很重要。现在大学里面C基本都用Turbo C,这还好说,不过C++还有用VC6就太那啥了,VC6对C++的标准支持的并不是太好。也许有人认为这是小事,但要想成为一个真正出色的程序员,这些都是必要的知识。刚开始都是控制台界面的程序,如果你像编写图形界面的 win32/64平台下运行的程序 建议使用C++ builder,它可以帮助你省去不少花在图形界面设计上的时间。还有,做好时刻学习新知识的准备,书本上的远远不够,从语言本身,到数据结构,再到操作系统,具体项目中又会遇到各种各样的东西。反正程序员要了解各方面的知识,而且知识更新太快了,不要指望一下子就掌握他们,要循序渐进,需要什么就学什么,多利用网络资源,CSDN是个不错的地方。你会发现,任何一个小的问题都足够研究好一阵子,不过这也正是编程的乐趣所在。祝楼主学有成!
入门不推荐看VC++,VC和C语言是两码事。K&R的《c程序设计语言》不错,原书名是The C programming Language。“谭浩强的书是给门外汉看的”这种说法不敢苟同,国内的教材一个值得肯定的地方是脉络比较清晰,适合入门。可以先看谭浩强的书,K&R辅之
C#程序设计师
国产编程书不推荐,系统化太差,
软件工程师,小众软件爱好者
引用forak的回应:入门不推荐看VC++,VC和C语言是两码事。K&R的《c程序设计语言》不错,原书名是The C programming Language。“谭浩强的书是给门外汉看的”这种说法不敢苟同,国内的教材一个值得肯定的地方是脉络比较清晰,适合入门。可以先看谭浩强的书,K&R辅之我觉得就实用性来说,LZ还是学VC++更有用处. 单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼
作为参考,LZ可以看看:
工程热物理硕士生,DIY爱好者
去报个二级考试呗……这样你就有动力每天啃C++的书了……
引用nasdaq的回应:我觉得就实用性来说,LZ还是学VC++更有用处.单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼我从谷歌上了解,通信工程似乎更依赖于c(底层偏硬件?还是嵌入式开发?),所以我想从c学起。我想如果进一步了解了一门计算机语言,那么理解别的语言应该会相对轻松一点。。(个人主观臆测)谢谢各位。
引用ho.imbalance的回应:作为参考,LZ可以看看:漫谈C语言及如何学习C语言如何学好C语言THX very much
软件工程师,小众软件爱好者
引用Pale的回应:我从谷歌上了解,通信工程似乎更依赖于c(底层偏硬件?还是嵌入式开发?),所以我想从c学起。如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.引用Pale的回应:我想如果进一步了解了一门计算机语言,那么理解别的语言应该会相对轻松一点。。(个人主观臆测)谢谢各位。如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
软件工程师,小众软件爱好者
PS: 想搞好嵌入式记得多泡实验室.....
.net/网络工程师,电子商务师
嵌入式和Web应用开发,这个差别是够大的。不过若是用.net平台的话,差异性可以减小到可接受的程度。除了糟糕的启动速度和平台自身的bug,想做RAD的话.net平台不错。引用nasdaq的回应:如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
推荐吴文虎的《程序设计基础》,红色的。前一阵才知道谭浩强还写了C++的书,反正不要买就是了。
Verilog就算了好吧,人家属于硬件的范畴了。基本上你跟着学校的进度走就行了,但是真的希望学到东西的话,在跟着学校进度的同时务必要把他们在书本上的东西都吃透(工作量巨大),现在学校开课的话基本上跟专业沾边的都会开,广度有但深度不够,所以不用担心入门的问题。接下来自学的过程中,建议去新华书店买正版书看,机械工业出版社或者人邮出版社的系列书籍都不错。至于买正版的原因,淘宝有高仿很便宜,但是没割肉没动力看……引用nasdaq的回应:如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
如果希望把编程作为一种个人能力而不仅仅是应试手段,那在大学阶段,不管你学的是哪种语言,高数要学好,数据结构要学好,离散数学要学好……以上是我家那只程序员的切身体会。
引用Moonsinger的回应:如果希望把编程作为一种个人能力而不仅仅是应试手段,那在大学阶段,不管你学的是哪种语言,高数要学好,数据结构要学好,离散数学要学好……以上是我家那只程序员的切身体会。说的有道理,还有更深层次的算法基础等等,高数和离散应该是必备的,只要是理工科就应该学好。当然作为扩展,可以学学加密、安全等方面的内容。
引用nasdaq的回应:我觉得就实用性来说,LZ还是学VC++更有用处.单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼我学编程是从Pascal开始的,花了我不少时间来逐步熟悉;后来花了几天在C语言“门口看了一眼”,上大学前只会写控制台程序;再后来因为应用的需要花了几个小时在MFC的“门口看了一眼”。窃以为VC并不是什么艰深的东西,毕竟它只是个工具,跟word一个性质,不过就像使用word必须先学会打字一样,要掌握一种开发工具必须得熟悉一门语言——这就是我所理解的“入门”。以我粗鄙的认识和浅薄的经验来看,VC不过是调调API、拖拖控件补补代码,熟练掌握一门语言之后会使用它是触类旁通水到渠成的事情。以前图像处理大作业要求用VC做一些算法仿真,老师都不屑于介绍VC怎么使用,一句话:自己去学。我不知道你指的“入门”是个什么概念、和我的理解有多大出入。如果你是指能深入解剖VC的底层代码、逆向这个软件或者独立设计一个类似MFC的框架才算是入了门的话,我确实还停留在“只在门口看了一眼”的水平,而且我估计九成以上靠VC混饭吃的程序员也“只在门口看了一眼”。
谢谢各位。
生物信息学硕士生
学习编程不在于看多少书,而在于自己动手编写多少代码。楼主上这门课有教材吧?就用你们的教材就够了。平时就是自己给自己出题,或者想一些比较有意思的算法题(网上也有很多),自己动手写。遇到问题学会到网上查资料、到论坛里和别人讨论或者查该门语言的原始英文文档。国内很多所谓的编程语言教程大多翻译自这些文档,而且翻译的要不就是断章取义,要不就是完全曲解,有些专业术语也是东拼西凑,让人摸不着头脑。所以非要买书的话请尽量买原版(影印版)。如果你觉得自己英语水平不够,那更应该通过看原版书来强化训练了,而不是去逃避,英语好你会发现对于从事IT行业来说是种很明显的优势。另外谭浩强那本书确实言过其实。我不是高手,能提供的建议就这些了。
对新手来说c语言的书哪本都差不多,我工作中有时也会当工具书翻出来查一下楼上说的对,动手写代码才是最重要的。书是当你不会写代码时去翻的。
软件工程师
算法才是王道啊
引用wheeler的回应:算法才是王道啊算法只是比较有研究头而已,实际工作中除非你是专门做这块的,一般应用软件用不到多少算法,在高级能力上更需要的是软件工程和软件架构的知识。
软件工程师
给软件一点灵魂吧。 一点算法都不玩的话。 码农就真是码农了。。。引用凉薯的回应:算法只是比较有研究头而已,实际工作中除非你是专门做这块的,一般应用软件用不到多少算法,在高级能力上更需要的是软件工程和软件架构的知识。
c++primer,看看这个
我来补充点海外大学CS起步的经验吧。。。我们基础课三门,第一门python(原来是用scheme的),主要讲编程基础和语言;第二门java,主要讲数据结构和算法;第三门C和汇编,主要讲系统和底层。个人感觉和国内搞CS的同学们相比,这样走得更容易一些,比起一开始就啃C或者C++,python的确容易上手,而且可以让人专心在程序思路而不是代码上。课程内容由浅入深,互有交叉。当时我有国内同学和我说老师上来就教汇编。。。我觉得是疯了,不知各位国内的大牛们怎么看。动手必然重要的,我们每门课每周一个实验(相当于上机)一个作业;一学期还有三到四个大的project,题目都很有意思,比如计算机下棋,tweet数据分析,游戏之类,几个人在一起做也锻炼团队合作能力。至于书的话,谭浩强的书我自学的时候看过,觉得挺枯燥的,后来到大学看教授选的课本觉得比那个好多了。。。我很不喜欢把语言和CS理论混在一起讲,尽管最后两者会结合,但是反复切换真的很容易乱。。。语言和思路就是写字和构思的关系,不会构思,字写得再好也白搭。另外关于英语的事。。。这个确实得抓,LZ现在就开始发力吧,英语在IT界太重要了,很多概念中文是说不太清的,很多好的文档之类也没有中文版。
(C)2016果壳网&&&&&京ICP备号-2&&&&&当前位置: >
> 学习编程的app
学习编程的app众所周知程序员这个职业不管走在那都吃香,但是想要成为一名优秀的程序员必须先学习编程,下面为大家推荐几款适合编程学习的app,希望对大家有所帮助。
18.9M推荐理由:极客学院app是一款手机软件开发视频学习应用,对于小白来说无论你是安卓还是ios开发爱好者,极客学院手机客户端绝对是你入门的最佳选择
8.3M推荐理由:推酷这款应用主要是有针对性的推荐一些比较专业的内容供使用者阅读,内容比较丰富。界面简洁,操作起来非常方便,能让你在短时间了解更多你想了解的专业信息和资讯
7.4M推荐理由:开源中国对程序员来说,可以利用这款APP来了解一些最新的资讯。提出你的问题,然同行的朋友来帮你解决。和同行的朋友交流学习,帮助自己进步。这个平台是我个人比较喜欢的,需要的朋友可以下载试试
10.8M推荐理由:慕课网app是一款免费学习IT技能的app,慕课网app有大量免费的专业视频课程,分为不同的难以程度,可以自行选择,学员们还可以参与讨论交流,课程主要包括前端开发、PHP、Html6、Android、iOS、Swift等
8.5M推荐理由:Learn C++是由SoloLearn开发的一个编程教学应用,跟着Learn C++学习速度快效率高,C++是什么东西?脑残志坚的小编表示也很想学
5.9M推荐理由:编程教程app是一款编程教学软件,提供了访问超过1,500视频编程世界的主题。开发人员可以观看精彩的部分拍摄的教程,专门为这个应用程序!借助结构性播放列表,有兴趣的程序员可以工作在个别主题,也看到自己的进步
8.7M推荐理由:编程高手是一款计算机编程学习软件,包括9本计算机书籍,包括Lua程序设计 JavaScript教程 Asp入门及精通 json.net快速入门 C#程序员参考 C#语言规范 java教程
2.9M推荐理由:学习编程是一款介绍一系列编程语言基础的软件,重在入门
1.5M推荐理由:编程在线是一款包括编程语言、移动开发、WEB开发、RSS订阅功能的综合性编程学习客户端。界面简洁、操作简单。文章内容包括java、NET、C/C++、PHP、Android开发、Windows开发、iPhone开发、JavaScript开发
5.8M推荐理由:口袋编程app是一款编程学习软件,不管你是不是计算机专业,在口袋编程里你都可以学习到各种计算机的实战知识,完全免费,助你编程一臂之力
2.2M推荐理由:编程助手app是一款开发者手机应用,通过它可快速查看编程语言文档,还有很多学习资料可以相互共享
7.7M推荐理由:猿圈app是一款为成都院打造的软件,猿圈app中有丰富的程序员面试题和学习内容,而且内容实时更新,让你了解到更多的面试题目内容和信息,这对于你的成长和求职是非常有帮助的
6.2M推荐理由:51CTO学院安卓客户端是一款手机在线学习软件,51CTO学院安卓客户端时候所有IT人士学习的天堂,这里有18个IT大类,5000多个实战视频课程学习,讲课的老师也都是一线有名的大牛,满足所有用户学习IT知识方面的需求,没有什么东西学不到
14.0M推荐理由:百度传课:原传课网被百度收购后更名为百度传课,这款app是百度传课推出的一款Android平台学习应用。在这里你可以随时随地的观看传课网的所有免费直播课程和海量视频课程
16.2M推荐理由:可编程科学计算器(Scientific Calculator Plus)看到一个类似九宫格的功能表,顿时就觉得这玩意的功能不能小视。估计都是为可编程来的技术员
4.3M推荐理由:计算机编程参考是一款手机编程学习软件,想要学好编程技术,那就用计算机编程参考,带给你最实用的编程参考技术与知识,通过实操学习来促进自己的进步,其实编程也没那么容易,用用计算机编程参考你就知道了
9.4M推荐理由:C语言编程实例是一款手机编程学习软件,想要学习编程或是想进阶的童鞋,那就一定要用C语言编程实例,这里涵盖了各类编程实例,教程、专栏,常用工具等四类,提供你所有需要所有编程知识技术,编程老司机就成C语言编程实例开始
1.8M推荐理由:编程初学者是一款手机编程学习软件,想要系统学习编程技术,那就用编程初学者,让初学者也能很好的掌握编程技术,通过各种学习方案让你得到提升
11.7M推荐理由:移动编程是一款手机计算机编程学习软件,想要系统详细的学习编程技术,少走弯路那就用移动编程,让你随时随地想学就学,还能在移动编程社区里找到兴趣相投的朋友一起交流、学习
14.1M推荐理由:掌上物理(Pocket Physics)是一款学习类的软件,掌上物理(Pocket Physics)中的内容覆盖了从小学到大学的所有物理知识,但是比较遗憾的是该软件没有中文版的。
2M推荐理由:易相处App是一款现在人非常需要的软件了,在易相处App中你能学习到各种人际交往的内容,让你不再试社交小白,在良好的人际关系下,你会发现你的优秀。
22M推荐理由:Treehouse将会成为学习编程的最佳方式。使用HTML和CSS来学习网页设计,通过Java来了解安卓开发或通过Swift和Objective-C来学习iPhone开发,学习Ruby on Rails、PHP和Python来学习网络开发,以及商业技巧等
4.3M推荐理由:职坐标app是一款专注于IT教育的移动学习APP,涵盖java、android、ios、php、嵌入式等多门前沿技术视频课程,可以利用等公交休息时间随时随地轻松学习
10.7M推荐理由:吉林工商云app是一款高校云学习平台,提供App下载安装流程-Android、App下载安装流程-iOS、下载短链接生成方法、加入班级流程、老师创建授课班流程、老师发布考试、作业流程、学生参加考试、作业流程、签到流程等,给师生带来极大的便利
11.4M推荐理由:Panda-C app有效的帮助你提高C语言的编程知识,温故知新,拓展程序开发的深度和视野,内容上美观的页面百看不厌,实用的内容,注重认知效率!内容、功能定期更新,赶快下载Panda-C app享用吧
307KB推荐理由:C语言解惑app是一款编程学习应用,C语言解惑app为用户提供专业的C语言编程讲解,帮助用户解决学习C语言时遇到的难题,轻松学习
113KB推荐理由:irebird很容易让您从单用户,单数据库升级到企业级的应用。一个firebird数据库服务器能够管理多个独立的数据库,每一个数据库同时可支持多个客户端连结。总之:它是一个开源的,可以自由使用的数据库(即使是商业上的使用)。支持原子性,并发性,隔离性等概念。
1.1M推荐理由:D制造者是一款根据数据库批量生成Delphi代码的软件。所生成的代码包括:数据表实体及各个数据表的操作逻辑类。Model文件夹中保存的是数据表的实体。每一个实体的文件名为DZModel+数据表名,每一个实体的类名为TModel+数据表名。
26.2M推荐理由:C++编译器升级版app是一款编程学习应用,C++编译器升级版app为用户提供一个功能强大的C++编程学习软件,帮助用户更快的学会c++语言
15.4M推荐理由:在线编程app是一款编程学习应用,在线编程app为用户提供一个编程学习论坛,用户可以在这里学习编程,与其他用户讨论学习,提升自己的编程技术> 学习编程的心得体会
学习编程的心得体会
时间: 来源: 本文已影响人
篇一:程序设计心得体会 程序设计心得体会 【收获及体会】 通过两个星期的折腾,总算把课程设计给完成了,这是一个坚苦而又漫长的过程。是啊,读了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不是我一个人做的,是大家的共同努力得来的。 “也许完成不了!”两个星期前我们这样说,“完成他没问题!”一个星期前我们这样说,现在我们可以说:“哈哈,完成啦”! 刚开始,可以说是没有头绪,于是就去图书馆找资料,找到了一些关于画图方面的,可是这点小进展远远不够,这只是一个小小的开始。下一步是上网查,找到了些与我们题目相似的,那时我们每个人都很高兴,可是那还不是我们要的,于是又上网查到了些有关的函数等等,终于在我们大家的努力下,完成了这个程序。 虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的也是很重要的哦! 做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊! ――姜* 【收获及体会】 忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。 另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。为了解决此。类问题,最好就是多向同学,老师请教,不要怕难为情。尤其是老师,评他们多年的编写程序的经验,要解决我们的问题,对他们来说只是small case。 在设计这个程序时,我们刚开始是根据老师给我们提供的资料,用画图以及循环将框架设计出来,但是接下去便无从下手了,计算是个关键和难点,我们也查了相应的资料,但是它上面用得是坐标来做的,所以为了方便设计程序,我们也改为坐标来做的,这样计算问题解决了。接下去就是按键问题,我们的资料是用鼠标做的,所以关于按键这个函数就只能我们自己设计,还好手头有类似的资料,经过自己的反复尝试以及与与同学的讨论,这也不难,最好还是被我们搞定了。最后就是闪烁,这个设计的方法很死板,都一个类型,就是算坐标比较烦琐,要确定好它的位置,但是这些只要你自己愿意去尝试,问题都可以迎刃而解的。 从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让我知道团队精神得难能可贵,尽管一年下来大家不怎么有多大接触,但是彼此之间的友谊已经在我们心里扎根生底,在遇到问题时,我们会共同进退,每个人都很慷慨不会因为是通过自己艰辛劳动设计出来的东西而不准他人剽窃了。总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会――薛** 【收获及体会】 自从记事以来就听过了电脑这个高科技,现在终于实现了自己的一个小小愿望――成为了计算机系的一名学生,这学期我们学的c语言,以前就听过这个名字,打开书一看简直一窍不通,学好这门科简直就是一个挑战,课前课后篇二:我对数控编程学习中的一些心得体会 我对数控编程学习中的一些心得体会 数控编程的基本概念 数控编程是数控加工准备阶段的主要内容,通常包括分析零件图样,确定加工工艺过程;计算走刀轨迹,得出刀位数据;编写数控加工程序;制作控制介质;校对程序及首件试切。。总之,它是从零件图纸到获得数控加工程序的全过程。 常用方法 手工编程 1.定义 手工编程是指编程的各个阶段均由人工完成。利用一般的计算工具,通过各种数学方法,人工进行刀具轨迹的运算,并进行指令编制。 这种方式比较简单,很容易掌握,适应性较大。适用于中等复杂程度程序、计算量不大的零件编程,对机床操作人员来讲必须掌握。 2. 编程步骤 人工完成零件加工的数控工艺 分析零件图纸 制定工艺决策 确定加工路线 选择工艺参数 计算刀位轨迹坐标数据 编写数控加工程序单 验证程序 手工编程 3. 优点 主要用于点位加工(如钻、铰孔)或几何形状简单(如平面、方形槽)零件的加工,计算量小,程序段数有限,编程直观易于实现的情况等。 4. 缺点 对于具有空间自由曲面、复杂型腔的零件,刀具轨迹数据计算相当繁琐,工作量大,极易出错,且很难校对,有些甚至根本无法完成。 自动编程(图形交互式) 1. 定义 对于几何形状复杂的零件需借助计算机使用规定的数控语言编写零件源程序,经过处理后生成加工程序,称为自动编程。 随着数控技术的发展,先进的数控系统不仅向用户编程提供了一般的准备功能和辅助功能,而且为编程提供了扩展数控功能的手段。FANUC6M数控系统的参数编程,应用灵活,形式自由,具备计算机高级语言的表达式、逻辑运算及类似的程序流程,使加工程序简练易懂,实现普通编程难以实现的功能。数控编程同计算机编程一样也有自己的&语言&,但有一点不同的是,现在电脑发展到了以微软的Windows为绝对优势占领全球市场.数控机床就不同了,它还没发展到那种相互通用的程度,也就是说,它们在硬件上的差距造就了它们的数控系统一时还不能达到相互兼容.所以,当我要对一个毛坯进行加工时,首先要以我们已经拥有的数控机床采用的是什么型号的系统. 2. 常用自动编程软件 (1)UG Unigraphics 是美国Unigraphics Solution公司开发的一套集CAD、CAM、CAE 功能于一体的三维参数化软件,是当今最先进的计算机辅助设计、分析和制造的高端软件,用于航空、航天、汽车、轮船、通用机械和电子等工业领域。 UG软件在CAM领域处于领先的地位,产生于美国麦道飞机公司,是飞机零件数控加工首选编程工具。 UG 优点 提供可靠、精确的刀具路径 能直接在曲面及实体上加工 良好的使用者界面,客户也可自行化设计界面 多样的加工方式,便于设计组合高效率的刀具路径 完整的刀具库 加工参数库管理功能 包含二轴到五轴铣削、车床铣削、线切割 大型刀具库管理 实体模拟切削 泛用型后处理器等功能 高速铣功能 CAM客户化模板 (2)Catia Catia是法国达索(Dassault)公司推出的产品,法制幻影系列战斗机、波音737、777的开发设计均采用Catia。 CATIA 据有强大的曲面造型功能,在所有的CAD三维软件位居前列,广泛应用于国内的航空航天企业、研究所,以逐步取代UG成为复杂型面设计的首选。 CATIA具有较强的编程能力,可满足复杂零件的数控加工要求。目前一些领域采取CATIA设计建模,UG编程加工,二者结合,搭配使用。 (3)Pro/E 是 美国 PTC (参数技术有限公司)开发的软件,是全世界最普及的三维 CAD/CAM (计算机辅助设计与制造)系统。广泛用于电子、机械、模具、工业设计和玩具等民用行业。具有零件设计、产品装配、模具开发、数控加工、造型设计等多种功能。 Pro/E在我国南方地区企业中被大量使用,设计建模采用PRO-E ,编程加工采用MASTERCAM 和 CIMATRON 是目前通行的做法。 (4)C(imatronCAD/CAM系统 以色列Cimatron公司的CAD/CAM/PDM产品,是较早在微机平台上实现三维CAD/CAM全功能的系统。该系统提供了比较灵活的用户界面,优良的、工程绘图,全面的数控加工,各种通用、专用数据接口以及集成化的产品数据管理。 CimatronCAD/CAM系统在国际上的模具制造业备受欢迎,国内模局制造行业也在广泛使用。 (5)Mastercam美国CNC公司开发的基于PC平台的CAD/CAM软件,它具有方便直观的几何造型 Mastercam提供了设计零件外形所需的理想环境,其强大稳定的造型功能可设计出复杂的线、曲面零件。 Mastercam具有较强的曲面粗加工及的曲面精加工的功能,曲面精加工有多种选择方式,可以满足复杂零件的曲面加工要求,同时具备多轴加工功能。由于价格低廉,性能优越,成为国内民用行业数控编程软件的首选。 (6)FeatureCAM 美国DELCAM公司开发的基于特征的全功能CAM软件,全新的特征概念,超强的特征识别,基于工艺知识库的材料库,刀具库,图标导航的基于工艺卡片的编程模式。全模块的软件,从2~5轴铣削,到车铣复合加工,从曲面加工到线切割加工,为车间编程提供全面解决方案。 DELCAM软件后编辑功能相对来说是比较好的。 近年来国内一些制造企业正在逐步引进,以满足行业发展的需求,属新兴产品。 (7)CAXA制造工程师 CAXA制造工程师是北京北航海尔软件有限公司推出一款全国产化的CAM产品,为国产CAM软件在国内CAM市场中占据了一席之地。 作为我国制造业信息化领域自主知识产权软件优秀代表和知名品牌,CAXA已经成为我国CAD/CAM/PLM业界的领导者和主要供应商。 CAXA制造工程师是一款面向二至五轴数控铣床与加工中心、具有良好工艺性能的铣削/钻削数控加工编程软件。该软件性能优越,价格适中,在国内市场颇受欢迎。 (8)EdgeCAM 英国Pathtrace公司出品的具有智能化的专业数控编程软件,可应用于车、铣、线切割等数控机床的编程。针对当前复杂三维曲面加工特点,EdgeCAM设计出更加便捷可靠的加工方法 ,目前流行于欧美制造业。英国路径公司正在进行中国市场的开发和运作,为国内的制造业的客户提供更多的选择。 (9)VERICUTVERICUT 美国CGTECH公司出品的一种先进的专用数控加工仿真软件。VERICUT 采用了先进的三维显示及虚拟现实技术,对数控加工过程的模拟达到了极其逼真的程度。不仅能用彩色的三维图像显示出刀具切削毛坯形成零件的全过程,还能显示出刀柄、夹具,甚至机床的运行过程和虚拟的工厂环境也能被模拟出来,其效果就如同是在屏幕上观看数控机床加工零件时的录像。 编程人员将各种编程软上生成的数控加工程序导入VERICUTVERICUT中,由该软件进行校验,可检测原软件编程中产生的计算错误,降低加工中由于程序错误导致的加工事故率。目前国内许多实力较强的企业,已开始引进该软件来充实现有的数控编程系统,取得了良好的效果。 随着制造业技术的飞速发展,数控编程软件的开发和使用也进入了一个高速发展的新阶段,新产品层出不穷,功能模块越来越细化,工艺人员可是在微机上轻松地设计出科学合理并富有个性化的数控加工工艺,把数控加工编程变得更加容易、便捷。 数控编程的基本步骤 1.分析零件图确定工艺过程 对零件图样要求的形状、尺寸、精度、材料及毛坯进行分析,明确加工内容与要求;确定加工方案、走刀路线、切削参数以及选择刀具及夹具等。 2.数值计算 根据零件的几何尺寸、加工路线、计算出零件轮廓上的几何要素的起点、终点及圆弧的圆心坐标等。 3.编写加工程序 在完成上述两个步骤后,按照数控系统规定使用的功能指令代码和程序段格式,编写加工程序单。 4.将程序输入数控系统 程序的输入可以通过键盘直接输入数控系统,也可以通过计算机通信接口输入数控系统。 5.检验程序与首件试切 利用数控系统提供的图形显示功能,检查刀具轨迹的正确性。对工件进行首件试切,分析误差误差产生的原因,及时修正,直到试切出合格零件。 虽然,每个数控系统的编程语言和指令各不相同,但其间也有很多相通之处. 功能代码 字与字的功能 1、字符与代码 字符是用来组织、控制或表示数据的一些符号,如数字、字母、标点符号、数学运算符等。国际上广泛采用两种标准代码: 1)ISO国际标准化组织标准代码 2)EIA美国电子工业协会标准代码 2、字 在数控加工程序中,字是指一系列按规定排列的字符,作为一个信息单元存储、传递和操作。字是由一个英文字母与随后的若干位十进制数字组成,这个英文字母称为地址符。 如:“X2500”是一个字,X为地址符,数字“2500”为地址中的内容。 3、字的功能 组成程序段的每一个字都有其特定的功能含义,以下是以FANUC-0M数控系统的规范为主来介绍的。 (1)顺序号字N 顺序号又称程序段号或程序段序号。顺序号位于程序段之首,由顺序号字N和后续数字组成。其作用为校对、条件跳转、固定循环等。使用时应间隔使用,如N10 N20 N30…… (2)准备功能字G 准备功能字的地址符是G,又称为G功能或G指令,是用于建立机床或控制系统工作方式的一种指令。G00~G99 (3)尺寸字 尺寸字用于确定机床上刀具运动终点的坐标位置。 其中,第一组 X,Y,Z,U,V,W,P,Q,R 用于确定终点的直线坐标尺寸;第二组 A,B,C,D,E 用于确定终点的角度坐标尺寸;第三组 I,J,K 用于确定圆弧轮廓的圆心坐标尺寸。在一些数控系统中,还可以用P指令暂停时间、用R指令圆弧的半径等。 (4)进给功能字F 进给功能字的地址符是F,又称为F功能或F指令,用于指定切削的进给速度。对于车床,F可分为每分钟进给和主轴每转进给两种,对于其它数控机床,一般只用每分钟进给。F指令在切削程序段中常用来指令螺纹的导程。 (5)主轴转速功能字S 主轴转速功能字的地址符是S,又称为S功能或S指令,用于指定主轴转速。单位为r/min。 (6)刀具功能字T 刀具功能字的地址符是T,又称为T功能或T指令,用于指定加工时所用刀具的编号,如T01。对于数控车床,其后的数字还兼作指定刀具长度补偿和刀尖半径补偿用,如T0101。 (7)辅助功能字M辅助功能字的地址符是M,后续数字一般为1~3位正整数,又称为M功能或M指令,用于指定数控机床辅助装置的开关动作,如M00~M99。 程序格式 程序段格式 一个数控加工程序是若干个程序段组成的。程序段格式是指程序段中的字、字符和数据的安排形式。程序段格式举例: N30 G01 X88.1 Y30.2 F500 S; N40 X90;(本程序段省略了续效字“G01,Y30.2,F500,S3000,T02,M08”,但它们的功能仍然有效) 在程序段中,必须明确组成程序段的各要素: 移动目标:终点坐标值X、Y、Z; 沿怎样的轨迹移动:准备功能字G; 进给速度:进给功能字F; 切削速度:主轴转速功能字S; 使用刀具:刀具功能字T; 机床辅助动作:辅助功能字M。 程序格式 1)程序开始符、结束符 程序开始符、结束符是同一个字符,ISO代码中是%,EIA代码中是EP,书写时要单列段。 2)程序名 程序名有两种形式:一种是英文字母O(%或P)和1~4位正整数组成;另一种是由英文字母开头,字母数字多字符混合组成的程序名(如TEST1 等)。一般要求单列一段。 3)程序主体 程序主体是由若干个程序段组成的。每个程序段一般占一行。 4)程序结束 程序结束可以用M02或M30指令。一般要求单列一段。 加工程序的一般格式举例: % // 开始符 O2000 // 程序名 N10 G54 G00 X10.0 Y20.0 M03 S1000 // 程序主体 N20 G01 X60.0 Y30.0 F100 T02 M08 N30 X80.0 …… N200 M30 // 程序结束 % // 结束符 机床坐标系 机床坐标系的确定 (1)机床相对运动的规定 在机床上,我们始终认为工件静止,而刀具是运动的。这样编程人员在不考虑机床上工件与刀具具体运动的情况下,就可以依据零件图样,确定机床的加工过程 (2)机床坐标系的规定 标准机床坐标系中X、Y、Z坐标轴的相互关系用右手笛卡尔直角坐标系决定。 在数控机床上,机床的动作是由数控装置来控制的,为了确定数控机床上的成形运动和辅助运动,必须先确定机床上运动的位移和运动的方向,这就需要通过坐标系来实现,这个篇三:我关于编程及CC++初学心得体会 我关于编程及C/C++初学心得体会 本文原为本人在论坛所发若干帖,意在集中解决新手学习C/C++语言时将遭遇到的各类问题,网友反馈情况良好,集合修订后作为个人作品贴于此处。 本贴主要分析概念原理和解决方案,不讨论具体程序语法,立足于让初学者能运行起第一个程序。其他事宜如解释入门语法等本文基本不涉及。 本文依照 创作公用约定(署名-非派生作品-非商业用途) 发布。作者(即本人)无更新,请勿与作者联系。 作者:碧蓝右耳。 联系方式: 版本号:3.0 完成日期: 一、开始之前 FAQ 那是什么 为何有这篇FAQ 编程为何物 如果这就是编程,那语言是怎么回事 我为啥要学编程 听说编程很难,是真的么,那我能学会吗? 我真的可以么 还一定要有台电脑么 好吧你说服我了,我打算开始,该怎么做 那么,下一步怎么干 我碰到问题了,谁能帮我 我能看懂别人的程序,但自己做就觉得无从下手,怎么会这样 我英语\XX不会,咋办 关于态度、情绪和其他 二、选择C/C++语言 C语言是什么 C++语言是什么 为何要选择纯C C/C++语言和其他语言有什么关系 我为什么要学C/C++语言 Python语言 作者的另一推荐 三、一些重要的概念-----计算机原理 编程的对象是什么――――计算机 程序到底是怎么回事――――是操作而不是结果 为什么要编程――――因为机器的特点 你们老是提到编译器,那是什么-----代码翻译机 给我解释下啥叫编程语言――――各路江湖武功 语言之后要确定的事情------操作系统和平台 编程时什么东西最重要----源代码 我的程序和一般的程序不一样,什么原因――――控制台和图形界面的差异
好像不能建立一个单独的文件来编译――――工程和项目的问题 难道一切都要从头干起――――函数、API、类、控件、开发包与软件复用关于图形库的补充说明--------可选择的图形库
四、教材、习题和示例 能推荐几本好书么 首先是纯C的教材 然后是C++的教材 接下来是Windows编程 Unix/Linux/BSD系统 数据结构和算法 各种图形以及其它库 软件工程思想 找书的诀窍 光看书似乎不解决问题,难道要做题 OJ是什么 哪里有可用的OJ 哪里有代码示例可看
五、选择编译器 有哪些编译器可用 还有些可以配合编译器的开发环境 他们在哪里 怎么安装他们----特别解释 MingW版GCC的安装
六、TC下常见的问题解决 用TC创建第一个程序 TC的库路径设置 TC下的图形编程设置 我的程序在TC下可以编译,在VC/GCC下为什么出错
七、其它编译器问题 用VC创建程序 用DEV-CPP创建程序 用MingW创建程序 用Lcc-win32创建程序
八、结束语
程序员成长的六个阶段
一、开始之前
FAQ 那是什么 FAQ就是Frequently Asked Questions,也就是常见问题解答。这玩意儿通常是一些所谓的高手或者前辈为了节省回答新手的大量简单重复问题所耗费的时间精力而采用的一种偷懒手法。一旦完成,高手只要一努嘴,“看FAQ去”就万事大吉了。实在是居家旅行杀人越货之必备良药,因此在各大论坛已经有大泛滥的趋势。 本篇FAQ为学习C语言、C++语言的大量新手编写,重点是如何运行起第一个程序,不涉及语法、数据结构和算法等内容。如果你已经通过计算机二级或水平相似的考试,甚至你是职业选手或是大师级的人物,就不必再往下看了。同时,本FAQ只讨论C/C++语言,其他语言如Java VB python等均不涉及,虽然阅读本文前四章节也会对学习这些语言有所帮助,但深入学习还是请阅读这些语言的专门教材。
为何有这篇FAQ 本文是为那些对编程新手所准备的,如果你自认已经不是新手,那么请离开把时间放到更有用的地方。如果你是那种对编程一无所知,迫切想知道他是怎么回事,或者仅仅编写了几个小程序,却遇到一大堆问题,而在论坛或是其它地方又得不到帮助,但心中又有雄心壮志想要做绝世高手顶尖黑客或者想要以程序为生的入门级新人,那么你恰好是本文的服务对象,请详细阅读以下的文字,我想应该会对你有所帮助。而且请你了解,本文的这部分内容所要介绍的是那些普遍性的概念,与具体任何一种语言都无关。 正如我们所知,市场上充斥着无数的编程教材,同时可以肯定的是,目前已经面世的教材(包括正式出版物和网络上的教程),穷一人一生之力是看不完的。在这些书中,有大量的垃圾书,大量的平庸之作,还有少量的精品。而即使是这少量的精品,也不可能看全。既然书这么多,我为什么那么闲还要来写一篇呢,有这时间,我还能多画几张效果图挣俩钱花呢。 情况是这样的,市场上的书虽多,但其中几乎没有几本是面向初学者的。我所指的初学者,是指从来没有编写过程序,甚至是连编程二字都没有听说过的人。这样的书是如此之少,以至于要去购买或是阅读到他们都是很困难的事。在我个人的学习生涯中我认识到很多编程教材有个糟糕的倾向。他们要么是一下子告诉你所有的事,好像你能在千分之一秒中突然从菜鸟变成好手,要么就是认为有些事你早就应该知道,拿你当熟手看,导致你有一种赤身裸体被抛弃于猛兽横行的非洲旷野的感觉。你还没有穿上衣服走出帐篷,连刀子都没有摸过,他们就试图告诉你草原上有多少可以捕获的猎物以及他们的位置,告诉你几百种武器和毒药的使用秘籍,告诉你两百条以上的陷阱安放要领。你没有经过丝毫的练习,甚至还没有杀死过一只刚出壳的小鸡,他们就要你独自去捕猎数十头饥饿的狮子。这种看似荒谬的情况从过去持续到今天,至今仍然存在。这并不是说那些写教材的朋友都是傻瓜,这件事当然有它的原因,因为他们面向的读者是程序员。程序员就象是猎人,他们更换语言就像猎人更换武器一样,不管他使用哪一种武器,捕猎的基本原理没有变化,变化的只是武器的使用方法。对一个成熟的猎人而言,再强调基本原理就没有必要,所以教材们对人所共知的一些事也就避而不提。一个成熟的猎人,她心中的捕猎知识是浑然一体的,武器的选择,野兽的习性,陷阱的安放,怎样做和为什么这样做都结合在一起,没有哪一部分可以独立出来,一部分一部分的教给别人是极度困难的的,要教就只能混杂在一起。程序员的情况类似,知识体系是完整系统的,谈到一个问题总会牵扯到另一个,最后的结果就是别人总是希望并想当然的认为你可以一口吃成一个胖子。 这样的后果就是,一些很明显的事情,老手认为那是你应该知道的因而不予回答,而新人却发现没有任何地方可以找到解释,也不知道该到哪里去找答案。(不懂得如何找答案也是新人的特点之一)。有一个典型例子与这种情况很类似,鼠标,我们已经习以为常并且很熟练地使用着,但是很多第一次接触电脑的人那却是完全摸不着头脑的东西。在各地的论坛里,总有大量的新人提出诸如“学C++好还是VC,VC++好?”“C++也可以编窗口程序吗?”这样的毫无常识的问题。我的FAQ就是为了来一次性解决这种问题的。
编程为何物 编程就是编制程序。程序是让计算机发挥功能的命令的集合。程序有两种形式,让计算机真正执行的是电脉冲形式,叫机器码,程序员编制的通常是文本形式,叫源代码。使用一个称为编译器的工具,可以把源代码转变为机器码。而编程就是产生那些源代码的工作。这个工作类似于谱曲、编菜谱、写工作。我们知道,谱曲并不是一蹴而就的,往往需要反复的修改,直到最后满意为止,编程也是一样,接近工作时间的30%是完成粗制成品,剩下的70%时间是在不断的修改,这是相当枯燥和乏味的。有志于投身编程的朋友们,不要忘记这一点。
如果这就是编程,那语言是怎么回事 文本形式的源代码,其实有些规定的。就像我们和老美用英语交流。首先你得说英文单词,不能冒法语词汇日文假名出来,其次你得按语法讲话,不能一个个单词往外蹦。程序也同样有词汇和语法上的一些规定,这些规定就构成一门语言。显然任何一门编程语言都是人造语言。人造的东西,因发明人的想法而不同,就形成了不同的语言。
我为啥要学编程 这个问题有两层意思。首先是编程为啥要学,很简单,因为这玩意不是生来就会,就像木匠活一样属于一门手艺,自然要通过学习才能掌握。你怎么也得花上几年来学英语不是。
第二层涵义才是重点,为啥我要学它。答案因人而异。有人为了上学有人为了考试,有人为了求职挣钱,还有人就是吃饱撑没事做自虐。什么为了开发智力啊证明自己啊寻找成就感啊,那都属于自虐,在下便属于自虐一族。没啥说的,确定你的目的,也许只是好奇想接触下啥是编程,也许是有课业的任务,也许是想以后靠他找工作,或者是羡慕那些黑客。总之,想继续深入的,往下看,没信心的趁早走人,外面帅哥美女多的是,不要浪费大好时光青春年华在一台破机器上,ok?
听说编程很难,是真的么,那我能学会吗? 你觉得说中文难么?你能流利的说普通话是不是。但是你知道么,汉语是世界上最难学习掌握的语言。稍后我会介绍计算机的特征,你就会明白知道基本上编程这件事的难度等价于指挥IQ&20的壮汉。任何一种计算机语言的难度都不会超过英语,更比不上汉语。那么你认为你能不能学会编程呢。 请记住学会和学好是两个层次,就像中学生作文和报刊出版物之间的差异。达到学会那个程度,只要有小学三年级的知识基础就可以开始了,也就是识字就行。而如果要学好,那需要初高中毕业的文化水准,也就是应该略懂英文和解析几何。当然还有更高的技术层次,比如在相当于职业作家的水平上,你将被称为专业程序员。而如果你被称为大师,那就是诺贝尔文学奖。抵达那个程度需要付出艰苦的努力,至于怎么达到,不在本FAQ讨论之列。 我真的可以么 如果你已经看完前面的部分到达这里,显然你是确实想要学习编程的新手。不论你是为了什么目的来学习,在看了我上面的话之后是不是很有信心呢,不过我要打击你一下,不是谁都学得好编程的。人人学开车,但不是谁都能上赛道,舒马赫更是只有那么一个。 就像有些惊险刺激的游乐设施禁止高血压心脏病患者参与一样,编程作为一项耗费智力和体力的活动,对参与者也有一定的要求,先来看看吧,满足这些条件,你就可以放心大胆的开始。 先说体质要求。太祖说:身体是革命的本钱。健康的身体对编程大有益处,但并不是说残疾人就不能参与。就目前的技术水平,除了脑瘫和目盲这两项,其他的肢体残缺根本不妨碍。霍金先生在这样严重的情况下还能持续研究的事实,还不够激励你么。 紧随其后的是足够的精力和时间。Dear friend,只要你能静坐20分钟安静的看完这篇FAQ,你的体能就达标了。如果你想告诉我,你能够一天在电脑前连续操作18小时以上,我要说的是,年轻人,虽然你很威猛,但请注意保养身体。只要每天您能抽出30分钟来学习,那你的时间也合格了。当然有更多时间确实会更好,不过也没必要每天12小时,编程并不是世界上最重要的事,我们还有别的事要做(这是对非职业选手说的)。必须认识到,学习编程重要的是持之以恒,而不是依靠爆发力,每天半小时比一周一次6小时效果好的多。 第三个要求是你要略微懂一点计算机。不错,只要略懂就可以了。因为这正是本文的主要目的:向略懂计算机的人介绍编程。那么,怎么才算略懂呢。 如果你能够前往这几个网站并浏览: www.acm.org 和www.csdn.net,那么你的水平已经超过我的想象,完全能胜任接下来的学习。不用现在就前往,你知道怎样操作就可以了。 如果你还不会上网,没事。你会不会打字,不需要打得很快,也不需要会打中文,只要你能把键盘上的26个字母和十个数字挨个输入一遍我就认为你已经通过。然后,对于Windows用户,你能不能打开记事本程序,在里面打几个字并且存成一个文件。如果你说能,OK,你合格了。 你还不会打字或是不会用记事本?这样的话,你最好还是先学一学基本操作,否则本文对于你实在是毫无用处。 你找不到记事本程序,请让您边上的人指导一下,可能你还没有安装这个程序。有可能您不是Windows用户,联系给你装机的人或公司,或是你们的网管,让她给你可用的文本编辑器,通常会是vi或Emacs,当然也可能是别的,只要你会编辑并存储一个文件,就可以了。 你连电脑都没见过??@#$%^&*!!!! 这样的话,本教程对你根本没有用处,你还是看见过电脑以后再来本教程吧。
最后一点,你需要有顽强的毅力。编程并不象你想象的那样轻松,不是野餐和聚会。尤其是对于职业程序员都应掌握的C++,她可以用两句话来形容:三年不开张,开张吃三年。千万记住,C++被称为是真正的程序员使用的语言不是没有理由的,她的复杂度和性能超出你的想象。有无数的编程新手,在第一个月不到就放弃了,你最好确定你不是他们中的一员。毅力没有尺子可以来度量,在这里我只能先祝愿各位读者都能坚持到最后。
还一定要有台电脑么 不幸的是,到目前为止,是的。在老年时期,贝多芬可以凭空作曲而不依靠钢琴之类的
相关热词搜索:,,,,,

我要回帖

更多关于 怎么成为编程高手 的文章

 

随机推荐