如何做一个软件界面,简单粗暴就好,c语言初学者作业,可以把所编写的c语言程

非软件专业研究生学完了C语言下一步该做什么?
在读物理系研二学生,本科有学过c语言,现在想毕业了做软件设计方面的工作,所以研一把c语言的一些知识又重新温习了一遍,感觉练习的那些都是些小程序,写着好没意思,而且接下来要怎么做我现在也不知道,恳请这方面的大牛给一些建议,谢谢
按投票排序
写够1W行的工程就赶快转其他语言,学OOP,java C# C++都行,不要在C上浪费时间
把Linux常用shell命令自己撸一遍
谢邀!本科有学过c语言,现在想毕业了做软件设计方面的工作,所以研一把c语言的一些知识又重新温习了一遍,感觉练习的那些都是些小程序,写着好没意思,而且接下来要怎么做我现在也不知道学过了 C,下一步当然是学 OOP 了!进入 21 世纪是 OOP 主导的时代,连过去那些纯结构化编程的语言也都纷纷加入 OO 特性挤进 OOP 的行列,例如 Objective-C。作为想从事软件开发工作的毕业研究生,如果不懂 OOP 的话,就业面将变得很窄。学完 C 再学 OOP,从学 C++、Java 入手是一个比较自然的路径。我 1992 年学的 C,研一学的 C++(1995 年),研二学的 Java(1996 年)。C++ 的知识点大概至少是 C 的一倍以上,学过了 C++,你才能体会到其实 C 那点技巧只能算是小巫(所以你会觉得没意思),OOP 有意思多了。如果你是果粉,也可以先学 Objective-C。由于 C++ 和 Objective-C 都是对 C 的扩展与增强,通过这两种语言来学习 OOP 对你学过的 C 语言同时也是一种复习、巩固和加强,好处是显而易见的。要让你的编程变得有趣,可以试试能否在你的毕业课题中把 C++、Java 等软件技术用起来,这样学习编程与保证自己的专业不但可以做到两不误,而且是相互促进的。
邀。学习编程和学习许多理工科目一样通常是严谨且枯燥无味的,虽然我们有很多看起来很有意思的方法对学习在趣味性上进行引导,举一些有趣的例子、作一些有趣的类比。但事实上,这样的东西通常仅仅针对于初学比较多见。越当学习的内容比较深刻的时候,这样的方法越少。就 C 语言来说,通常的入门教材主要就是讲述 C 语言语法以及 C 语言的简单的编程思想。从这个角度上来说,通常书上的例题就是一些简单的小程序。这样的程序事实上写一遍和写十遍并不会有本质上面的区别。像题主这样希望能够从别的角度入手来学习 C 语言的是一个正确且很不错的想法。从趣味性本身来看的话,怎样的事物会让人感到有趣?一个非常简单粗暴的东西就是你写的每一个程序都能给你带来「正面的反馈」。我来举一些例子,赌博之所以能让人陷入其中,就是因为其总是是不是给人一个「赢钱」这样非常直观的反馈,比如游戏通常能通过「分数」和「排名」这样的手段去鼓励人继续游戏。那么要想让编程也获得这么一种反馈,那么显然也是很有方法的。如果你是希望把你的 C 语言水平向着 Science 这一角度继续发展的话。OJ (Online Judge) 系统是一个很好的途径。你可以看到自己每天过了多少道题,会获得一个非常好的成就感。尤其是自己一天做了很多题之后更是能使自己进入非常兴奋的做题状态,想不停做下去。好在 OJ 的负反馈机制并不是很强烈,所以通常很难给人带来反向的刺激。即使题目做错了你也可以看到自己过的数据数量在上升,而且自己可以无限提交题目直到做对,所以不会产生压力感。如果想让自己的 C 语言水平朝着 Engineer 的方向发展的话,那就更简单了。因为工程上每完成一件事都能有直观的反馈。这种感受就如同你第一次在屏幕上看到自己输出成功的「Hello World」时的那种兴奋感。以 C 语言为例的话,你完全可以给自己想一些项目来实现,比如在单片机上用 C 语言控制一个舵机、一辆小车到一架飞机...... 你每完成一个项目都能带来很强的正向反馈,当你第一次看到一个舵机按照你设计的样子旋转起来的时候也是非常兴奋的。和其他语言比起来,虽然 C 语言能做的事情是非常完整的,但是通常实现一个比较大型的项目比起一些对 OOP 支持很好的语言来说通常需要的代码量和开发复杂度都是差很多的。所以建议不要把坑挖的太大,这样缺乏持续的短期的刺激很容易使得自己放弃。学习的本身自然是枯燥而困难的,但给自己在学习过程中寻找一些短期正面的正向反馈的刺激对于持续自己的学习热情是非常有帮助的。
语言之后应该是数据结构和算法嘛再之后是组成原理,体系结构,编译原理,操作系统,这些是CS的顺序,具体的还要看题主想搞哪个方向
需要写大程序的话你可以写一个简单的C语言编译器。用C语言写C语言编译器,也叫编译器自举。
学物理的那必须去学CPP,然后借助DX或者OPENGL写物理引擎啊
首先如果希望以后从事软件相关工作,仅仅会c是明显不够的。要结合自身特点和兴趣选择一个技术方向来学习。
但不管怎样都需要适当学习一下计算机基础知识,数据结构、操作系统、数据库、网络,这几门是一定要学习的。可以看一些经典的国外教材,或者网易云课堂学习视频课程。
然后语言层面,就拿Android方向来讲,首先学习java语言,语言一定是要熟练掌握的,这就需要大量的实践工作。包括写一些解决算法问题小程序。
技术层面就是学习Android平台的编程,在java语言熟练的基础上学习Android开发并不难,同样可以买一本入门书,按照书中例子学习,或者看视频网上资料很多,先练习小程序例子,熟练后可以自己尝试开发一个app。
以上基础就基本具备了找工作的基础,当然在毕业前能有个不错的实习经历也是很有帮助的。其他技术方向也是类似的路线,要结合自身兴趣和背景。
hacking kernel
不是大牛所以匿了…只是说一下自己的学习过程… 学c语言时候为了提高点兴趣,刚开始是用easyx开发小游戏,很简单。之后学数据结构用c实现队列堆栈二叉树等等。这时候已经接触到c++,所以接下来找了些Qt的资料希望能应用一下,然而用惯c#,Qt用着不够爽…再后来学编译原理用c写个简单的编译器… 我觉得有图形界面会有意思点,其次能够实现复杂功能有目标也不会无聊。坐等大牛
已有帐号?
无法登录?
社交帐号登录php学习笔记(13)
转自知乎:
怎样知道自己到底喜不喜欢编程?将来要以此为工作?
作者:ershou
来源:知乎
理想的程序员
我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔。26岁之前几乎没有任何写代码的经验,研究生毕业却意外选择了一家不可能提供培训的初创公司,在每日担忧公司倒闭、害怕被炒鱿鱼以及同事冷落白眼的三重压力下逆流而上,一年半后离职,已是拥有500万用户产品的后台主程。从前我对计算机技术心怀畏惧,认定技术高人一定有佛光笼罩,昼夜不息运键如飞日吐代码上万行。现在也算见过一些世面了,回首那段忐忑不安宛如初夜的过程,我却不发觉有任何的励志意味,而是视为一种理所当然。理想的程序员,和理想的建筑师、理想的财务师、理想的按摩师没有任何的差别,他们本质上都是一群手艺人。我相信理想的程序员人人皆可成为。
近三年总在互联网圈厮混,我认识过一些程序员,共事过一些程序员,领导过一些程序员,又面试过一些程序员。他们学历不同,有的来自北大,有的来自北大青鸟,有的是博士,有的是高中肄业;资历也不同,有的来自BAT,有的来自某破产基金公司(还是一个销售);年限也从0到15年不等。但我认为程序员只需分三类:天才的程序员、理想的程序员、平庸的程序员。天才的程序员我只敢说接触过3个,这是天命。7分由你是颗精子的时候就已决定,拥有绝佳的数学天赋、冷静致密的逻辑、为解决难题宁愿不眠不休而深以为乐的技术热情;3分来自起步要早早早,恨不得同龄人玩泥巴的时候就得开始玩电脑,大学毕业前就突破一万小时法则,后面的已是游戏人生。
天才的程序员可遇不可求,更不能长有,我看到的90%仍是平庸的程序员。IT时代的膨胀,已让程序员如同文艺复兴时的印刷匠一样的普通,多数投入祖师爷门下的人,仅是为了更大的饭碗,更高的待遇,更好的生计。平庸的程序员编写腐烂的代码,没有规范和一致性,固守旧世界的语言,还好谈论大的架构和性能,说的比做的漂亮。而毫无例外的,他们认定技术没有出路,做产品、营销和管理的是更高大上的手艺,而他们当中的99%,又会自然的流露出自己恰巧具备了那方面的天赋,至于进程为什么会崩溃这样的小问题是不屑于去了解的。
而我最喜欢和理想的程序员相处,恨不得与他们同吃同住,如果允许,我希望我的队伍能插满他们的旗帜。理想的程序员心眼儿不坏(他们从来都不是办公室政治的宠儿,是一群单纯明亮快乐的手艺人),有天真烂漫的好奇心(他们的眼睛里经常闪着「哇,这个是怎么做到的!」),永远精益求精(他们的口头禅是「我再研究一下」),还乐于分享(他们活跃于GitHub、各大问答社区和你的身边,舍得将宝贵时间用于帮助新手)。是的,他们不需要被管理,只需要给一个大的方向,总能回报以意想不到的结果。
理想的程序员与平庸的程序员只有一墙之隔。两者的差距只有6个一点点,而人与人的差距,正是在这日积月累的一点点中,被永远拉开了。有意思的是,我发现这6个一点点都和意识有关,也就是程序员和其他一切新兴产业的工种一样,只需要意识加上时间的锤炼,人人皆可达到理想的阶段。理想的程序员必然也是一个优秀的problem-solver。
第1个一点点:专注眼下
见过太多心猿意马的程序员,我不得不把「专注眼下」作为天字第一条。他们往往有各式各样的小梦想,比如做个小茶农、做个小鹅贩、做产品、做销售、做投资,却被程序员的高薪或是没有转行的魄力「耽误」了,而因为不专注,他们不在意做好自己的本分,不在意锤炼自己的技能,不在意学习新兴的技术。不可否认,这世界上存在着伟大的产品(像乔老爷)、伟大的销售(像埃里森)、伟大的投资客(像彼得菲),而他们毫无例外都是程序员出身。可你听说过巴菲特评价盖茨的话么,比尔盖茨如果转行去卖狗,那他一定是全世界最大的狗贩。我坚信除了少数的天才外,冥冥众生均可以在多个领域取得成功,只要保持足够的专注。而哪怕你下一年就想卖狗去,程序员的经验仍然能训练你强大的逻辑、谨慎和耐心,放在哪个行业都是相当可观的竞争力。
第2个一点点:思考力与推动力
我认为处理bug、崩溃、调优、入侵等突发事件比编程本身更能体现平庸程序员与理想程序员的差距。当面对一个未知的问题时,如何定位复杂条件下的核心问题、如何抽丝剥茧地分析问题的潜在原因、如何排除干扰还原一个最小的可验证场景、如何抓住关键数据验证自己的猜测与实验,都是体现程序员思考力的最好场景。是的,在衡量理想程序员的标准上,思考力比经验更加重要。
有时候小伙伴跑过来,问我「提交了一个任务被卡住了,怎么办」的时候,我总觉得他可以做得更好。比如,可以检查试验别的任务,以排除代码自身的原因;可以通过Web UI检查异常(如果没有账号,可以让我提供);可以排查主机日志或删除缓存,再不济,总应该提供任务ID和控制台日志给我。理想的程序员永远不会等事情前进,他们会用尽一切方法让事情前进。
第3个一点点:Never Say No
记得从前厂离职之前,找老板谈话,他说我最大的优点就是从来不和他说这个做不到。后来我发现在很多团队里,都存在一种技术和产品的对立,程序员往往以「技术上无法实现」来挡产品的需求,而产品也往往以「Facebook可以为什么我们做不到」来奚落程序员。这两句话应该属于禁语,从根本上都不利于程序猿和产品狗的相亲相爱。
一句「技术上无法实现」是容易出口,可有多少人在说出这句话的时候,心里是100%肯定的?如果不肯定,为什么不能回去谷歌一下再回答?原本我以为程序员是充满想象力,在因为有想象力,才能诞生那么多改变我们生活的软件和互联网产品。见识多了,才了解大部分程序员已经在与bug的对抗中变得保守而不愿担当风险,与此同时许多团队也不愿意宽容失败。于是「Say No」变成一种习惯性的抵触,还记得曾国藩为什么解散湘军么?他说那支军队已「暮气渐深」,不能打仗了。要做理想的程序员,就不能给自己滋生暮气的机会,如果面对不合理的需求,可以把时间成本摆出来,把曲线救国方案亮出来,简单粗暴「Say No」是不可取的。
第4个一点点:投资未来
程序员是一个非常残忍的职业。你所学所用的语言、框架、模式,很可能在数年内就成昨日黄花了;你现在嘲笑的另一群程序员,可能马上就能转身来嘲笑你了。所以理想的程序员除了做好自己的本分,还要花费时间来投资未来。什么是「投资」?投资就是你现在投入的时间,在未来会以更多的时间或者金钱(看看早几年学习iOS的程序员现在的薪酬!)回报你。举我自己的领域 – 数据挖掘为例,08年左右Hadoop开始兴起,一时「大数据」概念火热,Hadoop工程师万金难求,各互联网公司纷纷把数据统计、数据分析和数据挖掘的业务切换到分布式平台上。这几年眼看Hadoop还在不断迭代,Spark又异军突起,一举刷新了Hadoop保持的排序记录,以内存存储中间数据带来的性能优势和丰富的数据结构让人爱个不停,各种奇异的小bug和陡峭的学习曲线又让人打退堂鼓。那么,明眼人都知道Spark是未来的趋势(内存会越来越便宜),在主业务放在Hadoop的条件下,就可以适当把一些小模块切换到Spark上,同时留意Spark社区的发展。很快从Spark获得的性能收益就能把之前投入的学习时间挣回来。
第5个一点点:善用工具
善用工具可以分为4个层面:
不相信重复
我刚入行那会,一个计算机专业却当了公务员的朋友问我,你一点都没学过编程,平时怎么写代码?我说,谷歌,于是遭到无情的耻笑,以至于我在哪里的账号都叫2shou,告诫自己是一个无耻的二手程序员。这是一个笑话,但如果现在问我,我还是要回答谷歌。程序员的成长就像膨胀的圆饼,外面是无边无际的大海,圆饼越大,与大海接触的面也越大,懂的越多,不懂的越多,而计算机科学又是一门更新换代异常迅速的学科,同时也是知识互联网化最好的学科,很难利用传统的科班式有教有学的方法,相反通过搜索引擎则很容易获取到最新的知识。
不相信重复,大师的话叫DRY原则(Dont repeat yourself),代码写多了,会有人为的直觉判断好的和烂的代码,我的标准是简洁和规范,简洁并不是美感上的标准,重复越少,给自己出错的机会也越少,后期维护的成本也越少。
如果你不幸丢了三周前的代码,也许你能凭着过人的记忆力把脑子里残余的片段复写出来,但如果丢的是三个月前的代码,恐怕就没有那么好的运气了。理想的程序员会着力找寻有效的资料保存方式,把工作里灵光闪现写下的代码、脚本、配置、经验等短的片段保存起来,以便任何时候都能复查。
理想的程序员必须懒惰。对他们来说,重复的步骤和重复的代码一样丑陋,如果意识到一项工作有可能长期要重复,那么自动化的时间总是越早越好。
第6个一点点:管理时间
之所以管理时间会对程序员这个行当特别重要,是因为在完成任务时你必须像荒野里的狼一样,「独行」。没有外界约束的情况下还能稳定控制自己,保证能高效率地工作和学习,那么日积月累你肯定会变得比一般人厉害。
程序员干的是高强度的脑力活,一般每天集中4-5个小时应对本职工作就足够了,但工作之外,一定要安排时间用于学习。除了学习,留点时间放空自己也是必要的,利用泡茶或者喝咖啡的间隙,把弥足珍贵的时间留给自己,往前想往后想,事半功倍。
说了这么多,想必有人会问,费劲心思成为一个理想的程序员,又有什么用处?会有高薪吗?不。能升职吗?也不见得。迎娶白富美呢?不如去卖狗。 稻盛和夫曾经说过一个故事,明治时期的手艺人被天皇召见,虽然都是不读书的乡下人,但一辈子兢兢业业地做一件事情,自然有一股高贵的气质。理想的程序员,应该就是循着这种高贵的气质而去的吧。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7921次
排名:千里之外
原创:21篇
(6)(15)(4)(2)菜鸟怎么学习编程软件!有什么可以让新手学-中国学网-中国IT综合门户网站
> 信息中心 >
菜鸟怎么学习编程软件!有什么可以让新手学
来源:互联网 发表时间: 16:52:34 责任编辑:李志喜字体:
为了帮助网友解决“菜鸟怎么学习编程软件!有什么可以让新手学”相关的问题,中国学网通过互联网对“菜鸟怎么学习编程软件!有什么可以让新手学”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:菜鸟怎么学习编程软件!有什么可以让新手学的编程软件,具体解决方案如下:解决方案1:你要的软件还没找到,但给你几点建议!
1:如果你能够熟练的使用Windows的话,你就可以开始你的程序生涯了!
2:首先从C语言开始。有的朋友可能认为C语言太难了,应该从VB开始。虽然,对于一个初学者来说,用一些控件堆砌成一个小软件,是有一些成就感,但是,基础才是最重要的!C语言对于数据类型的描叙,远比VB里面说的更为全面,清楚,明白,而这些却是编程中的根本!
3:学C语言,从数据类型,基本表达式,再到条件语句,循环语句,然后学习函数,再加上一些简单的数组知识,就可以了!一句话,到现在为止,你只要理解结构化程序设计的思想也就够了!
4:有了以上的基础,就要开始学汇编了。汇编开始的时候是很难,那些各种各样的寄存器,分段的内存地址,是很难理解,可是这些知识理解了以后,后面的内容就简单了,学习8086的那些指令,再加上一些伪操作,还有DOS和BIOS中断的调用,就可以看懂书上的汇编程序了。(着重是理解算法,对于后面的那些汇编的应用有兴趣的可以看一下!)到此,你应该会对计算机的理解更深一层!
5:有了汇编的基础,再来学习C语言中的精华部分----指针,可谓如鱼得水了。现在你要对C语言全全面面的学一遍了,谭版的教材要从头到尾认认真真的看两遍以上。
6:学完以上的内容,有必要研究一下数据结构了,线性表,堆栈,队列,树,图,二叉树,等等,都要滚瓜烂熟!(最好是清华严蔚敏老师的那本教材)
7:请时刻记住:浮躁是学习编程的大忌!
8:现在,你应该学习一些数据库的知识,还有一些常用的算法了!
9:如果以上的知识你都学精通的话,就可以开始C++的课程了,找本C++上手的书,用一个星期的时间大概了解一下C++,然后找一本VC上手的书,再花一个星期的时间学习VC的界面和用法,就可以做一些简单的应用了!
10:要想学好VC,没有扎实的C++知识是不行的,以下书籍是VC程序员必须翻的烂熟的:C++Primer,Effective C++,Thinking in C++,More Effective C++
深入浅出MFC。
11:深刻理解C++面向对象的思想!
12:编程的时候,出错是难免的,所以,MSDN一定要熟练使用;好的代码风格会使调试的时候,更加简单的查错,所以,一定要养成良好的编程风格!
13:如果你严格的走好了以上的每一步,你才踏上了编程的门槛,可以混口饭吃了!
至于在以后,编译原理,操作系统,还有软件工程等等基础知识,是必不可少的!
14:如果现在再来学习JAVA,C#等别的语言的话,应该是触类旁通,拿来就用了,
到此,你才可以称得上是一个高手!
9个回答1个回答5个回答5个回答2个回答3个回答1个回答4个回答6个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
计算机技术《51单片机C语言编程入门(中科大)》.pdf83页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:100 &&
你可能关注的文档:
··········
中国科学技术大学业余无线电协会编 目 录 §1 前言…………………………………………………………………………………………
1 §2 单片机简介…………………………………………………………………………………
2 2.1 数字电路简介……………………………………………………………………………
2 2.2 MCS-51单片机简介………………………………………………………………………
2 2.3 Easy 51 Kit Pro 简介…………………………………………………………………
5 2.4 Easy 51 Kit Pro 电路功能分析………………………………………………………
5 §3 MCS-51单片机的 C语言编程………………………………………………………………
8 3.1 汇编语言…………………………………………………………………………………
8 3.2 建立你的第一个 C 项目…………………………………………………………………
8 3.3 生成hex 文件…………………………………………………………………………… 12 3.4 Keil C 语言……………………………………………………………………………… 14 3.5 单片机 I/O……………………………………………………………………………… 18 3.6 中断……………………………………………………………………………………… 25 3.7 定时器/计数器…………………………………………………………………………
27 3.8 定时器的应用举例……………………………………………………………………… 29 3.9 外部中断………………………………………………………………………………… 34 3.10 串行通信………………………………………………………………………………
38 3.11 定时器 2………………………
正在加载中,请稍后...

我要回帖

更多关于 c语言初学者百题大战 的文章

 

随机推荐