第一篇:程序设计语言
程序设计语言
一般分为机器语言、汇编语言和高级语言。
1、机器语言
机器语言是用二进制数表示的、计算机唯一能理解和直接执行的程序语言。机器语言不直观,编写难度大,易于出错,调试、修改繁琐,但执行速度最快。机器语言是最低级的程序设计语言。
2、汇编语言
汇编语言是将机器语言“符号化”的程序设计语言。
汇编语言编写的程序,机器不能直接识别,要由汇编程序将其翻译成机器语言才能执行。
特点:比机器语言程序更易于编写、检查和修改,也保持了机器语言编程质量高、运行速度快、占用存储空间少等优点。但汇编语言的通用性和可移植性差。汇编语言也属于低级语言。
3、高级语言
常用的高级语言有BASIC、FORTRAN、PASCAL、C、C++、JAVA等。
特点:与汇编相比,①更接近自然语言,一般采用英语单词表达语句,便于理解、记忆和掌握。②易于编写、查找错误和修改③通用性强。
第二篇:如何学习程序设计语言
如何学习程序设计语言
经常有人会问,“怎样才能学会某某语言?”、“我该怎么学好某某语言?”,其实在学习某种程序设计语言之前,你需要弄明白一个问题,编程的目的是什么?我们为什么要编程?编程就是为了解决各种问题,通过一系列的指令来解决这些问题。那我们学习编程,到底需要学什么呢?因为编程的目的是为了解决问题,显而易见,我们学编程,就是要学会如何解决问题。高手和新手就是看你解决问题的能力。
我们应该如何学习?举个例子,有一天你想买个空调(我想学编程),于是就是市场上了解空调的情况,进行比较,最终确定某个品牌的空调(对目前的编程语言作些了解,根据自身的情况,最终确定一门语言来学习)。空调买来后,有专业的安装工人给你安装调试(学习前先配置好程序的调试运行环境,让你编写的程序能在电脑上跑起来,通过网上的教程或者购买的书本来了解这方面的知识)。安装工人走了之后,你想学会控制空调,这时你就遇到问题了“我怎么才能学会控制它呢?”(我该如何学习编程呢?)首先,你会找来空调的说明书(程序语言的语法手册,可以从网上查找或者买本书来看)和遥控器(电脑),边看说明书,边通过遥控器来控制空调(边看资料边在电脑上编写程序解决某个问题),随着操作的熟练你就不再看说明书了。当说明书上的说明和你实际的操作对应不起来时,你会向厂家咨询,问明原因(可以在某个技术社区或聊天工具上向熟手请教)。总之,一句话,学习时边看资料边实践(在电脑上编写、运行、调试你的程序)。
在写代码前,一定要先养成良好的习惯,先把握住程序的整体,然后再细分,一步一步去完善、去实现全部功能。无论做哪一步时,你都要明白,你的程序在为你解决什么问题?不然,你的解决问题的能力无法提高,学习的目的性也不强。不是有句话,“书到用时方恨少”,就是在你实际操作时,会遇到各种各样问题,你通自己的探索来解决各种问题时,是最有针对性的学习,因为你有这个需求“要如何解决这个问题”,所以当你满足自己的这个需求时,也是最有动力学习的时候了。学习编程,特别在程序出现问题,不按照自己的意愿去运行时,一定要有耐心,一行、一行的去阅读程序,想办法输出它的运行结果,看看是否符合自己的意愿,然后找出出现错误的这一行代码,最后针对这行代码进行分析、调试来解决这个BUG。
当你完成一个学习任务后,其实你已经进入编程的大门了,以后只要按照这个思路继续学习,你就会掌握越来越多的知识和经验,解决问题的能力也会越来越强。
如何学习程序设计
有许多网友都曾迷惑地问我:“怎么样才能学好程序设计?”,这不是一两句话能说
清楚的,于是我就写了这篇文章,给广大爱好者一个能解惑的方法,无论你是什么样的“鸟”相信都能在这篇文章里找到你想要的什么是程序设计
话就从一个著名的公式说起:程序设计=数据结构+算法
每当我写下这个公式的时候,心中总有一种新的感悟,可是就这个程序界尽人皆知的公
式却难倒了一大批想和Bill·Gates一争高下的朋友,下面我为大家解剖这个公式:
“程序设计”说白了就是大家所谓编程,先不管这个词中有什么深刻的内涵,先看看等式
右面的这两个名词。
按照官方的定义:数据结构即非数值计算的程序设计问题中的计算机的操作对象以及它
们之间的关系和操作;算法是对特定问题求解步骤的一种描述,是对指令的有序序列。官方的解释就是经典,可是我们看了却更糊涂了。别急,听我给大家解释。
程序设计就像盖房子,数据结构就像砖、瓦,而算法就是设计图纸。你若想盖房子首先
必须有原料(数据结构),但是这些原料不能自动地盖起了你想要的房子;你必须按照设计图纸(算法)上的说明一砖一瓦地去砌。这样你才能拥有你想要的房子。程序设计也一样,你使用的编译工具中有各种功能语句或基本结构,它们不会自动排列成你要的程序代码。你得按照程序规定的功能去编写,而程序的功能是实现就是算法的具体体现。所以通俗地说:你必须按照特定的规则,把特定的功能语句和基本结构按照特定的顺序排列起来,形成一个有
特定功能的程序,这就是:程序设计=数据结构+算法。数据结构是程序设计这座大厦的基础,没有基础,无论设计有多么高明,这座大厦不可能建造起来的。算法则是程序设计的思想,它的灵魂!没有灵魂的程序不能叫程序,只是一堆杂乱无章的符号而已。在程序设计中,数据结构就像物质,算法就是意识。这就像哲学上说的:意识是依赖与物质而存在的,物质是由于意识而发展。双方是相互依存、缺一不可的!
数据结构内容不多仅仅有几个系统自带的基本结构(像顺序结构、分支结构、循环结构、函数过程)数据类型(整型、实型、布尔、字符等)和用户定义的高级点的数据结构(数组、集合、文件、指针(队列、栈、树、图等)······)就这么多。可是算法却不同了,它是多中多样的!它可以让你让数据以你想要的方式排列(当然要符合语法和功能要求^_^)。再打
个比方,数据结构是人体的各种组织、器官,算法则是人的思想。你可以用你的思想去支配你身体的各个可以运动的器官随意运动。如果,你想去取一个苹果,你可以走过去,也可以跑过去,只要你想,你甚至可以爬过去。但是无论如何,你你的器官还你的器官(没有变),目的还是同一个目的(取苹果),而方式却是随心所欲!这就是算法的灵活性,不固定性。因此可以这样说:数据结构是死的,而算法是活的!现在明白许多了吧!GO ON
怎样学习程序设计
上面说了许多数据结构的在程序设计中重要性,所以努力学习好数据结构是学好程序设计的第一步,也是关键的一步。你初学起来一定会觉得难,枯燥(其实我当时也是这么想的 ^_^),什么标准文件、标准类型、标准函数、标准过程搞的你烦不胜烦。于是,就有许多初学者就厌倦了,停滞不前了,退缩了。你若是想编好程序的话就想:难道就这么一点点小困难就难倒我了吗?我还要挑战Bill·Gates呢?我一定能行,相信自己,一定会闯过这一关的!这样以来,你就具备了程序员最基本的素质——毅力。这一点是程序员必备的,否则在后面开发程序的漫长时间里,你会熬不住的。而且只有这样你才能静下心来学习。这一端时间没有什么捷径,只有多看书、多练习,把所有结构和类型的用法都找掌握牢固。不懂就要问。最好呢,有一位老师指引,这样比自己在这条路是摸黑前进强多了,而且往往还事半功倍。切记!只要跨出了第一步,以后就容易多了,万事开头难嘛!一定要坚持,当你过了这一端时间以后,你就发现程序设计根本没有你想象的那样难。当你把所有的东东都学会时,程序设计的大门已经向你敞开了一扇,而另一扇就是······
算法,这个是程序设计的重点,也是难点。许多菜鸟和老鸟的区别主要在对算法掌握的熟练程度上面。有许多朋友曾这样问我:“我数据结构上面的都学会了,也知道该怎么样用,可是我为什么还是在编程时,不知道该怎样用呢?其实,这就是缺少算法思想的一个具体表现。并不是学好了数据结构就会编程了。算法是灵活多变的,它不像数据结构那样有固定的形式。算法是不固定性就决定了它的特点,你不可能把所有的算法都学会,因为它是无穷尽的。但是你要是能把自己学的有限的算法融会贯通了,那你就了不起了。就好象你只学会了1、2、3这三个数,但是你可以组成12、23、32、123······。所以算法这条路既长有短,既难又易。
学习好算法的方法不少,在此详细的给大家举几个例子。
首先,你要养成一个良好的程序设计风格和习惯。这也分许多种。其中最重要的是养成自上向下逐步求精的程序设计思想和方法。怎样才是自上向下逐步求精的程序设计呢。举个例子。有这样一个问题:已知三角形的两边及夹角,求第三边及面积。
现在,当你看到这个问题是,你不要立即下手去编写,而是要思考一下怎样才能求解(算法),然后把她写下来以免忘记。于是就写了:
一级算法:
1 输入两边的长度a、b以及夹角A
2 计算第三边c和面积s
3 输出c以及s
当你写完之后,你若觉得第2步不太清晰,还不能写出代码,那就继续求精。二级求精:
1、将α的角度转换为弧度;
2、c=sqrt(a*a+b*b-2*a*b*cos(α));
3、s=1/2*(a*b*sin(α))
哈哈,这样问题不就得到解决了吗?接着就可以轻松的编代码了。再仔细看看上面的步骤:先写出一级算法,如果觉得由此还是得不到源代码,或者是其中有一步还有很多步骤要写,那么就继续求精,直到你认为可以很清晰的写出代码为止。但是求精可以因人而异,像上面的题目,若是一个编过很多程序的大虾来说,可能不用什么求精,代码就可以直接写出来了;但要是一个菜鸟(像我一样)就可能要写到二级求精。
这样说来,你可能认为这个求精是不是太慢,抑或根本就是在浪费时间。我大声告诉你:根本不是!这可是众多的编程先驱、编程达人们推荐的基本方法。你知道编程中,主要时间用在了哪里吗?不是编写代码,而是用在了求解算法和调试程序上了!而算法的求精就是缩短这些时间的最好的方法。它可以使你不用再很费力的苦思冥想到底该怎样构造算法,使这个过程更条理、更简明;它也很可能使你不用再为了一个小小BUG而调试半天,因为,它给出的算法已经趋于完美。其实,列一个小提纲(算法)就可以解决很多的问题,生活中不也是如此吗?!所以,第一,求精算法这个最重要的习惯一定要养成哦!
还有一个好的习惯就是要做到:程序源代码的清晰度与可读性一定要高。
这是为什么呢?在源代码中,每行代码前面的空格的有无与多少并不影响程序的运行,但是它影响人的阅读。你想,当你看到一片代码,格式杂乱无章,没有什么主次内外一定会头痛不已,绝对是看了第一遍就不想再看第二遍了。而且当你调试这样的代码时,也会被一
个小错误弄的找不到北了。如果格式很清晰的话,这样的代码就非常易读,结构很清晰,begin..end都看的清清楚楚。我想这样的代码阅读和调试起来一定很顺手的。
还有就是在有些重要的代码块后加入注释,也可以提高程序的可读性。不说别人,就说我就深有体会:以前代码不加注释,当时对其结构很清楚,可是过了几个星期之后,再看代码简直就像看另外一个人写的一样,要费不少工夫才能弄懂,代码越多越如此。自己还很难理解自己的代码,更不用说别人了。因此费点力气加上注释还是值得的。
还有的人喜欢用 goto语句跳来跳去,虽然增加了编写代码的灵活性,可是却严重破坏了程序的结构化,容易造成程序运行和大脑思维的逻辑混乱,很可能导致一些很不容易发现的错误。而且所有的goto都可以用其他的语句来代替。所以在这里建议大家少用goto。能不用就不用。以上是说了要提高代码的清晰度与可读性。
上面用了不少字来介绍程序设计中良好习惯的作用与好处,这算是程序设计的一个基础,希望对大家能有所帮助。下面介绍其他促进编程水平的方法。
其次,就是多加练习和多多与别人交流心得,研究和欣赏别人优秀的程序代码(上面说的清晰度与可读性的重要的一点就在这里体现了)。无论干任何事情,只有经常练习才能熟练的掌握与应用。它不仅能帮你提高对算法的认知程度,还可以使你更好的理解数据结构;而交流心得与欣赏别人的代码则是要你学习别人优秀的独特的见解与逻辑思维,许多„老鸟‟就是在研究优秀代码中慢慢成长起来的。但研究和欣赏并不是意味着让你„全盘西化‟;它是说既不要拘泥于自己一成不变的思考方式,也不要成为别人思想奔驰的高速路,而是让你取长补短,取其精华,去其糟粕,这才是我要说的。另外,在编译一个程序时,要多想几种不同的算法,反复比较,看看究竟哪个更适合这个程序。这样,不仅有助于提高你程序的运行效率,更重要的是有助于提高你对算法的认识和思维的广度。
看完上面这么多,你会发现程序设计的这半扇门似乎并不是想象的那么容易打开;但是如果你能耐住寂寞与枯燥的考验,按部就班、循序渐进的练习,思考,不知不觉中你的水平已经提高了很多。
除了上面说的求精算法和数据结构外,数学方法和逻辑思想对你的程序设计也会有一定的影响(这也属于算法)先说数学方法,它是指导你学习的一个重要的助手。比如你要实现一个看似很复杂的函数,而且你编写了一大堆代码,什么结构和类型都用上了,可是还是实现不了。这时候先别着急,也许在你做这个函数前就要静下心来,仔细思考,看看有什么数学上学习的特别公式能够实现这个问题吗?如果你真的灵感大发,把它挖了出来,恭喜你!
(答对了!)我想这个时候你一定会高兴的手舞足蹈,这种感受,我想大家在做数学题OR其他难题时一定深有体会。
这样说太空洞,不如举个例子:将8个„车‟放在8X8的国际象棋棋盘上,如果它们两两均不能互吃,那么称8个„车‟处于安全状态。问总共有多少种不同安全状态?对于这样的题一般的解法是用„回溯法‟,即先有顺序的固定一个棋子,然后将剩下的逐行试探,如果可以则摆放下一个,要是不行就把该棋子换一个位置,直到所有的方法都用(遍历)一遍。这样看来这个方法真的很麻烦,不因需要编写大量代码,而且还要用到„递归‟(编程的一个重要的算法)。使程序的效率大大降低。但是我们可以想想有没有更好的数学方法。肯定有!你看在第一行中,棋子可以在8个空格内随意摆放而不会受到攻击;而第二行,棋子则只有在7个空格内再挑选一个了;第三行就只有6个……依次类推第8行就只剩下一个空格了。所以这个方法一共有8X7X6X5X4X3X2X1即8!种解法,这不就是数学中的排列与组合的问题吗?若不进一步思考,盲目地逐个枚举方案,其笨拙是可想而知的了。所以在设计算法时,一定要仔细思考有没有更好的数学公式或思想与之相关联,这样往往会收到意想不到的好效果。
说完数学,再说哲学。
其实,哲学是所有学科是总和。她当然也包括程序设计这门新兴的学科了。(不要以为它们之间没有关系哦!)
我这里说的是哲学的一小部分,那就是逻辑学。一个人若没有严格的逻辑思维,他/她的程序一定有不少虫子(bug)。然而对于这些虫子,他/她可能不知道;也很有可能知道了,但是就不知道哪里出错了。这就是因为他/她没有把问题出现的情况(包括出错的情况)考虑全面而造成的。虽然理论上所有的程序都有一定的漏洞(尤其是代码越多的程序越是如此),但是我们可以尽我们的全力把问题考虑全面,使错误发生的几率降低到最小,以确保程序的稳定性。咱们来看一个很有趣的反面例子:偶在很久以前编过一个小程序(老师布置的作业),其功能是输入你的生日,然后再输入某天的日期,最后计算出你到这一天一共活了多少天。我很快就完成了,用数据测试几次还不错,于是让老师来检查我的作业。他让我输入,我于是就输入了1989 1 28,然后回车,再输入1999 1 28,我太激动了把1999输入成了1899,而且我竟然没有发觉。于是偶自信的敲了回车。结果出来了,当时大家都笑翻了,此后,我有一段时间再也不敢让老师“欣赏”我作的题目…… 以上就是偶因为逻辑不严密造成的笑话,大家可不要学我啊!所以说,提高逻辑思维能力也是提高编程效率的很有效的方法。
世界上所有的学科都有联系。当数学与逻辑学擦出„爱情‟的火花时,程序设计就有了雏形。
其实还有其他的学科也会影响程序设计,比如英语,地球人都知道,现在绝大多数程序源代码是用英文编写的,而且很多开发工具、编译工具还有一些用来参考的小程序几乎都是英文界面。学好英语对代码的分析、对数据结构的了解以及对开发程序或软件的效率都有帮助。因此在学习程序设计这门课程时,可不要丢了其他啊!
学习编程心态要放低,虽然你可能梦想要打倒微软帝国,可是你不要以为自己真的就有实力把Bill PK掉,一定要从最简单的开始做起,不要眼高手低,荒于练习。否则你可能给他打工他都不要哦!(必备)
一颗坚定的信念。搞程序设计有时是很累人的(要不然大家都成软件工程师了,BILL的饭碗不就砸了),在某一个关键点是你要付出超乎想象的汗水和不计其数的脑细胞。这就叫“衣带渐宽终不悔,为伊消的人憔悴!”要保持一种吃苦耐劳的打不垮精神,革命才能成功啊!同志们。(必备)
其实总而言之呢,无论是新手还是大虾,要的就是勤学苦练,只有这样,你才能走上通向程序设计金殿的成功之路。
到了这里你会发现,这就是程序设计,就这么简单、有趣,而有充满的艰辛与苦涩。设计一个艰难的程序,就像母亲分娩一样,一定会有巨大的痛楚。但当你为你早已调试了N^N次的代码加上最后一笔时,一个崭新的生命就诞生了!Eureka!它带着羞涩而好奇的神态向这个世界发出第一句“Hello,World!”的问候时。你那种感觉就像是上帝面对自己亲手造出来的生命,你以往所有的不快都会烟消云散。你会发现程序设计,这项伟大的工程,教予你的不仅仅是一种技术,更是对生命的热爱,对人生的执着,对完美梦想的追求!
有人说,学习是无聊的,但有亿万芸芸学子不懈地投入其中。
有人说,科学是艰难的,但仍有大批科学家为之奋斗终生。
也有人说,编程是枯燥的,可是我要站起来最全世界说:”我爱她,就像爱我的生命!“
第三篇:2008级程序设计语言(Java)教学大纲
《程序设计语言(Java)》教学大纲
课程名称: 程序设计语言(Java)英文名称:Programming Language(Java)课程编码: 212013 学 分: 4
学 时: 64(其中理论学时: 32,实践学时: 32)适用专业:非计算机专业理工类本科 先修课程: 《大学计算机基础》
一、课程的性质、目的与任务 课程性质:
该课程面向全校非计算机专业理工类本科生,是程序设计语言类必修的公共基础课之一。该课程的前导课程是《大学计算机基础》,侧重于Java语言的基本语法和面向对象编程方法的介绍。课程目的:
通过本课程的学习,学生不仅应掌握 Java语言的基本特点和编程方法,还应掌握面向对象程序设计的基本思想、基本概念和基本方法,并能运用所学的知识和技能对一般问题进行分析和程序设计,能解决本专业的一些实际问题。课程任务:
本课程采用引导式、启发式、实例讲解和实作演练等教学方法来组织教学,在注重Java语言基本概念和基本语法知识介绍的同时,注重培养学生面向对象的程序设计能力和思维方式,加强学生创新能力的培养,为进一步使用Java进行技术开发奠定坚实基础。
二、教学基本要求
通过本课程的学习,学生应达到下列基本要求:
1.掌握Java语言的基本语法、数据类型、运算符和表达式、流程控制语句、数组、向量和字符串、Swing界面设计、Applet小应用程序编制以及常见Java数据流的使用。
2.掌握对象和类的基本概念,学会使用Java进行面向对象程序设计开发的基本技能。
3.理解Java语言的特点、抽象类和内部类的概念、异常处理方法、控制组件外观的方法、Applet的安全机制和生命周期。
4.了解Java包的工作机制、对象持续化的基本概念、常见Java类的用法以及API文档的查阅方法。
三、教学条件
本课程教学在多媒体教室进行,实践教学要求在计算机机房进行,要为每个学生提供一台高性能计算机,并安装有JDK 6.0,UltraEdit,JCreator等开发工具。实践教学完成后,要上交相应部分的实验报告。
四、教学内容与学时安排
本课程共分三篇十章,内容涉及Java语言的基本概念和面向对象的编程方法。第一篇为Java编程基础篇,包括第1,2,3章,主要介绍Java的基本语法、数据类型及其流程控制语句;第二篇为Java编程提高篇,包括第4,5,6章,主要介绍数组、向量和字符串、Java面向对象的编程方法以及异常处理;第三篇为Java编程进阶篇,包括第7,8,9,10章,介绍Java图形界面设计、Applet以及数据流方面的知识。第1章 概述 1.1 什么是Java语言
1.2 一个基本的Java应用程序 1.3 程序的编译和运行 1.4 常见错误
1.5 使用Java核心API文档
第2章 标识符和数据类型 2.1 Java的基本语法单位 2.2 Java编码体例
2.3 Java的基本数据类型 2.4 复合数据类型
2.5 类和对象的初步介绍
第3章 表达式和流程控制语句 3.1 表达式 3.2 流控制
第4章 数组、向量和字符串 4.1 数组
4.2 Vector类 4.3 字符串类型
第5章 进一步讨论对象和类 5.1 抽象数据类型
5.2 对象的构造和初始化 5.3 this引用 5.4 子类 5.5 方法重写 5.6 Java包 5.7 类成员
5.8 关键字final 5.9 抽象类 5.10 接口 5.11 内部类 5.12 过时信息
第6章 Java语言中的异常 6.1 异常 6.2 异常示例 6.3 异常处理 6.4 异常分类 6.5 抛出
(2学时)
(4学时)
(4学时)
(4学时)
(4学时)
2学时)
(6.6 创建自己的异常
第7章 Java的图形用户界面设计(4学时)
7.1 AWT与Swing 7.2 容器 7.3 布局 7.4 事件处理
第8章 Swing组件(4学时)
8.1 按钮 8.2 标签 8.3 组合框 8.4 列表 8.5 文本组件 8.6 菜单组件
8.7 对话框、标准对话框与文件对话框 8.8 控制组件外观
第9章 Java Applet(2学时)
9.1 编写Applet 9.2 Applet的方法和Applet的生命周期 9.3 Applet的运行
9.4 在Applet中的多媒体处理 9.5 Applet的事件处理
9.6 Applet与普通应用程序的结合
第10章 Java数据流(2学时)
10.1 数据流的基本概念 10.2 基本字节数据流类 10.3 基本字符流 10.4 文件的处理
五、考核方式和成绩记载
本课程结束后由计算中心统一安排无纸化上机考试,成绩记载为: 总评成绩(理论)=平时成绩(40%)+无纸化上机考试成绩(60%)
其中:平时成绩=平时出勤和课堂提问(50%)+作业(50%)总评成绩(实践)=平时成绩(60%)+综合课题设计成绩(40%)
其中:平时成绩=上机出勤和表现(40%)+上机练习记录(30%)+单元实验报告(30%)
六、教学参考书 [1] 辛运帏等,《Java程序设计(第二版)》,清华大学出版社,2006年8月 [2] 辛运帏等,《Java程序设计题解与上机指导(第二版)》,清华大学出版社,2006年11月
七、说明
执笔人: 普运伟 审定人: 王建华 教学基层组织主任: 秦卫平
第四篇:《程序设计语言强化课程设计》教学大纲
《程序设计语言强化课程设计》教学大纲
周数:2 学
分:2
适用专业:网络工程 执笔人:周燕 审核人:崔如春 编写日期:2013年9月
项目一:学生成绩排名
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放。
1.定义一个数组a[11],用以存放学生的成绩。2.从键盘输入10个学生成绩。
3.采用选择法,将学生成绩按照从高到低进行排序。
4.再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组。
5.将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。6.将以上每一步骤的结果均打印输出,验证程序是否正确实现题目要求。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目二: 根据条件进行学生成绩排名
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
在函数中进行 10个学生成绩从高到低排名,再改进函数,进行 n个学生成绩从高到低排名, 排名方式根据函数的style参数进行,如style为‘a'按升序排,style为 ' d ' 按降序排。(a:ascending 升,d:descending 降)
编写多个不同函数,使之能实现不同的排序算法(3种以上),再编写一个通用输出函数,(要求用函数指针做参数)能分别打印不同排序算法的结果。
1.在函数中进行10个学生成绩从高到低排名 sort(int a[10])2.改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名, 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。(a:ascending 升,d:descending 降)
3.编写4个排序函数,实现4种不同的排序算法(用冒泡法进行升序排序,用冒泡法进行降序排序,选择法进行升序排序,选择法进行降序排序等),函数返回指向排好序的数组的指针。
4.编写通用输出函数 show(int a[ ],int n,int *(* fun)(a[ ], int n)),其中a[]为成绩数组,n为数组元素个数。fun为函数指针,函数的特点为有两个参数,一个为整型数组,一个为整数,返回值为指向整型变量的指针)5.编写主函数调用以上函数。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目三:链表的操作
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
建立一个动态链表,将学生数据(学号,成绩)存入链表结构中,实现链表的访问(求学生成绩的平均分,找到最高分,最低分,将其数据输出)。删除指定学号的学生数据,对学生数据进行排序,分别在链表头部,中间,末尾插入学生数据。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目四:学生成绩文件管理
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩,输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩,输出三门课程的平均分数最高的学生的学号、姓名及其平均分,将10个学生的相关数据,存入文件中,再从文件中读出,按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件中,再从文件中读取第 1,3,5,7,9个学生的数据。
1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩 2.从键盘输入10个学生的以上内容
3.输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩 4.输出三门课程的平均分数最高的学生的学号、姓名及其平均分 5.从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件 6.打开stud.dat文件,将数据读出,查看是否正确写入,关闭文件。
7.打开文件stud.dat文件,读出数据,将10个学生按照平均分数从高到低进行排序,8.分别将结果输出到屏幕上和另一文件studsort.dat中。
9.从studsort.dat 文件中读取第1,3,5,7,9个学生的数据。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目五:一个综合系统(五选一)
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
1.学生成绩管理系统
数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩
1、成绩
2、成绩
3、平均成绩、总成绩。
要求具有以下功能:
(1)添加、删除任意个记录。(2)修改任意个记录。(3)显示、保存记录。
(4)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),存盘并显示这两个文件的全部记录。
(5)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。
要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。2.教师信息管理系统设计
教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)教师信息录入功能--输入(3)教师信息删除功能
(4)教师信息浏览功能 --输出(5)查询和排序功能:(至少一种查询方式)--算法
按教师号查询
按职称查询等 要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。3.图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:(1(2(3)图书信息浏览功能--输出。(4)查询和排序功能:(至少一种查询方式)
按书名查询
按作者名查询
(5)图书信息的删除与修改。要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。4.电话簿管理程序
数据库的主要数据包括:姓名、工作单位、电话号码、E-mail地址。要求具有以下功能:(1(2)添加、删除、修改任意个记录。(3)显示、保存记录。
(4)排序功能:按电话号码排序和按照姓名字母序排序。(5)查询功能:按人名查询电话号码和按电话号码查询人名。要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:16学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
第五篇:最流行的程序设计语言
最流行的程序设计语言
想要知道哪一种程序设计语言最受欢迎吗?虽然收集各类数据来统计流行度意义不大,也有点难度,结果未必科学,但也许很有趣,这么做纯粹是“just for fun”。而多数有经验的程序员是可以在一周内了解新语言的基础,几周内可以上手开发,精通则需要多点时间。由于Google反对用户利用它的API,因 此作者采用了雅虎的搜索API,搜索关键词“language programming”。未经过处理的搜索结果显示(从高到低排列):C最多,其次是java,PHP,C++,visual basic,perl,c#,python,shell....细化搜索,专业网站如求职网站craigslist.org,可以了解计算机行业对程序语言的需求,结果是:SQL,C,PHP,Java,JavaScript,C#,C++,perl,visual basic,Ruby,python,shell,Cobol....搜索亚马逊程序语言类书籍,结果是:C,java,visual basic,C++,SQL,Pascal,Fortron,c#,Assembly,perl,JavaScript...已经发布实体的开源项目,反映了程序员的兴趣(数据来自Freshmeat):C,java,C#,PHP,perl,python,JavaScript,shell,SQL,Tcl....Del.icio.us,反映了开发者关注的或对他有用的资料:JavaScript,PHP,Java,C,Python,Ruby,C#,Perl,C++,Lisp....综合标准化对比结果:C,Java,PHP,C++,JavaScript,SQL,Perl,Python,C#,visual basic,Ruby....作者还统计了哪一种语言人们谈论的最多,收集了来自programming.reddit.com,Slashdot等科技新闻社区的数据。