编程绝
㈠ 如何自学计算机编程|
清华大学出版社
部分谭浩强编着
有一系列相关的书籍
下边的学习内容都能找到
我认为,要学编程的话,可以先学C,或者C++,感觉先c语言比较好吧,C是面向过程的语言。
C学完C++可以很轻松的学习完,一脉相承。C++是面向对象的语言,比C“高级”些。VB虽然简单,但是有些落后了。
C++完后,可以去选学下JAVA,这个比较时髦,而且对“面向对象”应该会有不错的理解。不学也没有什么,用时再学都不打紧
之后学习下数据结构,有C语言的C++语言的数据结构,随便哪本都成,主要是领会思想。
如果对数据结构之后就可以去学习数据库的引用了,要是感觉太深的话就不要学了,我认为不以此为生不必要学的这么深
然后可以学习下图形界面的编程。有VC和JAVA,JAVA入门比较简单,VC较难,即使你把上边的都掌握很好入门也是很困难的,但学成之后就可以编写windows下运行的图形界面的程序了。
要是对计算机的原理比较感兴趣,去学习下汇编。
我认为编程重要的是领会思想,不要拘泥于具体的程序。具体的程序网上一搜一大堆,算法也被前辈总结的很好,这些到用时掌握就好。
如上,你那第三个问题,我认为在你学习的过程中自然而然就理解了。现在我即使说,也是天书一大堆,没有丝毫的意义。我初学编程时也很敬畏他,但是你翻开书后就发现都能学会的,书看完也就差不多了。
㈡ 自学编程
俺不知道你多大了?不过,年龄不是问题。好像大多数电脑高手都是在少年或者青年时代成名的。嘿嘿,大话不多说,我就跟你说说我学过的几种语言吧。
1.C语言,这语言资历很深,结构严谨,你可以去学。
2.C++,它是继C语言之后出现的,是C语言的拓展,方法更为灵活,相当通用。
3.Java。嘿嘿,这是我最先学习的语言,也是我学的最全的语言。Java分为:J2SE(编写应用程序),J2ME(编写移动设备(如手机,机顶盒...)很多手机小游戏是用J2ME写的)。
但是,Java与前面所讲的C语言,C++有一个很大滴不同。C,C++编的语言经过编译、链接后可生成可执行文件,后缀名为exe,在电脑上直接双击就行。而Java编写的编译后生成字节码文件,虽然再经特殊的打包后也可以通过双击运行,但是该电脑必需有JDK,否则不可运行。其实这是Java的一种改进,为了适应各种操作系统,但是很多人在思想上无法接受。不过,俺觉得Java比C,C++更为灵活,也易学一些。且Java的活力体现在网络编程上。如果你要学习Java,应该先学J2SE。
嘿嘿,说了这么多,不知你是否有所触动。当然,对于从未学过编程语言的你,可能觉得俺讲的很抽象,俺讲了这么多,可能像没说一样。俺在最后对你提几点建议吧。
1.第一步是做出正确的决定。无论如何,你总得选一门语言去学习。当然,对于初学者,又是自学,最好先选一门。不要三心二意,今天学这门,明天改学那门。选定一门后,就要持之心恒,千万不可半途而废。遇到困难是很正常的。
2.选书很重要。先选那种基础教程。当然,我发现,几乎很难找到一本完美的教程。我学习Java,买了五本书,花几百元,嘿嘿。而且我还出网上收搜资料,用以补充。书中的东西你未必都能看懂,而且它也不一定能让你懂。就如英语教程中不可能解释所有出现的单词一样。而且学习方法多种多样,千万别为一个小问题而浪费太多时间。不会的可以上机实验,自己找答案。也可以提问(问老师,网络提问不错),问俺也可以,呵呵。
3.书中的第一章内容一定不能仔细看,也不可以全看懂。呵呵,第一章一般是对这个语言做整体的介绍,没学过的人会觉得它非常的抽象,简直是浪费时间(当然也不一定啦)。我当初学的时候,根本不懂,然后我就跳过去了。当我学了很久以后,再回头看看,才能明白。
4.祝你成功,哈哈。不过,忠言逆耳利于行。你们学校最近弄什么编程比赛。要知道,除非你是天才,或者有专人指导,否则学习编程绝不是短时间的事情,何况你平时还有功课。(当然,我说的也不一定对,俺并不知道你们比赛的内容是什么,需要学到什么程度)。你最后权衡利弊,切莫影响主业。
㈢ 数控编程绝对值和增量值是什么意思绝对值
数控编程时的绝对值指的是相对于编程原点的坐标值,
增量值则是相对于该行程序起点位置的移动量,有方向之分,相对于起点往正方向移动,输正值,往负方向移动输负值。
㈣ 编程都有哪些语言
汇编语言
由于机器语言不方便人们的识别和记忆,人们就发明了以标识符来代替机器语言命令也就有了汇编语言,亦称为符号语言,也是属于低级语言。在不同的设备中,汇编语言对应着不同的机器语言指令集,特定的汇编语言和特定的机器语言指令集是一一对应的,但不同的是由于设备不同,平台之间不可直接移植,也就是你不能把电脑的指令集延用到电饭锅上
汇编语言采用人类容易记忆和识别的助记符来代表一些0和1的指令,比如AND代表加法。
高级语言
C、C++、Java、Python、Ruby、易语言等都是高级语言,相对于低级语言来说,高级语言易于识别和记忆,也更接近人类的思维方式,编写容易读写性好,开发效率更高。目前从业都大多都学习高级语言
重点是,高级语言是可移植的,做少量修改甚至无需修改,即可将代码运行在不同平台的计算机上。
编译型语言和解释型语言(相对于高级语言而言)。
高级语言的可移植性是基于编译或者解释这个过程,对人类友好的高级语言只有经过处理才能被操作系统识别并加载到计算机硬件上最终执行。
高级语言的编译和解释都是面向操作系统而言,并非面对计算机硬件。
编译型语言
编译就是把一个事先编好的叫做“编译程序”的机器语言程序安装在计算机内,当需要执行高级语言程序时,编译程序就把整个“高级语言的源程序”翻译成“机器语言的目标程序”。
解释型语言
高级语言进入计算机后,解释程序一边扫描一边解释,逐句输入逐句翻译,计算机一行一行执行,并不产生目标程序。
比如JAVA就是一种解释型高级语言。
编译型语言执行速度快,不依赖语言环境运行,跨平台差
解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行.
㈤ 数控编程绝对值和增量值是什么意思
绝对值是从机床零点到下一点的机床本身的距离,竲量值是这个点到下一个点的距离,跟原点没有一点关系,绝对值一直和原点联系着,而竲量值只是相对前面一个点的距离,对原点没有关系,如绝对值一点;x0.Y0.二点;X20.y30.三点x100.Y100.四点;x0y0.而蹭量值只是相对前一点,如一点;x0.y0二点x20.Y30.三点x80.y70.四点x-100.y-100.以上虽然数字不同,但意思一样,。..
㈥ 数控编程怎么看图编程绝对值
一般是采用直角坐标系编程,
看懂图纸后,以工件的适当位置为原点,建立一个直角坐标系,
把图纸上的每个节点在这个坐标系里的坐标值都计算出来,
节点坐标包括线段的端点、圆弧的起点和终点等,
然后按照数控系统的程序格式进行编程,
线段用G01编程,G01后面跟线段终点的坐标值和进给量,
圆弧用G02或G03编程,后面跟圆弧终点的坐标值以及半径大小、进给量。
建议看看《数控机床编程与操作》这本书。
答题不易,有疑问请继续追问,满意请采纳为最佳答案!
手机提问请点击右上角的“采纳回答”按钮。
谢谢!
㈦ 编程是什么解释得通俗易懂一些
编程就是,编写程序,这个程序可以让计算机帮你解决问题。
众所周知,在冯诺依曼体系中,计算机是"0,1组成的",在机器中数据和程序都是二进制表示和存储。
现在的常见编程语言和0,1貌似没啥关系,但是实际上是机器语言的升级,让特定的机器语言与特定的语言相匹配,得到更容易被学习的编程语言。
所以这些语言的含义也是固定的,只是在借用这些含义解决问题,转换为机器语言,然后让机器执行。
学习编程就是要多理解语言含义,并且懂得如何使用,从而解决问题。
㈧ c语言编程
C语言基础教程别看了,学习C语言不能脱离具体的系统,不能不了解计算机体系结构和操作系统原理、编译原理,推荐你看这本开源的书:
《linux C编程一站式学习》
http://learn.akae.cn/media/index.html
如果是在Windows上学习,可以安装cygwin来模拟linux环境,下载地址:
http://cygwin.cn/site/install/
下面贴一下这本书的介绍,磨刀不误砍柴工,看过之后你就会爱上这本书了:
这本书有什么特点?面向什么样的读者?
这本书最初是为北京亚嵌教育研究中心的嵌入式Linux系统工程师就业班课程量身定做的教材之一。该课程是为期四个月的全日制职业培训,要求学员毕业时具备非常Solid的C编程能力,能熟练地使用Linux系统,同时对计算机体系结构与指令集、操作系统原理和设备驱动程序都有较深入的了解。然而学员入学时的水平是非常初级而且参差不齐的:学历有专科、本科也有研究生,专业有和计算机相关的也有很不相关的(例如会计专业),以前从事的职业有和技术相关的也有完全不相关的(例如HR),年龄从二十出头到三十五六岁的都有。这么多背景完全不同、基础完全不同、思维习惯和理解能力完全不同的人来听同一堂课,大家都迫切希望学会嵌入式开发技术,投身IT行业,这就是职业教育的特点,也是我编这本书时需要考虑的主要问题。
学习编程绝不是一件简单的事,尤其是对于零基础的初学者来说。大学的计算机专业有四年时间从零基础开始培养一个人,微积分、线代、随机、离散、组合、自动机、编译原理、操作系统、计算机组成原理等等一堆基础课,再加上C/C++、Java、数据库、网络、软件工程、计算机图形学等等一堆专业课,最后培养出一个能找到工作的学生。很遗憾这最后一条很多学校没有做好,来亚嵌培训的很多学生就是四年这么学过来的,但据我们考查他们的基础几乎为零,我不知道为什么。与之形成鲜明对比的是,只给我们四个月的时间,同样要求从零基础开始,最后培养出一个能找到工作的学生,而且还要保证他找到工作,这就是职业教育的特点。
为什么我说“只给我们四个月的时间”?我们倒是想教四年呢,但学时的长短我们做不了主,是由市场规律决定的。四年的任务要求四个月做好,要怎么完成这样一个几乎不可能的任务?有些职业教育给出的答案是“实用主义”,打出了“有用就学,没有用就不学”的口号,大肆贬低说大学里教的基础课都是过时的、无用的,只有他们教的技术才是实用的,这种炒作很不好,我认为大学里教的每一门课都是非常有用的,基础知识在任何时候都不会过时,倒是那些时髦的“实用技术”有可能很快就过时了。
四年的任务怎么才能用四个月做好?我们给出的答案是“优化”。现在大学里安排的课程体系最大的缺点就是根本不考虑优化。每个过来人都会有这样的感觉:大一大二学了好多数学课,却不知道都是干什么用的,为什么要学。连它有什么用都不知道怎么能有兴趣学好呢?然后到大三大四学专业课时,用到以前的知识了,才发现以前学的数学是多么有用,然而早就忘得一干二净了,考完试都还给老师了,回头重新学吧,这时候才发现很多东西以前根本没学明白,现在才真的学明白了,那么前两年的时间岂不是都浪费了?大学里的课程体系还有一个缺点就是不灵活,每门课必须占一个学期,必须由一个老师教,不同课程的老师之间没有任何沟通和衔接,其实这些课程之间是相互依赖的,把它们强行拆开是不符合人的认知规律的。比如我刚上大学的时候,大一上半学期就被逼着学C语言,其实C语言是一门很难的编程语言,不懂编译原理、操作系统和计算机体系结构根本不可能学明白,那半个学期自然就浪费掉了。当时几乎所有学校的计算机相关专业都是这样,大一上来就学C语言,有的学校更疯狂,上来就学C++,导致大多数学生都以为自己会C语言,但其实都是半吊子水平,到真正写代码的时候经常为一个Bug搞得焦头烂额,却没有机会再系统地学一遍C语言,因为在学校看来,C语言课早在大一就给你“上完了”,就像一顿饭已经吃完了,不管你吃饱没吃饱,不会再让你重吃一遍了。显而易见,如果要认真地对这些课程做优化,的确是有很多水份可以挤的。
本书有以下特点:
*
不是孤立地讲C语言,而是和编译原理、操作系统、计算机体系结构结合起来讲。或者说,本书的内容只是以C语言为载体,真正讲的是计算机的原理和程序的原理。
*
强调基本概念和基本原理,在编排顺序上非常重视概念之间的依赖关系,每次引入一个新的概念,只依赖于前面章节已经讲过的概念,而绝不会依赖后面章节要讲的概念。有些地方为了叙述得完整,也会引用后面要讲的内容,比如说“有关XX我们到XX章再仔细讲解”,凡是这种引用都不是必要的依赖,可以当它不存在,只管继续往下看就行了。
*
尽量做到每个知识点直到要用的时候才引入。过早引入一个知识点,讲完了又不用它,读者很快就会遗忘,这是不符合认知规律的。
这是一本从零基础开始学习编程的书,不要求读者有任何编程经验,但读者至少需要具备以下素质:
*
熟悉Linux系统的基本操作。如果不具备这一点,请先参考其它教材学习Linux系统的基本操作,熟练之后再学习本书,《鸟哥的Linux私房菜》据说是 Linux系统管理和应用方面比较好的一本书。但学习本书并不需要会很多系统管理技术,只要会用基本命令,会自己安装系统和软件包就足够了。
*
具有高中毕业的数学水平。本书会用到高中的数学知识,事实上,如果不具有高中毕业的数学水平,也不必考虑做程序员了。但并不是说只要具有高中毕业的数学水平就足够做程序员了,只能说看这本书应该没有问题,数学是程序员最重要的修养,计算机科学其实就是数学的一个分支,如果你的数学功底很差,日后还需恶补一下。
*
具有高中毕业的英文水平。理由同上。
*
对计算机的原理和本质深感兴趣,不是为就业而学习,不是为拿高薪而学习,而是真的感兴趣,想把一切来龙去脉搞得清清楚楚而学习。
*
勤于思考。本书尽最大努力理清概念之间的依赖关系,力求一站式学习,读者不需要为了找一个概念的定义去翻其它书,也不需要为了搞清楚一个概念在本书中前后一通乱翻,只需从前到后按顺序学习即可。但一站式学习并不等于傻瓜式学习,有些章节有一定的难度,需要积极思考才能领会。本书可以替你节省时间,但不能替你思考,不要指望像看小说一样走马观花看一遍就能学会。
又是一本C语言书。好吧,为什么我要学这本书而不是谭浩强或者K&R? 请点评
谭浩强的书我就不说什么了。居然教学生include一个.c文件。
K&R 是公认的世界上最经典的C语言教程,这点毫无疑问。在C标准出台之前,K&R第一版就是事实上的C标准。C89标准出台之后,K&R跟着标准推出了第二版,可惜此后就没有更新过了,所以不能反映C89之后C语言的发展以及最新的C99标准,本书在这方面做了很多补充。上面我说过了,这本书与其说是讲C语言,不如说是以C语言为载体讲计算机和操作系统的原理,而K&R就是为了讲C语言而讲C语言,侧重点不同,内容编排也很不相同。 K&R写得非常好,代码和语言都非常简洁,但很可惜,只有会C语言的人才懂得欣赏它,K&R是非常不适合入门学习的,尤其不适合零基础的学生入门学习。
这本书“是什么”和“不是什么” 请点评
本书包括三大部分:
*
C语言入门。介绍基本的C语法,帮助没有任何编程经验的读者理解什么是程序,怎么写程序,培养程序员的思维习惯,找到编程的感觉。前半部分改编自[ThinkCpp]。
*
C语言本质。结合计算机和操作系统的原理讲解C程序是怎么编译、链接、运行的,同时全面介绍C的语法。位运算的章节改编自亚嵌教育林小竹老师的讲义,链表和二叉树的章节改编自亚嵌教育朱老师的讲义。汇编语言的章节改编自[GroudUp],在该书的最后一章提到,学习编程有两种Approach,一种是Bottom Up,一种是Top Down,各有优缺点,需要两者结合起来。所以我编这本书的思路是,第一部分Top Down,第二部分Bottom Up,第三部分可以算填了中间的空隙,三部分全都围绕C语言展开。
*
Linux系统编程。介绍各种Linux系统函数和内核的工作原理。Socket编程的章节改编自亚嵌教育卫剑钒老师的讲义。
这本书定位在入门级,虽然内容很多,但不是一本网络全书,除了C语言基本要讲透之外其它内容都不深入,书中列出了很多参考资料,是读者进一步学习的起点。 K&R的第一章是一个Whirlwind Tour,把全书的内容简单过了一遍,然后再逐个深入进去讲解。本书也可以看作是计算机专业课程体系的一个Whirlwind Tour,学习完本书之后有了一个全局观,再去学习那些参考资料就应该很容易上手了。
为什么要在Linux平台上学C语言?用Windows学C语言不好吗? 请点评
用 Windows还真的是学不好C语言。C语言是一种面向底层的编程语言,要写好C程序,必须对操作系统的工作原理非常清楚,因为操作系统也是用C写的,我们用C写应用程序直接使用操作系统提供的接口。既然你选择了看这本书,你一定了解:Linux是一种开源的操作系统,你有任何疑问都可以从源代码和文档中找到答案,即使你看不懂源代码,也找不到文档,也很容易找个高手教你,各种邮件列表、新闻组和论坛上从来都不缺乐于助人的高手;而Windows是一种封闭的操作系统,除了微软的员工别人都看不到它的源代码,只能通过文档去猜测它的工作原理,更糟糕的是,微软向来喜欢藏着揶着,好用的功能留着自己用,而不会写到文档里公开。本书的第一部分在Linux或Windows平台上学习都可以,但第二部分和第三部分介绍了很多Linux操作系统的原理以帮助读者更深入地理解C语言,只能在Linux平台上学习。
Windows平台上的开发工具往往和各种集成开发环境(IDE,Integrated Development Environment)绑在一起,例如Visual Studio、Eclipse等。使用IDE确实很便捷,但IDE对于初学者绝对不是好东西。微软喜欢宣扬傻瓜式编程的理念,告诉你用鼠标拖几个控件,然后点一个按钮就可以编译出程序来,但是真正有用的程序有哪个是这么拖出来的?很多从Windows平台入门学编程的人,编了好几年程序,还是只知道编完程序点一个按钮就可以跑了,把几个源文件拖到一个项目里就可以编译到一起了,如果有更复杂的需求他们就傻眼了,因为他们脑子里只有按钮、菜单的概念,根本没有编译器、链接器、Makefile的概念,甚至连命令行都没用过,然而这些都是初学编程就应该建立起来的基本概念。另一方面,编译器、链接器和C语言的语法有密切的关系,不了解编译器、链接器的工作原理,也不可能真正掌握C的语法。所以,IDE并没有帮助你学习,而是阻碍了你学习,本来要学好C编程只要把语法和编译命令学会就行了,现在有了IDE,除了学会语法和编译命令,你还得弄清楚编译命令和IDE是怎么集成的,这才算学明白了,本来就很复杂的学习任务被IDE搞得更加复杂了。Linux用户的使用习惯从来都是以敲命令为主,以鼠标操作为辅,从学编程的第一天起就要敲命令编译程序,等到你把这些基本概念都搞清楚了,你觉得哪个IDE好用你再去用,不过到那时候你可能会更喜欢vi或emacs而不是IDE了。
㈨ 编程绝对路径问题 !SaveDataToFile()函数
C语言的字符串中,\要加倍。
int main()
{
LPSTR szFileData="这是一个例子,这个例子包含一切.";
SaveDataToFile("D:\\show.txt",szFileData,lstrlen(szFileData)*2);
ReadFileContent("D:\\show.txt");
return 0;
}
