程序设计-C and C++的实现:第1章 计算机与C++编程简介

上传人:s9****2 文档编号:569835851 上传时间:2024-07-31 格式:PPT 页数:58 大小:2.45MB
返回 下载 相关 举报
程序设计-C and C++的实现:第1章 计算机与C++编程简介_第1页
第1页 / 共58页
程序设计-C and C++的实现:第1章 计算机与C++编程简介_第2页
第2页 / 共58页
程序设计-C and C++的实现:第1章 计算机与C++编程简介_第3页
第3页 / 共58页
程序设计-C and C++的实现:第1章 计算机与C++编程简介_第4页
第4页 / 共58页
程序设计-C and C++的实现:第1章 计算机与C++编程简介_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《程序设计-C and C++的实现:第1章 计算机与C++编程简介》由会员分享,可在线阅读,更多相关《程序设计-C and C++的实现:第1章 计算机与C++编程简介(58页珍藏版)》请在金锄头文库上搜索。

1、BeihangS2欢迎亲爱的软件学子!欢迎亲爱的软件学子!l简单调查简单调查u多少同学第一志愿报考软件学院?多少同学第一志愿报考软件学院?调查问卷调查问卷u多少同学被调剂到软件工程专业?多少同学被调剂到软件工程专业?n是否沮丧、懊恼?是否沮丧、懊恼?u多少同学熟悉电脑操作,都用电脑做什么?多少同学熟悉电脑操作,都用电脑做什么?u多少同学现在有电脑?多少同学现在有电脑?u多少同学有编程经验?多少同学有编程经验?u多少同学用多少同学用C/C+C/C+语言编写过程序?语言编写过程序?u多少同学参加过中学生信息学竞赛多少同学参加过中学生信息学竞赛uBeihangS3欢迎亲爱的软件学子!欢迎亲爱的软件学

2、子!l上大学前最关心的几个问题:能否考上大学?上大学前最关心的几个问题:能否考上大学? 能能考上什么样的大学?考上什么样的大学? 能就读北航的什么专业?能就读北航的什么专业?l恭喜同学们选对了学校恭喜同学们选对了学校l大学应该学什么大学应该学什么n学会独立与思考学会独立与思考n学会自由、自律、自觉学会自由、自律、自觉n学会学习的方法学会学习的方法n学会劳动、友爱、尊重学会劳动、友爱、尊重n学好哲学、历史、数学、外语、学好哲学、历史、数学、外语、n专业、专业、nBeihangS4-整理于“华尔街日报中文网,2011年8月”20年巨变年巨变BeihangS5专业印象:专业印象:软件正在吞食这个世界

3、软件正在吞食这个世界一、序一、序l2009年年4月月,Oracle收收购Sun(74亿美元)美元)。2012情况情况l2011年年2月,月,Nokia牵手手Microsoft。2012情况情况1,2,now?l2011年年8月,月,Google宣布收宣布收购摩托摩托罗拉移拉移动(MotorolaMobility)(125亿美元)美元)。现状状?l北京北京时间2011年年9月月14日消息,据国外媒体日消息,据国外媒体报道,英特道,英特尔尔和谷歌周二宣布,将和谷歌周二宣布,将联手手优化用于英特化用于英特尔尔低能耗凌低能耗凌动处理理器器产品系列的未来版本的品系列的未来版本的android系系统,这意

4、味着意味着android平台的未来版本将支持英特平台的未来版本将支持英特尔尔技技术及其架构。及其架构。l21世世纪以后,以后,柯达、富士、柯达、富士、乐凯等的主等的主营胶卷胶卷业务日日渐衰衰落,落,2011年停年停产多款彩色的胶卷多款彩色的胶卷?BeihangS6专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界一、序一、序l2010年初,年初,Oracle收收购Sun(74亿美元)美元)l2011年年2月,月,Nokia牵手手Microsoftl2011年年8月,月,Google宣布收宣布收购摩托摩托罗拉移拉移动(MotorolaMobility)(125亿美元)美元)l北京北京时

5、间2011年年9月月14日消息,据国外媒体日消息,据国外媒体报道,英特道,英特尔尔和谷歌周二宣布,将和谷歌周二宣布,将联手手优化用于英特化用于英特尔尔低能耗凌低能耗凌动处理器理器产品系列的未来版本的品系列的未来版本的android系系统,这意味着意味着android平台的未来版本将支持英特平台的未来版本将支持英特尔尔技技术及其架构。及其架构。l21世世纪以后,柯达、富士、以后,柯达、富士、乐凯等的主等的主营胶卷胶卷业务日日渐衰落,衰落,2011年停年停产多款彩色的胶卷多款彩色的胶卷这些些举动都令全球都令全球业界感到震惊,但它界感到震惊,但它们也符合一也符合一个个趋势:软件正在吞食件正在吞食这个

6、世界。个世界。按市按市值计算,苹果在算,苹果在2011年年8月初正式超月初正式超过了埃克森了埃克森美孚美孚(ExxonMobil),成,成为全球市全球市值最大的公司最大的公司(3420亿美元)美元)(2014年,年,4831亿美元)美元)。苹果。苹果2010年超年超过微微软,当,当时距埃克森美孚距埃克森美孚还差差750亿美元。美元。BeihangS7专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界l2014年年,世界,世界2000强强企企业排名(福布斯)排名(福布斯)BeihangS8专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状 从电影业到农

7、业再到国防,越来越多的重要企业和行业正从电影业到农业再到国防,越来越多的重要企业和行业正在依靠软件运营,通过网上平台将产品交付到客户手中在依靠软件运营,通过网上平台将产品交付到客户手中。BeihangS9专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l图书图书n博德斯博德斯(Borders)连锁书店的关店的关闭和和亚马逊的崛起或的崛起或许便是便是软件打件打败传统行行业的一个最具的一个最具戏剧性的例性的例证。2001年,博德斯年,博德斯认为网上网上图书销售是非售是非战略性略性业务,对公司公司发展无足展无足轻重,于是将其网重,于是将其网络业务出售出售给了了亚马

8、逊。n今天,作今天,作为全球最大的全球最大的连锁书店,店,亚马逊还是一家是一家软件公司件公司核核心能力是其令人惊心能力是其令人惊叹的的软件引擎,件引擎,实际上上这可以可以让它在网上它在网上销售售任何任何东西,西,实体零售商店已体零售商店已变得可有可无。此外,当博德斯得可有可无。此外,当博德斯还在在因破因破产危机而危机而饱受折磨受折磨时,亚马逊却却对网站网站进行了改版,令行了改版,令Kindle电子子书的的销量首次超量首次超过了了实体体图书。现在,就在,就连书籍本身籍本身都成了都成了软件。件。(1879年,年,爱迪生迪生发明明电灯。灯。“将来,将来,让有有钱人才用蜡人才用蜡烛照明。照明。”)(“

9、纸质书是一种奢侈品,是一种奢侈品,让有有钱人才看人才看纸质书。”)BeihangS10专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l音乐音乐n如今,音如今,音乐行行业的霸主也是的霸主也是软件公司:苹果的件公司:苹果的iTunes、Spotify和和Pandora。越来越多的。越来越多的传统唱片公司只能依靠向唱片公司只能依靠向那些那些软件公司提供内容才能生存。件公司提供内容才能生存。2010年音年音乐行行业来自数来自数字渠道的收入字渠道的收入为46亿美元,占美元,占总收入的收入的29%,而在,而在2004年年这一比例一比例仅为2%。现在?在?Beihang

10、S11专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l游戏游戏n现在在发展速度最快的展速度最快的娱乐公司当属公司当属视频游游戏开开发商,他商,他们也是也是软件公司:整个行件公司:整个行业的的规模从模从5五年前的五年前的300亿美元增美元增长至至现在的在的600亿美元。美元。n增增长速度最快的游速度最快的游戏开开发商是商是Zynga(其代表作包括(其代表作包括FarmVille“FarmVille”),今年第一季度的收入),今年第一季度的收入为2.35亿美美元。元。n另一家游另一家游戏开开发商商Rovio今年的收入今年的收入预计将达将达1亿美元(在美元(在2

11、009年年年底推出大受年底推出大受欢迎的迎的iPhone手机游手机游戏愤怒的小怒的小鸟(AngryBirds)之前,之前,该公司正公司正濒临破破产)。与此同)。与此同时,艺电(ElectronicArts)、任天堂、任天堂(Nintendo)等等传统视频游游戏开开发商的收入却出商的收入却出现停停滞和下滑。滞和下滑。n目前的行目前的行业现状?状?BeihangS12专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l视频视频n从用从用户数量来看,数量来看,Netflix是当今最大的是当今最大的视频服服务供供应商,商,它同它同时还是一家是一家软件公司。件公司。Ne

12、tflix击败竞争争对手手Blockbuster的事已成旧的事已成旧闻,但其他,但其他传统娱乐服服务供供应商商现在也面在也面临同同样的威的威胁。康卡斯特。康卡斯特(Comcast)和和时代代华纳(TimeWarner)等公司等公司纷纷做出反做出反应,试图将自己将自己转变为软件公司,他件公司,他们采取的措施包括推出采取的措施包括推出“电视无无处不在不在”(TVEverywhere)计划,将划,将节目内容从有形的目内容从有形的电缆中解放出来,中解放出来,与智能手机和平板与智能手机和平板电脑相相连。n现状?状?BeihangS13专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发

13、展和展和现状状l电影电影n作作为几十年来最几十年来最为成功的新型成功的新型电影制作公司,皮克斯影制作公司,皮克斯(Pixar)也是一家也是一家软件公司。迪士尼件公司。迪士尼(Disney)迪斯尼啊!迪斯尼啊!必必须通通过收收购皮克斯,也就是皮克斯,也就是说一家一家软件公司,才能保件公司,才能保持在持在动画画电影影领域的域的领先地位。先地位。l摄影摄影n当然,当然,软件很早以前就侵入了件很早以前就侵入了摄影影领域。域。实际上,上,现在几在几乎不可能乎不可能买到一部不到一部不带软件件驱动摄像像头的手机,的手机,这种手机种手机拍出的照片可以自拍出的照片可以自动上上传到互到互联网供永久保存,或与全球网

14、供永久保存,或与全球用用户分享。分享。Shutterfly、Snapfish和和Flickr等公司都已涉足柯等公司都已涉足柯达达(Kodak)的的传统领域地域地盘。BeihangS14专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l电信电信n目前增目前增长最快的最快的电信公司信公司Skype也是一家也是一家软件公司。微件公司。微软(Microsoft)2011年年以以85亿美元的价格收美元的价格收购了了这家公司。家公司。n美国第三大美国第三大电信运信运营商商CenturyLink的市的市值为200亿美元,美元,截至截至2011年年6月月30日,它日,它拥有

15、有1500万条接入万条接入线路,但正以每路,但正以每年年7%的速度的速度递减。不包括收减。不包括收购Qwest后后带来的收入,来的收入,CenturyLink来自来自传统服服务业务的收入已下降的收入已下降11%以上。以上。n同同时,美国两大,美国两大电信运信运营商美国商美国电话电报公司公司(AT&T)和和Verizon也已也已转变为软件公司,并与苹果和其他智能手机厂件公司,并与苹果和其他智能手机厂商建立合作,以商建立合作,以这种方式生存下来。种方式生存下来。BeihangS15专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l人力资源人力资源nLinkedI

16、n是当今是当今发展最快的招聘公司。求展最快的招聘公司。求职者有史以来第者有史以来第一次可以在一次可以在LinkedIn上面上面维护他他们自己的自己的简历,以供招聘,以供招聘企企业实时搜索,搜索,让LinkedIn有机会从价有机会从价值4000亿美元的招美元的招聘行聘行业分得一杯羹。分得一杯羹。BeihangS16专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l汽车汽车n在其在其业务被广泛被广泛认为主要存在于主要存在于现实世界的行世界的行业,软件也件也在主在主导它它们的价的价值链。在当今的汽。在当今的汽车行行业,软件控制着着件控制着着引擎和安全功能,引擎和安

17、全功能,还承担起承担起娱乐乘客的功能,乘客的功能,为车主提供主提供导航,将每航,将每辆车与移与移动、卫星和星和GPS网网络联系起来。汽系起来。汽车爱好者可以自己好者可以自己动手修理汽手修理汽车的的时代早已成代早已成为过去,主要去,主要原因便在于汽原因便在于汽车中有了大量的中有了大量的软件化内容。混合件化内容。混合动力力车和和电动汽汽车的的发展展趋势只会加速向只会加速向软件化的件化的转变。谷歌和大。谷歌和大型汽型汽车厂商已厂商已经在开在开发由由软件件驱动的无人的无人驾驶汽汽车。BeihangS17专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l物流物流n今天

18、,作今天,作为全球第一大全球第一大实体零售商,沃体零售商,沃尔尔玛(Wal-Mart)也也通通过软件加件加强强其物流和分其物流和分销能力。沃能力。沃尔尔玛凭借凭借这些能力些能力击败了众多了众多竞争争对手。手。n同同样,联邦快邦快递(FedEx)也完全可以被也完全可以被视为一个一个软件网件网络,这个网个网络将卡将卡车、飞机和配送中心机和配送中心联系起来。系起来。n无无论是是现在在还是将来,航空公司的成是将来,航空公司的成败将取决于它将取决于它们能否能否利用利用软件正确件正确设定机票价格、定机票价格、优化航化航线以及使收益率最大以及使收益率最大化。化。n淘宝网淘宝网n京京东商城商城BeihangS

19、18专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l资源资源n石油天然气公司是超石油天然气公司是超级计算、数据可算、数据可视化和分析化和分析领域的早域的早期期创新者,新者,这些些创新新对今天的油气勘探起着着至关重要的今天的油气勘探起着着至关重要的作用。作用。n农业也越来越受到也越来越受到软件的支持,例如用件的支持,例如用卫星星对土壤土壤进行的行的分析就涉及每分析就涉及每亩选种种软件算法。件算法。BeihangS19专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l金融金融n过去去30年年软件件给金融服金融服务行行业带来了

20、明来了明显的的变化。小到化。小到购买一杯咖啡,大到价一杯咖啡,大到价值1万万亿美元的信美元的信贷违约衍生衍生产品交易,品交易,事事实上每笔金融交易都需要通上每笔金融交易都需要通过软件来完成。金融服件来完成。金融服务业领先的先的许多多创新者都是新者都是软件公司,如件公司,如Square和和Paypal,前,前者使任何人都可以通者使任何人都可以通过手机完成信用卡支付流程,后者今手机完成信用卡支付流程,后者今年第二季度的收入超年第二季度的收入超过10亿美元,美元,较上年同期增上年同期增长31%。BeihangS20专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l

21、国防国防n就就连国防也越来越倚重国防也越来越倚重软件。件。现代化的作代化的作战士兵会携士兵会携带一一套套软件,用以提供情件,用以提供情报、通信、后勤和武器指、通信、后勤和武器指导。由。由软件件控制的无人机可以控制的无人机可以对敌人展开空人展开空袭,从而不会令,从而不会令驾驶员面面临危危险。情。情报部部门也在利用也在利用软件采集海量数据,件采集海量数据,发现和追和追踪潜在的恐怖阴踪潜在的恐怖阴谋。l医疗和教育医疗和教育n医医疗保健和教育也将保健和教育也将发生以生以软件件为基基础的根本性行的根本性行业转变。这两个原先两个原先对创业变革一直非常抗拒的行革一直非常抗拒的行业,将被,将被围绕软件开件开创

22、事事业的杰出的新企的杰出的新企业家所家所颠覆。覆。BeihangS21专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界二、二、发展和展和现状状l微信微信。BeihangS22专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界三三、未来的、未来的趋势l每个行每个行业的公司都必的公司都必须预先料想到先料想到软件革命件革命即将到来。即将到来。这甚至包括已甚至包括已经以以软件件为基基础的一些行的一些行业。甲骨文。甲骨文(Oracle)和微和微软这些原有的些原有的软件巨件巨头正日益受到正日益受到S和和Android等看起来不相干的新等看起来不相干的新软件件产品的威品的威胁(尤其是在

23、(尤其是在谷歌谷歌拥有了一家重量有了一家重量级手机制造商之后)。手机制造商之后)。l在某些行在某些行业,特,特别是石油和天然气等是石油和天然气等现实性很性很强强的行的行业,软件革命将主要件革命将主要给现有行有行业巨巨头创造机遇。但在造机遇。但在许多行多行业中,新中,新软件理念将件理念将导致新的、硅谷致新的、硅谷风格的初格的初创公司崛起,公司崛起,随意入侵随意入侵现有行有行业。在未来十年,。在未来十年,现有行有行业巨巨头和和软件件驱动的的颠覆者之覆者之间将爆将爆发史史诗般的般的战争。争。BeihangS23专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界四四、今天、今天面面对的的问题

24、l今天的新公司都是在极今天的新公司都是在极为恶劣的劣的经济背景下成立的,背景下成立的,这使使他他们面面临的挑的挑战远远大于大于环境相境相对温和的温和的20世世纪90年代。年代。在在这种种环境下境下创业的一个好的一个好处是,一旦取得成功,公司将是,一旦取得成功,公司将变得非常得非常强强大,具有很大,具有很强强的抗打的抗打击能力。当能力。当经济最最终稳定定下来下来时,新公司中的佼佼者的增,新公司中的佼佼者的增长速度会速度会变得更快。得更快。BeihangS24专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界四四、今天、今天面面对的的问题l目前,不少人都缺乏参与目前,不少人都缺乏参与“软

25、件革命件革命”所需要的学所需要的学识与技能。与技能。这是一个悲是一个悲剧,每家公司都求,每家公司都求贤若渴。若渴。虽然目前整个世界然目前整个世界的失的失业率居高不下,未充分就率居高不下,未充分就业现象象严重,但合格的重,但合格的软件件工程工程师、经理和理和营销人人员只要愿意,随只要愿意,随时都能在全球找到都能在全球找到许多多发展空展空间极大的高薪工作。极大的高薪工作。实际上,上,这个个问题比表面比表面看起来看起来还要要严重,重,现有行有行业的的许多多员工将受困于工将受困于“软件革件革命命”带来的来的颠覆性影响,可能再也不能就覆性影响,可能再也不能就职于原先的于原先的领域域(或(或难以以胜任)任

26、)。除了教育,没有任何。除了教育,没有任何办法能解决法能解决这个个问题,我,我们还有很有很长的路要走的路要走!BeihangS25专业印象:专业印象:软件正在吞食这个世界软件正在吞食这个世界小小结:软件学院日文应用软件开发专业研一学生栾鸿钧对总理说,最近几年我们国家对软件工程产业比较重视,但同印度相比,还存在差距。温总理接着栾鸿钧的话题说:“我参观过印度的软件公司。当时我就讲,软件主要决定于两个因素,第一是人的大脑,第二是市场的需求。人的智力开发,是无穷无尽的。我希望学软件的学生,一定要把基础打好,必须要有创造思维。如果学软件没有创造思维,就没有出路。不能仅仅满足于书本,软件关键在于开发,学习

27、这个专业,是很有前途的。”(2008年12月20日,北航图书馆)BeihangS26作业作业1 1:20142014年软件吞食世界的故事?(查阅、整理)年软件吞食世界的故事?(查阅、整理) or or 软件软件正在吞食这个正在吞食这个世界世界(二)(二)作业作业2 2:畅想十年后的软件科技与软件生活。:畅想十年后的软件科技与软件生活。BeihangS27欢迎亲爱的软件学子!欢迎亲爱的软件学子!从编程开始,编写自己的人生从编程开始,编写自己的人生Step from coding, code my future Step from coding, code my future BeihangS28

28、GuessNumber.exeGuessNumber.exe如何写一个的程序,能快速地猜对这个数?如何写一个的程序,能快速地猜对这个数?运行第一个应用程序运行第一个应用程序BeihangS2935211506-35211506-钮卿钮卿- -拱猪拱猪 (文档文档)38211114-38211114-高维高维- -五子棋五子棋(心得体会心得体会)10211006-10211006-王亦凡王亦凡- -斗地主斗地主(大作业总结大作业总结)再来看一些学长写的应用程序再来看一些学长写的应用程序BeihangS30l什么是计算机?什么是计算机?幸运的软件学院学生!幸运的软件学院学生!计算机是一种能以人算机

29、是一种能以人类计算速度的数百万(甚至数十算速度的数百万(甚至数十亿)倍倍执行行计算和算和逻辑判断的判断的设备1+2+3+100=?(小高斯的故事)(小高斯的故事)4*(1-1/3+1/5-1/7+(-1)n/(2*n+1)+)=?(seeprogram)计算机在一系列指令的控制下算机在一系列指令的控制下处理数据理数据BeihangS31l什么是软件?什么是软件?幸运的软件学院学生!幸运的软件学院学生!软件:文档软件:文档 + + 程序程序飞机翱翔;精确制导;交通控制;全球互联、世界村落;飞机翱翔;精确制导;交通控制;全球互联、世界村落;数字家庭与生活;统计分析;软件无处不在;数字家庭与生活;统

30、计分析;软件无处不在;BeihangS321.1.什么是软件工程?什么是软件工程?2.2.什么是程序?什么是程序?3.3.软件人才的未来?软件人才的未来?幸运的软件学院学生!幸运的软件学院学生!Answer:Answer:1. 1. 用工程化的方法开发软件,用工程化的方法开发软件,2. 2. (算法数据结构):指令集,控制计(算法数据结构):指令集,控制计算机的有序动作算机的有序动作3. 3. 做什么:客户需求、项目管理、风险管做什么:客户需求、项目管理、风险管理、系统设计、程序设计与开发、文档理、系统设计、程序设计与开发、文档管理、软件测试、软件监理、软件系统管理、软件测试、软件监理、软件系

31、统配置、软件营销、客户服务、配置、软件营销、客户服务、BeihangS33l大一第一学期就开设本门课程大一第一学期就开设本门课程l先进的程序设计方法先进的程序设计方法l学习一流的编程机制(经典:结构化;现代:面向对象)学习一流的编程机制(经典:结构化;现代:面向对象)l先进的语言先进的语言l学习一流的语言学习一流的语言lC/C+C/C+是程序员的语言是程序员的语言lC/C+C/C+是最常用的软件开发语言之一是最常用的软件开发语言之一l掌握结构化编程方法,面向对象的编程思想,掌握结构化编程方法,面向对象的编程思想, C/C+C/C+语言语言是大家以后在软件(技术)领域从业的重要法宝,是大家是大家

32、以后在软件(技术)领域从业的重要法宝,是大家吃饭的工具。吃饭的工具。幸运的软件学院学生!幸运的软件学院学生!BeihangS34l授课对象:软件工程本科生授课对象:软件工程本科生l课程性质:软件工程专业(基础)课课程性质:软件工程专业(基础)课l学习本课程达到的目标学习本课程达到的目标u了解程序设计的基本方法。了解程序设计的基本方法。u全面了解全面了解过程式编程过程式编程与与面向对象编程面向对象编程的原理和方法。的原理和方法。u掌握掌握C/C+C/C+语言的基本内容。语言的基本内容。u掌握程序设计的基本方法与编程技巧。掌握程序设计的基本方法与编程技巧。u养成良好的编程风格和习惯。养成良好的编程

33、风格和习惯。u通过具体的案例分析和实践训练,掌握通过具体的案例分析和实践训练,掌握高质量的编程方法高质量的编程方法,具备处理实际问题的思维方法与基本能力,为进一步学习和具备处理实际问题的思维方法与基本能力,为进一步学习和理解软件工程知识、进行实际项目的开发打下基础。理解软件工程知识、进行实际项目的开发打下基础。课程的性质与目标课程的性质与目标BeihangS35l课程教材课程教材uP.J.Deitel,H.M.Deitel,C+大学教程大学教程-第七版,第七版,(C+HowtoProgram,SeventhEdition),电子工业出版社电子工业出版社l主要参考书主要参考书u潭浩强,潭浩强,C

34、程序设计程序设计,清华大学出,清华大学出版社版社uBrianW.Kernighan,DennisM.Ritchie著,徐宝文著,徐宝文等译,等译,C程序设程序设计语言计语言(TheCProgrammingLanguage-SecondEdition),机械),机械工业出版社工业出版社教材与主要参考书教材与主要参考书BeihangS36l为何选择本书为何选择本书u不好的书贻害无穷不好的书贻害无穷u一开始就养成良好的编程风格和习惯一开始就养成良好的编程风格和习惯l本书及本课程的安排本书及本课程的安排u掌握结构化的编程方法与技巧掌握结构化的编程方法与技巧u了解面向对象的编程思想了解面向对象的编程思想

35、 l如何阅读本书如何阅读本书u按顺序阅读按顺序阅读u看不懂的往后跳过(不求甚解,豁然开朗)看不懂的往后跳过(不求甚解,豁然开朗)u反复看几遍反复看几遍u把书上的例子认真输入、运行把书上的例子认真输入、运行u练习习题练习习题关于本书与本课程关于本书与本课程BeihangS37刘京欣,刘京欣, , 13240327891 , 13240327891董舒印,董舒印, , 13240371331 , 13240371331助教助教BeihangS38l学习方式学习方式听课看书做作业讨论上机实践听课看书做作业讨论上机实践课外创作考核课外创作考核l课堂要求课堂要求u学习无止境,课堂有纪律学习无止境,课堂有

36、纪律u不迟到、旷课和早退;不允许接听电话;不迟到、旷课和早退;不允许接听电话;不讲话;遵守纪律不讲话;遵守纪律学习方式与考核方式学习方式与考核方式BeihangS39l基本内容基本内容u讲解:基本知识和讲解与分析讲解:基本知识和讲解与分析u实践:(基本习题的练习,经典习题的学习);(根实践:(基本习题的练习,经典习题的学习);(根据课程实际情况,在上本课的学期,以个人或小组方据课程实际情况,在上本课的学期,以个人或小组方式,在机房进行上机实践,不允许打游戏、上网、聊式,在机房进行上机实践,不允许打游戏、上网、聊天,违纪者进行学习警告,扣除分数)天,违纪者进行学习警告,扣除分数)u实际项目的课外

37、编程训练,实际项目的课外编程训练,1年以上年以上l强调实践强调实践“听而易忘,见而易记,做而易懂听而易忘,见而易记,做而易懂”学习方式与考核方式学习方式与考核方式BeihangS40l考核形式与分数比例考核形式与分数比例n1020分:平分:平时上机上机n0510分:分:课堂堂测验n1020分:期末上机分:期末上机n6050分:期末笔分:期末笔试n10分:大作分:大作业(软件件创作;一定代作;一定代码量的量的应用程序,演示效果好,用程序,演示效果好,如如高精度高精度计算器算器(文档文档)、)、万年万年历(文档文档)、小)、小词典、典、ATM、俄、俄罗斯方斯方块、;小;小论文;文;竞赛获得比得比较

38、好的好的奖;.)n010分:分:讨论班(班(课堂知堂知识点分析;上机点分析;上机题分析;程序分析;程序设计方方法与技巧探法与技巧探讨;)n10分:鼓励同学分:鼓励同学们参与出参与出题(包括上机(包括上机题;往年笔往年笔试题分析分析)学习方式与考核方式学习方式与考核方式41 C+ C+,顶天立地的神话,顶天立地的神话序序 言言19821982年,美国年,美国AT&TAT&T公司贝尔实验室的公司贝尔实验室的Bjarne StroustrupBjarne Stroustrup博士博士在在c c语言的基础上引入并扩充了面向对象的概念,发明了语言的基础上引入并扩充了面向对象的概念,发明了种种新的程序语言

39、。为了表达该语言与新的程序语言。为了表达该语言与c c语言的渊源关系,它被命语言的渊源关系,它被命名为名为C+C+。而。而BjarneBjarne被尊称为被尊称为C+C+语言之父。语言之父。Bjarne StroustrupBjarne Stroustrup博士,博士,19501950年出生于丹麦,先后毕业于丹年出生于丹麦,先后毕业于丹麦阿鲁斯大学和英国剑桥大学,麦阿鲁斯大学和英国剑桥大学,AT&TAT&T大规模程序设计研究部门大规模程序设计研究部门负责人,负责人,AT&TAT&T、贝尔实验室和、贝尔实验室和ACMACM成员,现任德州农工大学计成员,现任德州农工大学计算机系首席教授。算机系首席

40、教授。BeihangS42l二十年来,最广泛使用的面向对象语言是二十年来,最广泛使用的面向对象语言是C+,20世纪世纪80年代年代AT&T(AmericanTelephone&TelegraphCo.,美国电话电报公美国电话电报公司司)的的BjarneStroustrup等人开发等人开发l三十年前,人们更多的是先学习三十年前,人们更多的是先学习Pascal和和Basic语言语言lPascal:1971,Prof.Wirth,仅是学习编程的学习用语言仅是学习编程的学习用语言lBasic:1960s,Dartmouth,一种编写简单程序的语言一种编写简单程序的语言lC:1970s,BellLab,

41、DennisRitchie,最初以开发了最初以开发了Unix操作系统操作系统而闻名而闻名lC+比比C语言要强大很多很多,是语言要强大很多很多,是C语言的继承、改进和发展语言的继承、改进和发展lC+正在代替正在代替C语言,但语言,但C语言还将继续若干年,许多语言还将继续若干年,许多C代码需代码需要维护,学好要维护,学好C对对C+的学习和理解是必需的的学习和理解是必需的lC/C+在高效率的应用软件、系统软件开发中具有很强的优势在高效率的应用软件、系统软件开发中具有很强的优势序序 言言BeihangS43lJava语言是语言是20世纪世纪90年代初由年代初由SUN公司公司(2009.4,被被Orac

42、le以以74亿美元收购,软件吃掉硬件的典范亿美元收购,软件吃掉硬件的典范)的的JamesGosling等人开发,等人开发,是基于是基于C+的新语言,主要提供建立可移植性、多媒体支持和的新语言,主要提供建立可移植性、多媒体支持和基于基于Web的网络应用的网络应用lC/C+是在以后学习和工作中编程实践、实际解决问题中常用是在以后学习和工作中编程实践、实际解决问题中常用到的语言到的语言l学好学好C语言相对容易,但学好语言相对容易,但学好C+却要困难得多却要困难得多公司招聘广告,招聘公司招聘广告,招聘5年开发经验的年开发经验的C+程序员程序员(baidu,google:招聘,:招聘,C+)l学好学好C

43、+可更快使用可更快使用Java、其他、其他序序 言言l初学者可以直接学习初学者可以直接学习C/C+吗?吗?l对没有任何编程经验的学生,主要先学习对没有任何编程经验的学生,主要先学习C语言的基本知识及其编语言的基本知识及其编程思想,熟悉过程式的编程思想,并在其中逐步贯彻程思想,熟悉过程式的编程思想,并在其中逐步贯彻C+的知识和的知识和面向对象的编程思想面向对象的编程思想l一开始就要养成一开始就要养成面向对象的概念面向对象的概念lC+不是单纯的面向对象式语言,同时支持过程式和面向对象编程不是单纯的面向对象式语言,同时支持过程式和面向对象编程序序 言言BeihangS45学习要点学习要点l了解计算(

44、计算机)科学的基本概念了解计算(计算机)科学的基本概念l熟悉熟悉C/C+C/C+编程语言编程语言l了解了解C/C+C/C+程序的编程环境程序的编程环境第第1章章计算机与计算机与C+编程简介编程简介BeihangS46l计算机:快速计算并作出逻辑判断的设备计算机:快速计算并作出逻辑判断的设备u硬件(硬件(Hardware):键盘、鼠标、屏幕、):键盘、鼠标、屏幕、CPU、内存、硬盘、内存、硬盘、什么是计算机?什么是计算机?BeihangS47l计算机:快速计算并作出逻辑判断的设备计算机:快速计算并作出逻辑判断的设备u有了计算机,还需要什么?有了计算机,还需要什么?软件软件u软件(软件(softw

45、are):即编写的指令、程序,命令计算机完成操作并):即编写的指令、程序,命令计算机完成操作并作出判断,控制计算机作出判断,控制计算机u广义的软件:代码、文档、产品、服务、市场、文化、管理、广义的软件:代码、文档、产品、服务、市场、文化、管理、l仅有计算机硬件,什么都不能做仅有计算机硬件,什么都不能做l相同的硬件,用不同的软件可做出不同的事,获得不同的收益相同的硬件,用不同的软件可做出不同的事,获得不同的收益l电视机、收音机等产品,是硬件,不用软件,功能单一,对所有的人电视机、收音机等产品,是硬件,不用软件,功能单一,对所有的人都是一样的效果都是一样的效果l计算机:听音乐、看电影、聊天、上网查

46、信息、编程、打游戏、计算机:听音乐、看电影、聊天、上网查信息、编程、打游戏、l硬件价格硬件价格、软件价格软件价格、服务价格服务价格、数据、数据-信息信息-知识的价格知识的价格lC+语言是流行的软件开发工具语言是流行的软件开发工具什么是计算机?什么是计算机?BeihangS48什么是计算机?什么是计算机?软件软件硬件硬件程序程序语言语言广义广义“计算机计算机”精神精神物理物理知识知识文化文化科学科学文字文字人人BeihangS49计算机语言计算机语言机器语言机器语言汇编语言汇编语言高级语言高级语言例:将加班工资加到基本工资中例:将加班工资加到基本工资中+1300042774+1400593419

47、+1200274027loadbasePayaddoverTimePaystoregrossPaygrossPay=basePay+overTimePay;BeihangS50l软件软件vs程序设计语言程序设计语言楼房楼房vs建筑材料建筑材料文章文章vs文字文字lCC+是高级语言是高级语言(更准确地说,是中级语言)(更准确地说,是中级语言)l其它高级语言:其它高级语言:Fortran,Cobol,Pascal(文字、图像、(文字、图像、)l极富生命力的极富生命力的C/C+程序开发工具程序开发工具(环境)(环境)TurboC2,DevC+,Codeblocks,BorlandC3.1,Visua

48、lC+,VisualStudio,(沙、兽甲、竹片、布、纸、文档编辑软件、(沙、兽甲、竹片、布、纸、文档编辑软件、)计算机语言与程序设计计算机语言与程序设计好的软件好的软件程序设计程序设计语言语言程序开发程序开发工具工具机器语言机器语言汇编语言汇编语言高级语言高级语言BeihangS51计算机语言与程序设计计算机语言与程序设计BeihangS52lC语言:语言:1972年年贝尔实验室贝尔实验室DennisRitchie最初作为最初作为Unix操作系统的开发语言闻名于世操作系统的开发语言闻名于世l20世纪世纪70年代末,年代末,C语言演变为现在语言演变为现在“传统传统C”、“经典经典C”,197

49、8年年PrenticeHall公司出版的公司出版的TheCProgrammingLanguage引起人们对引起人们对C语言的广泛关注语言的广泛关注lC+是是C语言的发展语言的发展l大多数操作系统都是用大多数操作系统都是用C/C+写成的写成的l基于基于C+的新语言,的新语言,Java语言是语言是20世纪世纪90年代初由年代初由SUN公公司司(2009.4,被被Oracle以以74亿美元收购,软件吃掉硬件的典亿美元收购,软件吃掉硬件的典范范)的的JamesGosling等人开发,主要提供建立可移植性、等人开发,主要提供建立可移植性、多媒体支持和基于多媒体支持和基于Web的网络应用的网络应用CC+的

50、发展的发展53写第一个程序:打印(屏幕输出)一行文本写第一个程序:打印(屏幕输出)一行文本/Fig.1.1:fig01_01.cpp(fig01_01c.c)#includeintmain()std:coutHelloWorld!n;return0;#includemain()printf(HelloWorld!n);cout与与printf的区别的区别?54写第一个程序:打印(屏幕输出)一行文本写第一个程序:打印(屏幕输出)一行文本/Fig.1.1:fig01_01.cpp(fig01_01c.c)/MyfirstC+program#include/functionmainbeginspro

51、gamexecutionintmain()std:coutHelloWorld!n;return0;/*indicatethatprogramendssuccessfully*/endfunctionmain注释行:注释行:/,/*注释语句注释语句*/预处理指令,预处理指令,载入载入iostream(iostream.h)程序入口(主函数):仅有一个程序入口(主函数):仅有一个函数函数function(函数的基本形式函数的基本形式)函数体函数体:输出流对象输出流对象:cout流插入运算符流插入运算符:转义符(格式控制符号)转义符(格式控制符号):n分号,表示一行语句的结束分号,表示一行语句的结

52、束函数返回正确值并退出函数返回正确值并退出:return0Output:HelloWorld!55C/C+程序开发步骤程序开发步骤编辑编辑Edit载入载入Load编译编译Compile执行执行Execute程序代码的录入程序代码的录入, ,生成源程序生成源程序* *.c, .c, * *.cpp.cpp( (注意及时保存文件!注意及时保存文件!) )语法分析查错,翻译语法分析查错,翻译生成目标程序生成目标程序* *.obj,.obj, * *.o.o(查错要耐心!)(查错要耐心!)与其它目标程序或库与其它目标程序或库链接装配链接装配, ,生成可执行生成可执行程序程序* *.exe.exe(注意

53、环境配置)(注意环境配置)/Fig.1.1:fig01_01.cpp/MyfirstC+program#includeintmain()std:coutHelloWorld!n;return0;/*indicatethatprogramendssuccessfully*/预处理预处理preProcessing连连(链链)接接Link把可执行程序把可执行程序* *.exe.exe放入内存放入内存把需要预处理的文本进把需要预处理的文本进行替换行替换在在CPUCPU控制下,控制下,逐条执行程序指令逐条执行程序指令BeihangS56C/C+程序开发步骤程序开发步骤源程序源程序目标程序目标程序可执行程

54、序可执行程序内容内容程序语言程序语言机器语言机器语言机器语言机器语言可执行可执行不可以不可以不可以不可以可以可以文件名后缀文件名后缀*.c,*.cpp*.obj,*.o*.exe有正确编辑编译有错?连接执行结果正确?结束开始源程序源程序file.cfile.cpp目标程序目标程序file.objfile.o库函数库函数及其它及其它目标程序目标程序可执行可执行目标程序目标程序file.exe不正确无工作编辑编辑载入载入编译编译执行执行预处理预处理连接连接BeihangS57l看书看书u复习:从开始第一章结束复习:从开始第一章结束(看不懂的跳过,往后看!看不懂的跳过,往后看!)l自测练习自测练习a

55、ll(看不懂的对照答案进行学习)(看不懂的对照答案进行学习)l习题习题alll预习预习l上机实践题(上机实践题(1):):u会安装会安装使用使用DevC+(推荐!推荐!)orCodeBlocksorVisualC+(暂不推荐)(暂不推荐)orVisualStudio(暂不推荐)(暂不推荐)or其他其他u会建立、编辑、保存文件会建立、编辑、保存文件u会在显示器上面打印各种字符串会在显示器上面打印各种字符串u会编译、执行程序会编译、执行程序第第1章作业章作业BeihangS58l自测练习自己完成,并自己对照答案进行学习自测练习自己完成,并自己对照答案进行学习l作业类型作业类型u随堂检查,每个同学准备随堂检查,每个同学准备A4白纸,随堂完成作业,课代表按学号白纸,随堂完成作业,课代表按学号排序将作业收齐交到指定地点。排序将作业收齐交到指定地点。u课后作业,主要是编程实践,在计算机上编写程序,同学按指定课后作业,主要是编程实践,在计算机上编写程序,同学按指定格式提交到学院服务器。格式提交到学院服务器。u课后大作业。本章学习完后提交到服务器。课后大作业。本章学习完后提交到服务器。l当场提交或另外通知。当场提交或另外通知。作业说明作业说明

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号