
为什么我编程的时候感受不到那种乐趣,也不是程序难
要怎么培养啊
其实你之所以这样是因为你没有明确目标
成功与自信是不相关的东西,但是成功的前提是自信
乒乓球比赛答:你之所以不成功,是因为你并不是把乒乓球当成生活中必须的东西,也就是一个目标
你没有一定要的心,如何成功
经常感觉有时候同样的事情,别人能做好,我却做不好。
答:那是因为当你做那些事情时,你想的不是做好那件事,而是你自己的负面因素
感觉像是潜意识就告诉自己,我不行一样,就是总失败,这种不顺在大学里经常被我遇见,学生会竞选,做兼职,包括比赛等等,要么不成功,要么达不到我自己的预期。
答:这现在就是你的问题,这也是事实,你的潜意识已经接收你经常对自己所说的东西所以每当发生与记忆类似事件时,你的潜意识就会告诉你,负面因素
我小的时候不是这样,从小学到初中一直都是好学生,班长。
没怎么有过太不顺的经历。
上了高中以后,感觉就不行了,学习也下降,考试考不好,由于不喜欢老师,就特别抗拒我的高中生活。
以至于高考最后很糟糕,阴影一直挥之不去,看身边原来的朋友,就觉得我怎么成了现在这样呢
答:那是因为人小时候 什么都不懂,所以才会这样,就像小孩,如果让你阻止这个小孩停止学习走路,你知道吗
你将永远都不会成功,因为他们会学习你走路之道成功
而现在的大人之所以不会走,就是因为负面因素,他间的太多东西,导致让自己不自信
你就属于其一
我的自信真是被消磨的越来越少,想着哪怕有一件事能让我成功一下,也能增强自信啊,可做什么都是让自己失望的结果,我该怎么努力啊
我真的不想就这么放弃,也不想自甘堕落。
答:如果上面所说,每当发生于你记忆类似环节时,你的大脑就会告诉你,负面因素
我该怎么努力啊
答:你必须有明确目标,然后确切的去实行
我给你简单的举个例子
你就能找到自己的原因
1.2.假如你去买书,而这时你要怎么做
3.就是了解我要买什么书,4.但是由于前几天听说车撞人事件,这时车撞人,就成了负面因素,5.最能能否成功
你现在的根本原因出在,1.你不知道自己要做什么而你现在所遇到的问题,出在4.但是由于前几天听说车撞人事件,这时车撞人,就成了负面因素,这时车撞人就成为一种潜意识,也就是你的负面因素\ \ 1.开场自我介绍, 简单讲述我大学的学习的历程,成果和感想。
(1分钟)我一直都感慨本年级许多同学在大一时因为缺乏好指引,在一开始就对编程很害怕,对计算机的学习没有开好头,动手能力长期跟不上,空会理论,不会实践,一直拖累到大四,最终选择忍痛考研或者抱怨找工作难。
我也帮助过不少在这方面比较弱的同学,但是总是因为基础没打好导致难以提高。
我也一直希望学校能在大一的时候就让同学们明白学习的重要性,打好扎实的专业基础。
现在终于有一次这样的机会站在这里,为指引大家如何在大学专业技术学习的道路上开好头做点贡献。
今天我将结合我自身的经历和我对计算机的理解,我对编程的感悟,我对大学学习的认识,给大家做报告。
首先问三个问题:1) qq聊天软件是用什么语言写的(第二天要换个问题)答对的演讲结束后留下来,我要亲自给他传授宝贵经验,没人答的话,很遗憾2) 谁玩电脑游戏比较牛恩,人很多,大家很踊跃,很好展示下我写的人工智能黑白棋游戏,声明真正的编程高手基本从来不玩游戏(结合大四同学长期沉迷游戏最后找不到工作的例子,说明一个严肃的问题,只会玩游戏没有用,会做游戏才牛,鼓励大家努力学习,让会玩游戏的同学也热爱编程,最后也能自己写游戏)请大家记住:只会玩游戏没有用,会做游戏才牛3) 有没有人对计算机特别感兴趣 (为什么感兴趣)如果有兴趣,对学习计算机有巨大的帮助兴趣是最好的老师,鼓励他们,勉励其他人,兴趣是可以培养的,要学会培养兴趣2.概述计算机科学与技术 包含两个层面 科学 指计算机硬件、软件与应用的理论知识 理论的学习技术 指软件开发、工程实践等技能与方法 能力的培养我主要讲的是如何学习技术(计算机技术) 讲之前 澄清一个观点 计算机技术 不等于 编程技术编程只是一个工具,编程没学好不代表你技术就学不好计算机技术应该是与计算机软件、硬件和网络三个部分相关的各种科技成果和应用的综合,包括了多媒体,数据库,操作系统,嵌入式系统,计算机安全,计算机网络,计算机管理和维护,计算机应用,人工智能,模式识别,管理信息系统等,在我们生活的方方面面计算机技术几乎无处不在。
(举几个例子)在现在社会,它几乎与我们的生活息息相关。
(大学和高中的学习方式的区别)(学好技术的重要性)在大学,学习的方式与高中或小学是有很大的区别的,大学更大,大学更自由,不再是完全跟着老师,不再是只要吃透了老师教授的内容就万事大吉了,从我这一届的情况看,许多同学特别是女生在大学还沿袭着高中的学习方式,勤奋刻苦,天天自习,非常认真,上课笔记做得秘密麻麻,把理论学得非常扎实,但是却严重地忽略了实践能力的培养,理论考试分数很高,但课程设计做不出东西来,显然这种学习方式是不对的,这和高中的偏科又有什么本质区别呢。
我觉得理论的学习和技术的学习是同等重要的,二者都不应该轻视,没有侧重点是不可能的,至于如何侧重,如何在二者之间找到平衡点就取决于你自己的人生目标了。
如果你喜欢研究理论,以后想继续读研深造可以稍微偏向理论,把理论基础打得扎实一些,毕业以后可以留校任教或到科研院所去发展。
如果你想走技术路线,那么你就可以稍稍偏向技术,在不落下理论学习的情况下,把技术学好学精,毕业以后可以去IT企业发展,也可以自己创业,有了一身技术不怕没饭吃。
切莫完全忽视技术最后变成书呆子或完全不顾理论最后只是个代码搬运工。
大家每个人,从现在开始就要下决心学好技术,那么,如何学好技术呢。
3.如何学好技术3.1制定好的学习计划3.1.1大一大二:打好基础3.1.1.1计算机方面的基本技能的学习包括计算机众多的应用技术的学习 和 常见的硬件维护(大家应该尽量多多掌握计算机方面的基本技能,如word excel ppt access* photoshop* flash* dreamveaver* 结合我的经历讲讲,我大一在自己没有电脑的情况下把这些基本全学了 举一个考研的同学不会在excel里找自己的名字的例子,如果这些最基本的技能都不会,只能说计算机还没入门)大二有电脑之后,终于有机会整自己的电脑了,要学习常见的常见的硬件维护(系统崩溃了怎么办,如何安装操作系统,如何分区等)3.1.1.2专业理论基础和编程基础的学习技术是将理论运用到实践中去,不能轻视理论,没有理论何来应用。
计算机科学与技术 中的科学和技术应该是相互依赖和促进的。
先学好《高级语言程序设计》《数据结构》等专业课,理论基础扎实了,学应用性技术就更容易了编程基础:学精C++(为什么),可以考虑过渡到 java 或 C# (最好只学一个,为什么)(编程的学习会在后面再详细讲)3.1.1.3珍惜这两年大学自由学习的黄金时间 (曾经和一家公司的经理开玩笑,总经理感慨的说现在在大学里找一个又能力的学生来帮忙做项目真是很难啊,我说是呀,大学四年,大一的刚进校还在打基础没法做,大二的还刚起步没足够的能力做,大三的课程会很紧没时间做,大四的找工作的找工作去了,考研的考研去了,没人做了),大学四年,实则三年,希望大家不要把最宝贵的时间荒废在游戏和娱乐上3.1.2大三:深入学习,确定方向(技术方向,职业规划)+多多实践到了大三,各种专业课会非常多,包括很重要的操作系统,汇编,组成原理,编译原理,数据库,计算机网络,软件工程等等,大家将深入学习计算机的各大核心课程。
这时大家的基础打得也差不多了,可以选择一门自己比较感兴趣的技术并确定自己的技术的一个方向,比如选择j2ee, .NET,WEB技术,数据库技术,嵌入式,linux内核开发等等。
当然也会有非常丰富多彩的专业选修课可以选择学习。
这段时间大家可以利用课程设计的机会好好锻炼自己。
3.1.3大四:实践和进步大四,如果不打算考研的同学,工作有了着落之后,可以试着做项目,大四基本没什么课,相对轻松,这段时间是获得经验,银子和巨大的进步黄金时期。
3.2重视专业课的学习要把数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络,离散数学等基础课程学好除非你足够牛,请务必认真听专业课,有些课像《数据结构》,《编译原理》,《组成原理》,《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月3.3培养好的思维能力数学是锻炼是思维的最好的东西了,他是你思考问题的最得力的工具,他体现着你的思想,在编程中会思考才能编出好的程序。
此外还要注重离散数学,数值分析,线性代数,数字逻辑等等课程的学习,他们对培养好的思维能力大有裨益3.4激励创新意识创新太重要了,不管在哪个学科都重要,计算机同样需要3.5培养独立分析问题和解决问题的能力 遇到问题,要先学会独立思考,不能凡事依赖他人,尽量自己解决,在独立解决问题过程中能获得更大的进步,实在不能解决再请教别人也不迟3.6培养自学能力和快速获取知识的能力自学能力之重要(大学和高中的学习方式的区别)可以说高中是靠老师,大学是靠自己,要做到严格自律,自我约束,必须要学会自学学习的过程也是学会学习的过程要充分利用图书馆和网络上的丰富学习资源, 要培养计算机新知识,新技术方面的自学习能力,要学会如何通过网络,书籍,文献,独立地快速获取自己需要的知识和信息3.7培养团队协作精神在一个大型项目中,往往要求各种参与者密切配合才能取得成功。
大家要从现在就开始注重团队协作精神的培养,要学会与人沟通,善于表达,要注意提高自己的综合素质,成为综合型人才。
3.8学好英语包括现在的大学英语和日后的专业英语。
也许有人会问,英语和技术有什么大的关系吗。
大家是否知道,计算机的发展飞速,国际上新技术不断涌现,如果今天国外出现了一门新的技术,或者国外某本技术书籍出了新版本,相关资料的中文的翻译不知道要等到什么猴年马月才会出来,现在的许多出版也有了越来越多的英文原版书。
大家要学好英语,培养阅读专业外语资料的能力,开始会看不懂,看多了自然熟练了。
(讲下四六级,四级最好一次就过,六级在大二下结束前最好过)3.9适时关注新技术了解学科发展动态,跟上时代步法3.10勤学苦练,持之以恒学好技术不是一蹴而就的,要长期坚持。
4.无5.无6.关于编程的学习6.1为什么要学习编程编程是软件开发的基础,学习计算机,只会编程是千万不行的,但是开发软件,不会编程是万万不行的(结合本年级的情况将一下现状,学习的重要性等)6.2编程真的那么难学吗(讲讲编程的苦与乐)编程真的那么可怕,那么枯燥,那么没意思吗
假如真是这样,为什么世界上还有那么多优秀的人乐此不疲。
其实编程并不可怕,可怕的是你的心态。
编程固然很苦,编程时长时间对着屏幕,对身体不好,而且,经常因为考虑不周,会遇到各种各样的错误和麻烦,初学者处处容易受挫。
但是其实编程是很有趣的,编程中充满着无穷的快乐首先,你通过编程得到了想要的成果的过程是一种创造的快乐(编出了有用的东西的那一刻会有一股美好的成就感)其次,你开发了有用的软件可以方便自己或他人,方便自己,是一种享受的快乐,方便他人,是一种奉献的快乐再次,假如你开发的软件得到了用户的认可或好评,会有一种欣慰和满足感还有,你可以根据自己的意愿写你想要的东西,经过自己的努力亲自实现你心中的愿望然后,编程也是一个挑战自我的过程,遇到困难想办法解决的过程是思考的过程,思维能得到锻炼最后,在代码中有一种看不见的美,就像诗一样,美景全是你的,你可以随心所欲编程真的非常有趣,它不仅满足了我们内心深处进行创造的渴望,让人头脑变得灵活,而且还愉悦了每个人内在的情感。
6.3学好编程的建议6.3.1请热爱编程如果想成为编程牛人的话,请热爱编程。
有兴趣是最好了,没兴趣也没关系,可以慢慢培养,当你感受到了编程的乐趣的时候你会爱上它。
6.3.2不要畏难很多初学者往往都在遇到许多困难,遭受多次挫折后,自信心受到打击从而对编程丧失兴趣这些困难每个人都会遇到,我在初学编程时也遇到过,关键是看你用什么心态对待,是想办法解决困难还是选择逃避。
很多问题其实是有很多解决方法的。
譬如看书,遇到看不懂的部分,可以暂时跳过,先往后看,看完后面的之后,再回头看前面跳过的部分往往会有一种豁然开朗的感觉。
再比如,编程调试时死活找不到错误会很郁闷,这个时候很多同学会束手无策,其实只要在程序不同的地方加上输出语句,然后运行看有哪些输出,这样一步步缩小错误的范围从而确定错误发生的位置。
等等。
。
。
不要畏惧困难,要用你的智慧战胜它。
6.3.3多实践,多交流学习编程的秘诀是:编程,编程,再编程;(讲讲如何动手实践)在学校的实验室就算你做错一万次程序都不会有人骂你,如果在公司你试试看
所以多去实验室上机,现在错得多了,毕业后就错得少了。
多实践,多从失败中吸取教训,积累经验。
要勤奋,三天打鱼两天晒网是学不好的,学会了的东西一段时间不用就容易忘记,实践得越多才能记得越牢。
现在大家是大一,可能有人会说没有电脑不方便,其实实验室不是只有在老师安排的实验时间才可以去的,它是是面向计算机专业的学生免费开放的,大家有时间就去实验机房练习,只要拿着学生证,或者干脆直接跟那个阿姨说你是计算机的就行了。
航海楼7楼的机房和图书馆电子阅览室也是可以的。
我大一的时候甚至还到阳光网吧编程呢。
到大二大三的时候课程设计就会多起来,大家一定要自己动手做,不要去网上搜一个就完事了。
与人交流,分享自己编程中的乐趣和经验,共同进步。
6.3.4多阅读书籍和代码编程不是非要在电脑上才能学的,阅读书籍和书中的代码也是一种学习方式,自己还可以尝试着改进那些代码,最后可以把自己的成果拿到电脑上调试千万不要忽视书后面的习题6.3.5养成良好习惯细节很重要要细心,沉下心来编程,戒骄戒躁养成良好习惯,注重编程风格,尽量写代码注释,把写过的代码保留下来,以后会有用6.3.6善于思考遇到问题动脑筋解决6.3.7注重基础打好编程基础,除了熟悉基本的语法之外,要深刻理解指针,引用,面向过程思想,类,模板,标准库,接口,继承机制,面向对象思想等等,课后习题尽量全做一下 刚才说了,有精力的可以学学 photoshop图像处理, flash动画制作,3dmax或maya三维建模,dreamveaver网页设计,但是不要因为他们花费过多的时间而影响了你基础的学习,那些都是些应用技术,你学会了更好,不会也没什么丢人的,基础打好了,以后学啥都轻松。
在基础没打好的情况下,不要觉得你编的程序只能在黑白的DOS窗口了运行就去学VC做漂亮的窗口,3d程序很有意思就去看OpenGL或DirectX,那些都属于高级应用,没有基础学起来会很吃力。
基础要扎实,不要觉得C#中没有指针就扔掉C++, 不要今天看C#,明天搞java要有明确的方向,计算机技术的发展实在太快,新技术不断涌现,了解一下就可以了,不要随波逐流,要沉得住气6.3.8选好开发环境选择一种适当的开发环境并熟悉它就可以了,不要今天摆弄Visual Studio,明天钻研Eclipse,后天来个netbeans,在工具的使用的学习上白白浪费时间。
6.3.9选好编程语言我在选择语言时,走过一些弯路,浪费了一些精力,我在这里选出一些主流编程语言,对语言特性与环境稍作介绍,希望可以帮助大家,让大家尽早了解与选择,少走弯路C(多用在性能要求较高的场合,如操作系统,嵌入式等)C++(应用最广泛、成熟,强大而复杂,兼有性能高和易于构建大型程序的优点,基本是衡量一个国家软件产业发达程度的核心基础)Java(著名的SUN公司推出的,面向对象、安全、跨平台、强大稳健,需要java虚拟机的支持)C#(微软推出的完全面向对象,运行在 .NET Framework 环境中新兴、易学、强大语言)Python(新兴的面向对象脚本语言,跨平台,语法清新易于使用,代码优美得像数学一样,非常容易学)PHP (目前最流行、强大、稳健的动态网站开发脚本语言,语法类似C++)ActionScript (Flash的编程脚本,最新版支持面向对象,能基于Flex开发RIA应用)除此之外,还有vb, vb.net, asp.net, jsp, asp, ruby, Javascript等这么多五花八门的语言,大家可能都会觉得眼花缭乱了。
其实各种语言之间只是语法不同,编程思想都是相通的,学精一门,了解多门是上策。
程序=算法+数据结构 其中并没有编程语言,说明语言只是程序员与计算机的编译器沟通的一种工具,程序员用某种语言来表达程序的逻辑结构,计算机中相应的编译器或解释器理解这种语言,编译得到二进制程序或者直接解释执行。
以上这些语言我在大学前三年全部学过了,有的学得很深,有的很浅。
因为人的精力毕竟有限,很多语言学过了之后根本就很少用到,几乎是白学了,现在我深深的体会到,语言并不是学得越多越好,与其泛而不精不如有针对性的先精通一门,其他的触类旁通。
就大家现在的情况,希望大家把当前正在学习的C++学好,学到一定程度的时候,可以继续深入的研究C++的各种库,也可以从上面选择感兴趣的新语言学习,如果把C++基础打好了,后面的学习就会容易得多。
最流行的语言不一定是最好的语言,用的人最多的语言也不一定是最好的语言。
请大家记住,没有最好的语言,只有最适合某个领域的语言, 在不同的环境下选择不同的语言就可以了。
6.3.10重视数据结构和算法 理论上,计算机的任何编程语言都有可能会被淘汰,随着时间的推移和计算机软硬件的飞速发展,不断会有新的语言产生和和旧的语言过时,但不会过时的是数据结构和优秀的算法。
真正的高手应该是善于设计优秀的数据结构和算法的,应该是具有独立分析和解决问题的能力并利用计算机程序来实现的,他的思想应该是超脱语言、在更高处的一种升华。
如果某一天,你深切的体会到,真正重要的不是什么语言而是思想的时候,说明你可以出师了。
\ \ 编程难不难
那可不是闹着玩的。
不从事这一行的永远不知道这行的艰辛,还咋巴着小眼睛问编程好不好学
不知道LZ看没看过圣斗士星矢这部动漫,如果你想踏入编程殿堂,就要先想想那个被无数小孩子嘲笑的实力很菜又只会死缠滥打经常被虐得体无完肤的主角星矢,嘲笑归嘲笑,但是你遇到的问题跟星矢差不多。
许许多多难以解决的问题,像一座座大山一样压迫着你,而且你找不到人问,无从下手。
但是你比星矢好点,星矢战胜不了敌人生命就会终结,你解决不了问题可能永远的就半途而废于编程无缘了。
所以学编程前,首先你得问问自己,想学编程,你有没有像星矢一样持之以恒百折不挠一步一个脚印忍受常人无法想象的困难和痛苦的品质,没有
你说我开玩笑逗你,那好,下面的不用看了,应该你确实不适合学。
如果你只想着挣大钱,劝你别碰这行,一句话,别来找虐。
为什么
你看到的手机APP,各种应用,要想开发出来,不知道需要多少种技术。
拿最常见的网站开发,需要后台数据库mysql,数据格式json,xml,各种网络协议,还有网站开发语言PHP, JSP,ASP.NET,等等不下十几种技术。
而每一种技术都是一本厚厚的五六百页的书,需要最少一年多时间掌握一门技术。
最要命的,每种技术互不交叉还跨度很大,每种技术都有自己的设计理念和很多很多“天坑”在等着你攻克,你问问你自己,你有这个恒心和意志力天天捧着本大部头的书天天看,天天上机操作学吗
你说有,那好,你看电视上那些富二代天天潇洒地到处游玩泡妞基本于你无缘了,因为你根本就没时间,谈个恋爱都困难,还想打网游玩王者
那算了,你还是别碰这行了,别耽误你玩游戏享受生活了。
程序员加班很恐怖,工作制通常是996,即早9晚9周六还要上班,晚9下班还是早的,一般到晚上十点。
你想那时夜深人静了人家都休息抱着老婆睡觉了,你还在工作中,是不是很崩溃?第2,程序员耗脑太严重。
工作中需要十几个小时大脑不停地运转。
需要设计算法,不断地把代码改来改去来适应客户一天几变的需求。
很多功能没有现成的解决方案,还经常遇到一些天书一样的疑难问题,bug,实际工作中突发状况千奇百怪,你可能见都没见过的bug,崩溃,需要一点一点查几万行的log日志。
而且也需要百度,google,英文论坛寻求帮助,理解错误信息是什么意思。
所以英文不好的没耐心的还是算了吧,不适合这行。
第3. 程序开发首先是非常难学的,任何一门编程语言都有自己独到的思想,概念设计,很多情况下一门语言与另一门语言没有多大关系,知识经验无法串用。
当然好多大牛说什么编程思想是互通的掌握核心算法思想就行了但是我编程开发这么多年实在看不出有多少互通,学好一门能一通百通
骗骗小孩子还差不多。
一门语言与另一门差太远了好不
工作中你用到这些技术你还不得不去学。
而且程序技术日新月异,新类库新SDK每天都会推出,你需要日复一日不断地学习新技术。
如最新视频解码技术,游戏引擎等等,而这些新技术可是国内没有书和任何资料的,需要你到英文官方网站去找实例看文档去学,更要命的,新的技术和老的还没太大关联,你得重头去学。
而且老板急赶项目不会给你什么时间,一般三天就是极限了,你需要这么短的时间快速掌握一项新技术...综上,你明白程序员为什么总要加班了吧,也知道这行不是人干的吧。
为什么说程序员干到三十干不动。
很简单,以这种消磨人生所有时间状态,你生命中只有加班加班工作工作学习学习,你将不能顾家不能跟朋友聚会不能再有自己一点点休闲时间,更别说谈女朋友恋爱了,以这种状态你能坚持到三十岁
我想那简直是个奇迹了
C语言编程题目 请高手教一下啊 感谢啊
float avrscore(int a[n]){ float sum=0; float arg,*point=&arg; for(i=0;i c语言实验心得:1、只有频繁用到或对运算速度要求很高的变量才放到data区内,如for循环中的计数值。 2、其他不频繁调用到和对运算速度要求不高的变量都放到xdata区。 3、常量放到code区,如字库、修正系数。 4、逻辑标志变量可以定义到bdata中。 在51系列芯片中有16个字节位寻址区bdata,其中可以定义8*16=128个逻辑变量。 这样可以大大降低内存占用空间。 定义方法是: bdata bit LedState;但位类型不能用在数组和结构体中。 5、data区内最好放局部变量。 因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率。 当然静态局部变量除外,其内存使用方式与全局变量相同;6、确保程序中没有未调用的函数。 在Keil C里遇到未调用函数,编译器就将其认为可能是中断函数。 函数里用的局部变量的空间是不释放,也就是同全局变量一样处理。 这一点Keil做得很愚蠢,但也没办法。 7、如果想节省data空间就必须用large模式。 将未定义内存位置的变量全放到xdata区。 当然最好对所有变量都要指定内存类型。 8、使用指针时,要指定指针指向的内存类型。 在C51中未定义指向内存类型的通用指针占用3个字节;而指定指向data区的指针只占1个字节;指定指向xdata区的指针占2个字节。 如指针p是指向data区,则应定义为: char data *p;。 还可指定指针本身的存放内存类型,如:char data * xdata p;。 其含义是指针p指向data区变量,而其本身存放在xdata区。 以前没搞过C51,大学时代跟单片机老师的时候也是捣鼓下汇编,现在重新搞单片机,因为手头资料不多,找到一些C51的程序,发现里面有这些关键字,不甚明了,没办法只好找了下,发现如下描述:从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。 与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。 在51系列中data,idata,xdata,pdata的区别data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。 idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。 idata是用类似C中的指针方式访问的。 汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好) xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。 pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。 这个比较特殊,而且C51好象有对此BUG,建议少用。 但也有他的优点,具体用法属于中级问题,这里不提。 三、有关单片机ALE引脚的问题 单片机不访问外部锁存器时ALE端有正脉冲信号输出,此频率约为时钟振荡频率的1\\\/6.每当访问外部数据存储器是,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲.这句话是不是有毛病.我觉得按这种说法,应该丢失3个ALE脉冲才对,我一直想不通是怎么回事,希望大虾们帮帮我.小弟感激涕零.答:其他所有指令每6个机器周期发出一个ALE,而MOVX指令占用12个机器周期只发出一个ALE 四、如何将一个INT型数据转换成2个CHAR型数据 经keil优化后,char1=int1\\\/256,char2=int1%256或char1=int1>>8,char2=int1&0x00ff效率是一样的。 五、在KEIL C51上仿真完了,怎样生成HEX文件去烧写 右键点项目中Target 1,选第二个,在OUTPUT中选中CREAT HEX 六、typedef 和 #define 有何不同?? typedef 和 #define 有何不同》》》 如typedef unsigned char UCHAR ;#define unsigned char UCHAR ;typedef命名一个新的数据类型,但实际上这个新的数据类型是已经存在的,只不过是定义了一个新的名字.#define只是一个标号的定义.你举的例子两者没有区别,但是#define还可以这样用#define MAX 100#define FUN(x) 100-(x)#define LABEL等等,这些情况下是不能用typedef定义的 七、请问如何设定KELC51的仿真工作频(时钟) 用右键点击左边的的target 1,然后在xtal一栏输入 八、不同模块怎样共享sbit变量,extern不行? 把SBIT定义单独放到一个.H中,每个模块都包含这个.h文件 九、C51中对于Px.x的访问必须自己定义吗 是的。 如sbit P17 = 0x97;即可定义对P1.7的访问 十、SWITCH( )语句中表达式不可以是位变量对吗 可以用位变量:#include#includevoid main(){bit flag;flag=0;switch(flag){case '0':{printf(0\\\ );break;}case '1':{printf(1\\\ );break;}default:break; }}bit 变量只有两种状态,if 语句足够啦,!!! 十一、const常数声明占不占内存 const 只是用来定义“常量”,所占用空间与你的定义有关,如:const code cstStr[] = {abc};占用代码空间;而如:const char data cstStr[] = {abc};当然占用内存空间。 另外,#define 之定义似乎不占用空间。 十二、philips的单片机P89C51RD+的扩展RAM在C51中如何使用 试一试将auxr.1清0,然后在c语言中直接声明xdata类型的变量 十三、BUG of Keil C51 程序中用如下语句:const unsigned char strArr[] = {数学};结果发现strArr[] 内容为 {0xCA,0xD1,0xA7},真奇怪 凡是有0xfd,则会通通不见了,所以只能手工输入内码了,例如 uchar strArr[]={0xCA,0xfd,0xd1,0xa7}(用Ultraedit会很方便)。 十四、Keil C51中如何实现代码优化 菜单Project下Option for target Simulator的C51.看到Code optimization了吗 十五、请教c的 和 ~ 符号有甚区别 是逻辑取反,~是按位取反。 十六、c51编程,读端口,还要不要先输出1 我怎么看到有的要,有的不要,请高手给讲讲,到底咋回事 谢了要输出1的,除非你能保证之前已经是1,而中间没有输出过其他值。 十七、当定时器1(T1)用于产生波特率时,P3^5还是否可以用作正常的I\\\/O口呢 p3.5完全可以当普通的io使用 十八、C51中 INT 转换为 2个CHAR 各位高手:C51中 INT 转换为 CHAR 如何转换诸如:X = LOW(Z);Y = HIGH(Z);答: x=(char)z;y=(char)(z>>8); 十九、如果我想使2EH的第7位置1的话,用位操作可以吗 现在对位操作指令我一些不太明白请各位多多指教:如 SETB 07H 表示的是20H.7置1,对吗 (我在一本书上是这么看到的)那么如果我想使2EH的第7位置1的话,象我举的这个例子怎么表示呢 谢谢 SETB 77Hsetb (2eh-20h)*8+7 20h-2fh每字节有8个可位操作(00h-7fh),其它RAM不可位直接操作 二十、char *addr=0xc000 和char xdata *addr=0xc000有何区别 char *addr=0xc000;char xdata *addr=0xc000;除了在内存中占用的字节不同外,还有别的区别吗?char *addr=0xc000; 是通用定义,指针变量 addr 可指向任何内存空间的值;char xdata *addr=0xc000; 指定该指针变量只能指向 xdata 中的值;后一种定义中该指针变量(addr)将少占用一个存储字节。 uchar xdata *addr=0xc000;指针指向外ram;如果:data uchar xdata *addr=0xc000;指针指向外ram但指针本身存在于内ram(data)中以此类推可以idata uchar xdata *addr=0xc000;pdata uchar xdata *addr=0xc000;data uchar idata *addr=0xa0;......... 二十一、while(p1_0)的执行时间 假设,P1_0为单片机P1口的第一脚,请问,while(P1_0){P1_0=0;}while(!P1_0){P1_0=1;}以上代码,在KEIL C中,需要多长时间,执行完。 能具体说明while(P1_0)的执行时间吗 仿真运行看看就知道了,我仿真了试了一下,约14个周期 二十二、怎样编写C51的watchdog程序 各位大虾,我用KEIL C51 编写了一个带外部开门狗的程序,可程序无法运行起来,经过查找,发现程序在经过C51编译后,在MAIN()函数的前部增加了一端初始化程序,等到进入主程序设置开门狗时,开门狗已经时间到,将我的程序复位了,请问我怎样才能修改这一端初始花程序,使他一运行,就设置开门狗 可以在startup.a51中加入看门狗刷新指令,当然用汇编,然后重新编译startup.a51,将他和你的程序连接即可。 新的startup.a51会自动代替系统默认的启动模块。 二十三、keil C51 怎样把修改的startup.a51 加到工程文件中 直接加入即可注意不要改动?STACK,?C_START,?C_STARTUP等符号。 startup.a51直接加入项目,不用修改也可。 可在内面自己修改汇编的一些限制或堆栈指针。 二十四、关于波特率的设置 我在设定串口波特率时发现一个问题:在晶体震荡器为11.0592MHz时,若设9600BPS的话,TH1=0XFD,TL1=0XFD,而要设19200BPS的话,TH1、TL1有否变化,如果没变,为什么 如果变了,又为什么 (因为我看书上俩个是一样的),希望大家点拨。 答:当电源控制寄存器(PCON)第BIT7(SMOD)为1时波特率加倍。 TH1和TL1的值不变. 二十五、如何在C中声明保留这部分RAM区不被C使用 我不知道在C源程序中怎么控制这个,但在汇编程序中加入下面一段就行:DSEG AT 20HAA: DS 10这样C51就不会占用20H--29H了或者在c51里这样定义:uchar data asm_buff[10] _at_ 0x20; 二十六、问浮点运算问题 我在用C51时发现它对传递浮点参数的个数有限制,请问:1)参数是以全局变量的形式传递的,请问以全局变量的形式传递的参数也有限制吗 2)这种传递浮点参数的限制有多少呢 3)float*float的结果是float类型还是double类型?能否直接赋值给float类型的变量 答:由于KEIL C51的参数传递是通过R0-R7来传递的,所以会有限制。 不过KEIL提供了一个编译参数,可以支持更多参数的传递。 具体的内容见KEIL的PDF文档。 我建议你把多个要传递的参数定义到指针或结构体中去,传递参数通过指针或结构进行,这样好一些。 第3个问题回答是YES,你自己试试不就知道了。 二十七、如何在某一个地址定义ram 用_at_ 命令,这样可以定位灵活一点的地址uchar xdata dis_buff[16] _at_ 0x6020 ;\\\/\\\/定位RAM将dis_buff[16]定位在0x6020开始的16个字节 二十八、keil c中,用什么函数可以得到奇偶校验位 例如32位数据,将四个字节相互异或后检查P即可,若耽心P被改变,可用内嵌汇编。 #include unsigned char parity(unsigned char x){x^=x;if(P)return(1);else return(0);}unsigned char parity2(unsigned int x){#pragma asmmov a,r7xrl ar6,a#pragma endasmif(P)return(1);else return(0);} C语言实践心会在这个星期里,在专业老师的带领下进行c语言程序实践学习。 在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。 上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。 对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。 因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。 个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。 然而要使用c语言这个工具解决实际问题,又必须掌握它。 通过多次上机练习,对于语法知识有了感性的认识,加深对它的理 学习Excel的心得体会 [复制链接] 我是在98年开始接触到的,那时还是Office97,第一次用Excel的时候,只把它作文本编辑,后来听说Excel可以计算,就开始研究怎么用它的计算功能.一个星期后,我送差不多可以用一些简单的公式了,主要就是+.-.*.\\\/. 进入2000年后,用上了Office2000,经过对Excel的探索,对Excel的操作也上了个台阶,可以运用一些函数了,在此期间还给公司做了个库存报表,当然是很菜的哪种,一个月一个工作薄,一个工作薄里有30\\\/31个工作表,一个工作表就代表一天,......,具体内容不多说了,地球人都知道地.现在想起来,都觉得不可思议. 此后也陆续接触过Foxpor,VB6等,才知晓了数据库,慢慢的,我也开始学习编程了,真的应验了哪句才话:不看不不知道,一看吓一跳,水太深了.但人还坚持了过来,试作用Fox作开发,也是一个关于库存的进销存管理软件,作好它的时候有一种说不出的快感.那一年是2003年.不过在Excel方面我也没有落下,在公司好歹也算一个高手,财务部的Excel方面的问题,有些也要问我了. 2005年,我跳到另一家公司了,哇,一人一台电脑,幸福呀,终于告别了合用时代.不过公司管理严,全是正版软件,系统部定期扫描员工电脑,不能有非法软件.不能用Foxpor.VB6等编译的*.EXE,连WINRAR都不能用,还好,有Office2003,我可以在Excel的VBA中遨游,闲来无事的时候,我会它慢慢去编个小程序来玩玩.同时也激发了我用Excel编写库存管理软件的兴趣. 经过二个月的挪用空余时间,基本完成任务,现在还在陆续的改进中,在编写过程中,一次偶然的机会,我上了Excel Home,真是个大家呀,我找到了回家的感觉,赶快填写资料,注册,一步搞定. 现在基本上一有机会,我就会上Excel Home,Excel太强大了,VBA太强大了,虽然我的发贴不多,等级也不高,但我还是乐于去解答一些简单问题,但我特别关注家里的光棍贴,希望给他们一些多的帮助.有了我们的回复,就会给他们点燃学习软件的激情,说不定我们未来的软件工程师就在他们中间.我们国家太需要这样的人才了.也希望我们国家有一天也会开发出自己的操作系统和自己的Office来,比MS的更好,更强大.不会受制于他人. 时间过得真快,0:52了,太晚了,还有好多话要说呢,不过来日方长,我会一直在Excel Home中的,希望该网站会越办越好,越来越红火.在此感Excel Home,感谢家里的每一个人,感谢所有帮助过我和没有帮助过我的大哥大姐小弟小妹们,谢谢你们. 看来你是刚接触电脑不久的年轻人。 我也曾经有过类似天真的想法。 你的心情我能体会,只是,想法不是太现实。 “拜师学艺”是古人经典、甚至浪漫的学习方法,然而,对现代、对学习电脑来说,不是特别合适,因为我们生活在一个信息爆炸的社会,抛开别的,单是电脑方面的知识就跟海一样,哪里学得完 而新的知识又像潮水一样涌过来,旧的知识还没学完,新的知识铺天盖地席卷而至。 所以你只能专一科。 比如编程。 而众多编程的知识也不是一下子就能掌握的,可以先学C、C++,然后向其它语言过渡,触类旁通,我个人看法,有时间在这里泡的,大多不敢称自己是高手,就算你找到了名牌大学的讲师、教授,你就真的肯定他是高手 他也许在编程语言的教学、语法等知识方面一流,但真正应用未必高超。 而真正的高手数以万计,可他们都在忙着自己创业,谁有这份儿闲心收徒弟 就算你找到了名牌大学的教授,你花多少钱聘他 3千 5千 他看得上眼吗 10万、50万 你掏得起吗 所以,要我说,百度知道就是免费而实用的“高手”,集百家之长,诲人不倦,有什么问题,在网上一搜,或在这里一问,大多能解决,而如果真问到一些特殊问题,如系统代码、后门等的,我看还是省省吧,商业秘密一级的花钱都弄不到呢。学习编程
c语言实训心得3000字
一篇500字的学习Excel心得
计算机 心得体会范文



