还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言程序设计入门Cc语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置本课程是零基础的编程入门课,是后续的操作系统、编译原理、体系结构等课程的基石课程概述程序设计是一门基础课程对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置对于非计算机专业的学生,学习本课程的主要目的是掌握程序设计的基本方法,C语言是教学媒介但是对于计算机专业的学生,本简单面向对象可分布可解释强壮安全性结构化轻便功能强大多线程动态...Java既可以被编译,也可以被解释通过编译器,可以把Java程序翻译成一种中间代码-称为字节码-可以被Java解释器解释的独立于平台的代码通过解释器,每条Java字节指令被分析,然后在计算机上运行只需编译一次,程序运行时解释执行Javascr ipt诞生记C语言和SeIf语言一夜情的产物.jobbole,com/963/
1.二周前,我谈了一点Javascr ipt的历史今天把这部分补全,从历史的角度,说明Javascr ipt到底是如何设计出来的只有了解这段历史,才能明白Javascript为什么是现在的样子我依据的资料,主要是Brendan Eich的自述
2.上一篇文章写道:“1994年,网景公司Netscape发布了Navigator浏览器
0.9版这是历史上第一个比较成熟的网络浏览器,轰动一时但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力……网景公司急需一种网页脚本语言,使得浏览器可以与网页互动〃网页脚本语言到底是什么语言?网景公司当时有两个选择一^个是采用现有的语言,比如Perl、Python、Tel、Scheme等等,允许它们直接嵌入网页;另一个是发明一种全新的语言这两个选择各有利弊第一个选择,有利于充分利用现有代码和程序员资源,推广起来比较容易;第二个选择,有利于开发出完全适用的语言,实现起来比较容易到底采用哪一个选择,网景公司内部争执不下,管理层一时难以下定决心
3.就在这时,发生了另外一件大事1995年Sun公司将Oak语言改名为Java,正式向市场推出Sun公司大肆宣传,许诺这种语言可以〃一次编写,到处运行〃Write Once,Run Anywhere,它看上去很可能成为未来的主宰网景公司动了心,决定与Sun公司结成联盟它不仅允许Java程序以applet(小程序)的形式,直接在浏览器中运行;甚至还考虑直接将Java作为脚本语言嵌入网页,只是因为这样会使HTML网页过于复杂,后来才不得不放弃总之,当时的形势就是,网景公司的整个管理层,都是Java语言的信徒,Sun公司完全介入网页脚本语言的决策因此,Javascri pt后来就是网景和Sun两家公司一•起携手推向市场的,这种语言被命名为〃Java+script〃并不是偶然的
4.此时,34岁的系统程序员Brendan Eich登场了1995年4月,网景公司录用了他Brendan Eich的主要方向和兴趣是函数式编程,网景公司招聘他的目的,是研究将Scheme语言作为网页脚本语言的可能性Brendan Eich本人也是这样想的,以为进入新公司后,会主要与Scheme语言打交道仅仅一个月之后,1995年5月,网景公司做出决策,未来的网页脚本语言必须〃看上去与Java足够相似〃,但是比Java简单,使得非专业的网页作者也能很快上手这个决策实际上将Perl、PythonTc IScheme等非面向对象编程的语言都排除在外了Brendan Ei ch被指定为这种〃简化版Java语言〃的设计师
5.但是,他对Java一点兴趣也没有为了应付公司安排的任务,他只用10天时间就把Javascr ipt设计出来了由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪如果BrendanEich预见到,未来这种语言会成为互联网第一大语言,全世界有几百万学习者,他会不会多花一点时间呢?总的来说,他的设计思路是这样的1借鉴C语言的基本语法;2借鉴Java语言的数据类型和内存管理;3借鉴Scheme语言,将函数提升到〃第一等公民〃firstclass的地位;4借鉴Self语言,使用基于原型prototype的继承机制O所以,Javascr ipt语言实际上是两种语言风格的混合产物一-简化的函数式编程+简化的面向对象编程这是由BrendanEich函数式编程与网景公司面向对象编程共同决定的
6.多年以后,Brendan Eich还是看不起Java他说Java对Javascr ipt的影响,主要是把数据分成基本类型primitive和对象类型object两种,比如字符串和字符串对象,以及引入了Y2K问题这真是不幸啊〃把基本数据类型包装成对象,这样做是否可取,这里暂且不论Y2K问题则是直接与Java有关根据设想,Date.getYear返回的应该是年份的最后两位var datel=new Date1999,0,1;var yearl=datel.getYear;a Iertyearl;//99但是实际上,对于2000年,它返回的是100!var date2=new Date2000,0,1;var year2=date
2.getYear;a Iertyear2;//100如果用这个函数生成年份,某些网页可能出现〃19100〃这样的结果这个问题完全来源于Java,因为Javascr ipt的日期类直接采用了java,uti I.Date函数库Brendan Eich显然很不满意这个结果,这导致后来不得不添加了一个返回四位数年份的Date.getFu II Year函数如果不是公司的决策,Brendan Eich绝不可能把Java作为Javascr ipt设计的原型作为设计者,他一点也不喜欢自己的这个作品〃与其说我爱Javascr ipt,不如说我恨它它是C语言和SeI f语言一夜情的产物十八世纪英国文学家约翰逊博士说得好它的优秀之处并非原创,它的原创之处并不优秀the part thati sgood is notoriginal,and thepartthatis originalisnot good.〃课程是向后续的计算机组成、操作系统、编译原理、体系结构等课程前进的基石,对于C语言本身甚至程序设计语言基础原理的深入理解都是应该掌握的本课程是零基础的入门课程,完成本课程之后,就能具有初步的运用C语言编写程序的能力要想完整的学习C语言,还需要进一步学习本课程的后续课程——《C语言程序设计进阶》程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法在这里所提供的,只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力为了学习编程,你需要有一台计算机,安装必要的编程软件无论是MS Windows.Mac OSX还是Linux,都有适合C语言编程的软件预备知识作为第一门编程课,本课程可以零基础学习大学计算机(大学计算机基础、计算思维导论)等课程对于理解本课程的部分内容有帮助,但这些课程的学习不是必须的常见问题Q我需要特殊版本的计算机吗A:任何计算机都可以用于C语言编程,包括但不限于各个版本的MSWindows.各个版本的Mac OSX、各种发行版本的Linux有的手机有app也能实现C语言编程,不过我们不推荐那么小的屏幕Q我需要安装特定的软件才能做这门课的作业吗?A:任何C语言的开发工具都可以课程演示会使用Dev C++及命令行环境,但是你使用任何其他开发工具都不会影响做作业的正确性可以使用的其他工具包括但不限于MS VisualStudio.C-Free等Q每周会发布多少时间的视频?我需要花多少时间来学习?A:我们按照90分钟的授课时间来设计课程但是发布的视频肯定小于90分钟,一般在50到70分钟左右因为在线下上课时,老师可能会回顾一下上周的内容、某些内容会看学生的反应重复几遍、会当堂问做一些提问,以及在各种软件等教学工具之间切换,这些都要花点时间,而这些在线上课程中都不存在了,所以视频的时间不会正好是90分钟但是一般我们设计课程需要1:
1.5到1:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间编程就是这样一种脑力劳动你读懂了题目知道要做的目标,你学了语言知道有哪些可以用的手段,但是如何运用这些手段来解决这个问题,需要的是你的智慧在去讨论区寻找答案之前,不妨自己多试试编程是学会的,更是练会的从失败中总结,从经验中总结,这样学来的知识才更巩固当然,讨论区是我们有力的学习工具如果在线下的学习中,你会习惯与同学、老师讨论问题,那么,讨论区就是你和大家讨论的地方;如果你原本就不习惯和别人讨论自己的学习,那么,你可以试试善用我们的讨论区比如,先悄悄地潜水,默默地浏览所有的帖子,偷偷地在屏幕前面点头、微笑或是摇头;然后,觉得自己准备好了,就可以大胆地提问、回答或是评论C语言是一种有类型的语言,所有的变量在使用之前必须定义而且必须确定它的类型数据类型决定了可以在变量中存放怎样的数据,也决定了运算符要怎样来计算这些数值C语言的数据类型有很强的历史背景和时代需要,初学者常问的问题就是为什么要有那么多差不多的数据类型Well,所有的存在都是有其理由的你的计算机上的类型大小编译软件的版本都曝光一下吧计算机的配置、操作系统的版本、用sizeof探求一下你的计算机上的各种整数的大小吧把你的\n的作用是什么换行的意思printf123456;运行输出123456printf123\n456;运行输出123456整数在计算机的内部表达均为二进制数,而且不同类型的整数占据的字节数是不一样的,因此大类型转换为小类型时,就将大类型数相应的低位二进制数转换为小类型的数其实也就是planana回复的那个意思,呵呵#includestdio.hint main〃我就是那个围观的小白,不知道怎么写代码证明,尽力写了一个试试short a=438;//438转换成二进制是110110110pnntf%d,chara;〃结果是-74,也就是10110110,是438的二进制的最后八位〃所以我认为强制转换是把转换后的数据类型能容下的最后几位留下return0;C语言与其他语言的趣话C语言目前最著名、最有影响、应用最广泛的windows、I inux和UNIX三个操作系统都是用C语言编写的OS是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件中最庞大最复杂的系统软件既然如此庞大复杂的OS都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢?由此可以肯定的说,c语言是一门十分优秀而又重要的语言c语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程从市面上有关C语言的书籍和高等院校采用的教材来看,它们有一个共性,那就是脱离了实际应用(全是小打小闹的小例子),纯粹的过程性程序设计,没有软件工程思想的体现,没有一定程序设计风格,仅仅是为了让大家明白什么是C语言而已高等院校开设C语言程序设计的目的是让学生对程序设计有个入门,有个直观的理解,同时为其他后续课程作铺垫C++C++语言是在C语言的基础是扩展而成的.所以两种语言的基本语法和语义是相同C++中加入了面向对程序设计OOP的特征下面的三个主要性质刻划OOP语言的特点封装性把一个数据结构同操作的函数行为或方法组合在一起封装性是借助于一种新的结构和数据类型机制----------------------类实现的继承性建立一个新的派生类,它从一个或多个先前定义的基类中继承函数和数据,而且可能重新定义或加进新的数据行为,这样就建立了类的层次多态性给行为取一个名字或符号,它共享一个类的层次,在这个层次中的每个类都以适合自己的方式实现这个行为C#C#(读做C sharp,中文译音〃夏普〃)是微软公司发布的一种面向对象的、运行于.NET Fr amework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders HejI sberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.Java:Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,由升阳(太阳微电子,Sun Microsystems)公司的James Gosling等人于1990年代初开发的.具有以下特征的高级程序语言。
个人认证
优秀文档
获得点赞 0