C++-高级语言程序设计_第1章.ppt

上传人:安*** 文档编号:78981989 上传时间:2023-03-19 格式:PPT 页数:52 大小:2.37MB
返回 下载 相关 举报
C++-高级语言程序设计_第1章.ppt_第1页
第1页 / 共52页
C++-高级语言程序设计_第1章.ppt_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《C++-高级语言程序设计_第1章.ppt》由会员分享,可在线阅读,更多相关《C++-高级语言程序设计_第1章.ppt(52页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计1高级语言程序设计高级语言程序设计信息工程学院信息工程学院电子工程系电子工程系主讲:王帅群主讲:王帅群第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计2联系方式教师:王帅群办公室:信息楼515电话:021-38282851 手机:15801930475邮箱:第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计3高级语言程序设计高级语言程序设计C/C+基础知识:面向过程的程序设计基础知识:面向过程的程序设计面向对象程序设计面向对象程序设计C+应用:类和对象,

2、继承与派生应用:类和对象,继承与派生程序设计程序设计与与开发开发C#应用:由应用:由C+衍生,继承了衍生,继承了VB的可视化操作的可视化操作课程体系结构课程体系结构课程介绍课程介绍高级语言程序设计高级语言程序设计4专业基础课,专业基础课,54学时学时教学目标教学目标掌握掌握C+程序设计语言的基本语法规则程序设计语言的基本语法规则掌握过程化编程方法掌握过程化编程方法,建立编程的思维,建立编程的思维培养分析培养分析具体问题具体问题并进行并进行编程表达的编程表达的能力能力拓展编程表达的方法,学会编制自己的应用程序拓展编程表达的方法,学会编制自己的应用程序先修课程先修课程大学计算机基础、线性代数大学计

3、算机基础、线性代数课程性质课程性质高级语言高级语言程序设计程序设计课程介绍课程介绍课程结构第1章 C+程序设计概述 第2章 C+的基础知识第3章 顺序结构程序设计 第4章 选择结构程序设计 第5章 循环结构程序设计 第6章 数组 第7章 函数 第8章 编译预处理 第9章 结构体和共同体 第10章 指针 第11章 文件 (3课时)课时)(6课时)课时)(3课时)课时)(6课时)课时)(6课时)课时)(9课时)课时)(6课时)课时)(1课时)课时)(3课时)课时)(9课时)课时)(2课时)课时)课程介绍课程介绍高级语言程序设计高级语言程序设计6概述和概述和C+基础知识(基础知识(12章)章)程序设

4、计语言的发展、算法程序设计语言的发展、算法数据类型、常量和变量、表达式数据类型、常量和变量、表达式程序的基本结构(程序的基本结构(35章)章)顺序、选择顺序、选择、循环、循环数据的组织方式(数据的组织方式(6、9、11章,章,10.9节)节)数组数组、结构体和共用体、结构体和共用体、文件、链表、文件、链表程序的模块化(程序的模块化(78章)章)函数及其函数及其调用调用编译预处理编译预处理数据的调用和传递(数据的调用和传递(10章)章)指针指针 教学内容教学内容重点重点难点难点课程介绍课程介绍高级语言程序设计高级语言程序设计7纪律纪律要求要求按时上课,不得迟到、早退、课上吃东西等按时上课,不得迟

5、到、早退、课上吃东西等听课时有问题随时提出听课时有问题随时提出跟随课堂计划,做好课后复习跟随课堂计划,做好课后复习按时独立完成作业按时独立完成作业学习要求学习要求u多上机练习,增进对知识的理解多上机练习,增进对知识的理解u欢迎欢迎同学之间或者跟同学之间或者跟我交流我交流探讨探讨课程介绍课程介绍高级语言程序设计高级语言程序设计8考核方式考核方式考试成绩考试成绩(占占70%),闭卷考试,闭卷考试平时成绩平时成绩(占占30%)学习要求学习要求项目单次分值次数总计备注考勤5735随机点名,缺勤一次扣5分,有事请假作业31545A:4,A-B+:2.5,BB-:2,其他:1,未交:0课堂表现/20回答问

6、题、纪律等表现合计100课程介绍课程介绍高级语言程序设计高级语言程序设计9教材教材C+程序设计实用教程程序设计实用教程金世双等金世双等参考书目参考书目C程序设计程序设计(第四版第四版)谭浩强谭浩强C+程序设计程序设计谭浩强谭浩强拓展阅读书目拓展阅读书目C+primer plus(第六版第六版)Stephan Prata著著教材及参考书教材及参考书课程介绍课程介绍1.1程序设计语言的发展历史19461946年年2 2月月1414日日注定是一个不同寻常的注定是一个不同寻常的日子,在这一天,世界日子,在这一天,世界上第一上第一台电台电脑脑ENIACENIAC(埃尼阿克)在(埃尼阿克)在美国宾夕法尼亚

7、大学诞生了。他是如此的美国宾夕法尼亚大学诞生了。他是如此的简陋,简陋,如此如此的的笨重,如此笨重,如此的庞大令人心神恐惧。的庞大令人心神恐惧。可是,就是可是,就是这台这台大家伙,让大家伙,让人类人类步入了步入了计算机文明的时代。而伴随着它的计算机文明的时代。而伴随着它的新生,另新生,另一样孕育已久的事物也一样孕育已久的事物也开始开始快速成长,它快速成长,它就是计算机就是计算机语言,也就是语言,也就是我们所说的程序设计语言、编我们所说的程序设计语言、编程语言程语言。而今。而今距离第一台计算机的诞生已经过去距离第一台计算机的诞生已经过去了了7070年年,计算机,计算机不断在不断在变变化,变得化,变

8、得越来越越来越小,功能小,功能也越变越强大。而随它孕育而生的计算机语言也也越变越强大。而随它孕育而生的计算机语言也同样同样不甘示弱,甚至不甘示弱,甚至更多于前者。发明计算机的人类精英们谁也不曾更多于前者。发明计算机的人类精英们谁也不曾想到,想到,在在这这短短短短7070年中所诞生的编程语言竟然多达年中所诞生的编程语言竟然多达25002500种种。各种语言相互。各种语言相互借鉴,借鉴,关系错综复杂,共同关系错综复杂,共同绘制出属于一个时代的人类绘制出属于一个时代的人类奇迹,一奇迹,一个时代的文明密个时代的文明密码。码。第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设

9、计11类类过程过程面向机器的语言面向机器的语言面向机器的语言面向机器的语言高级语言(面向对象)高级语言(面向对象)高级语言(面向过程)高级语言(面向过程)汇编语言(符号语言)汇编语言(符号语言)机器语言机器语言低低级级语语言言1.1 程序设计语言程序设计语言的发展历史的发展历史什么是程序设计语言什么是程序设计语言 一组用来定义计算机程序的语法规则一组用来定义计算机程序的语法规则0和和1组成的指令组成的指令英文字母和数字组成的指令英文字母和数字组成的指令Fortran、Basic、C语言等语言等C+、JAVA等等第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计12

10、1.1 程序设计语言程序设计语言的发展历史的发展历史程序设计语言的发展历史程序设计语言的发展历史1906年,年,发明真空三极管发明真空三极管1946年,埃尼阿克号诞生年,埃尼阿克号诞生1950s,汇编语言出现,汇编语言出现汇编程序汇编程序第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计131.1 程序设计语言程序设计语言的发展历史的发展历史程序设计语言的发展历史程序设计语言的发展历史1957年,年,Fortran语言诞生语言诞生 “解释解释”和和“编译编译”1960年,年,ALGOL 60,结构化程序设计语言,结构化程序设计语言1960s中后期,软件危机中后期,

11、软件危机1972年,丹尼斯年,丹尼斯里奇,里奇,C语言诞生,现代程序语言语言诞生,现代程序语言1981年,年,Smalltalk-80,面向对象语言的里程碑,面向对象语言的里程碑1983年,本贾尼,年,本贾尼,C+语言,语言,“包含类的包含类的C语言语言”VC+、BC+、AT&T C+等等Objective-C,面向,面向iOS系统系统第一次第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计141.1 程序设计语言程序设计语言的发展历史的发展历史C+的发展的发展1983年,年,C+语言诞生语言诞生1985年,第一年,第一个个C+Release E发布。发布。第一个

12、第一个C+编译器编译器CFront发布,发布,1.0。本贾尼本贾尼The C+Programming Language1986年,年,C+第一个商业移植第一个商业移植CFront 1.1,Glockenspiel。1987年,年,CFront Release 1.2发布。发布。1990年,年,Borland C+推出推出1993年,年,Visual C+1.0推出推出 Borland C/C+4.0仓促推出,陷入困境仓促推出,陷入困境 1998年,年,Visual C+6.0推出。推出。.首个首个C+国际标准:国际标准:ISO/IEC 14882:1998 ISO/IEC 14882:2003

13、、2011(C+11)第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计151.2 算法概述算法概述程序和程序设计程序和程序设计程序设计的两程序设计的两个基础个基础 C+语法规则和解题方法步骤语法规则和解题方法步骤一个程序的两方面一个程序的两方面对象和对象之间的关系。对象和对象之间的关系。在程序中在程序中要用要用到哪些数到哪些数据以及这些数据的类型和数据的据以及这些数据的类型和数据的组织形式组织形式对对操作的描述。操作的描述。即要求计算机进行操作的即要求计算机进行操作的步骤步骤程序设计的任务程序设计的任务 分析方法和步骤,用计算机语言记录分析方法和步骤,用计算机语

14、言记录程序设计的步骤程序设计的步骤 认识问题、设计算法、编程、调试和测试认识问题、设计算法、编程、调试和测试数据结构数据结构算法算法第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计161.2 算法概述算法概述算法的定义和特征算法的定义和特征算法:算法:解决某一问题的一组明确步骤的有序集合解决某一问题的一组明确步骤的有序集合使用算法的例子使用算法的例子1+2+3+4+.+100=?求解三元一次方程组求解三元一次方程组算法的特征算法的特征输入:输入:0个或个或0个以上输入量个以上输入量输出:输出:一个或一个以上输出量一个或一个以上输出量明确性:明确性:无歧义无歧义有

15、限性:有限性:有限的步骤内完成有限的步骤内完成有效性:有效性:可行性,可实现可行性,可实现第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计171.2 算法的概述算法的概述算法的定义和特征算法的定义和特征算法需考虑的几点算法需考虑的几点正确性:正确性:满足用户需求满足用户需求可读性:可读性:自己能看懂,别人也能看懂自己能看懂,别人也能看懂健壮健壮性:性:容错能力容错能力时间复杂度:时间复杂度:计算工作量计算工作量空间复杂度:空间复杂度:消耗的内存空间消耗的内存空间思考:思考:A:一个问题只有一种解决方法:一个问题只有一种解决方法B:一:一个个问题可以有多种解决方法

16、问题可以有多种解决方法算法的选择算法的选择第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计181.2 算法的概述算法的概述简单的算法举例简单的算法举例例例1:1231000最原始的方法:最原始的方法:步骤步骤1:先求:先求12,得到结果,得到结果2。步骤步骤2:将步骤:将步骤1得到的乘积得到的乘积2再乘以再乘以3,得到结果,得到结果6 步骤步骤3:将:将6再乘以再乘以4,得,得24。步骤步骤4:将:将24再乘以再乘以5,得,得120。这就是最后的结果。这就是最后的结果。改进的算法:改进的算法:设设变量变量p为为被乘数被乘数 变量变量i为为乘数乘数 用用循环算法求

17、循环算法求结果结果太繁琐第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计191.2 算法的概述算法的概述简单的算法举例简单的算法举例例例1:1231000改进的算法:改进的算法:S1:使:使p=1,或写成,或写成1p S2:使:使i=2,或写成,或写成2i S3:使:使p与与i相乘,乘积仍放在变量相乘,乘积仍放在变量p中中 可可表示为:表示为:p*ip S4:使:使i的值加的值加1,即,即i+1i S5:如果:如果i不大于不大于5,返回重新执行,返回重新执行S3;否则否则,算法,算法结束。结束。最后最后得到得到p的值就是的值就是 5!的值的值若是若是100010

18、00,就是,就是10001000!第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计201.2 算法的概述算法的概述简单的算法举例简单的算法举例例例2:有:有50个学生,要求将成绩在个学生,要求将成绩在80分以上的学生的学分以上的学生的学号和成绩号和成绩输出。输出。S1:1i S2:如果如果gi80,则,则输出输出ni和和gi,否则不输出,否则不输出 S3:i+1i S4:使:使i的值加的值加1,即,即i+1i S5:如果如果i50,返回到步骤,返回到步骤S2,继续,继续执行执行 否则否则,算法结束,算法结束第第1 1章章 C+C+程序设计概述程序设计概述高级语言

19、程序设计高级语言程序设计211.2 算法的概述算法的概述简单的算法举例简单的算法举例例例3:求:求规律:规律:第第1项的分子分母都是项的分子分母都是1 第第2项的分母是项的分母是2,以后每一项的分母子都是前一,以后每一项的分母子都是前一项的分母加项的分母加1 笫笫2项前的运算符为项前的运算符为“-”,后一项前面的,后一项前面的运算符都运算符都与与前一项前的运算符前一项前的运算符相反相反第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计221.2 算法的概述算法的概述简单的算法举例简单的算法举例例例3:求:求S1:sign=1S2:sum=1S3:deno=2S4:

20、sign=(-1)*signS5:term=sign*(1/deno)S6:sum=sum+termS7:deno=deno+1S8:若:若deno100返回返回S4;否;否则则算法算法结结束束9999次循环后次循环后sumsum的值就是所要求的结果的值就是所要求的结果sign当前项符号当前项符号term当前项的值当前项的值sum当前各项的和当前各项的和deno当前项分母当前项分母-1-1/21-1/23第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计231.2 算法的概述算法的概述算法的表示算法的表示算法的表示形式算法的表示形式自然语言自然语言 通俗易懂,但容

21、易产生歧义通俗易懂,但容易产生歧义传统流程图传统流程图结构化流程图结构化流程图伪代码伪代码形式化方法形式化方法起止框起止框输入输出框输入输出框判断框判断框流程线流程线处理框处理框连接点连接点第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计241.2 算法的概述算法的概述算法的表示算法的表示基本结构基本结构顺序结构顺序结构选择结构选择结构循环结构循环结构例题例题P7第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计251.3 上机指导上机指导实验暴露的常见问题实验暴露的常见问题工程和文件名用汉字或数字开头命名工程和文件名用汉字或数字开

22、头命名int main()忘记括号忘记括号程序语句未用程序语句未用.括起来括起来cout语句的语句的endl前忘记加前忘记加“5开始2it*iti+1i结束NY例例1的算法用流程图表示。的算法用流程图表示。求求12345第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计27例例3的的算法用流程图表示算法用流程图表示。1sum2deno1sign(-1)*signsignsign*(1/deno)termsum+termsumdeno+1denoNdeno100Y输出sum结束开始第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计28例

23、例2的算法用流程图表示。的算法用流程图表示。有有50个学生,要求将成绩个学生,要求将成绩在在80分以上的学生的学号分以上的学生的学号和成绩输出。和成绩输出。结束Y1i开始gi80输出ni、gii+1ii50NYNS1:1iS2:如果如果gi80,则输出,则输出ni和和gi,否则不否则不输出输出S3:使使i的值加的值加1,即,即i+1iS4:如果如果i50,返回到步骤,返回到步骤S2,继续继续执行执行,否则算法否则算法结束结束第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计291.3 上机指导调试和运行环境:调试和运行环境:Windows下的下的Visual C+

24、6.0集成集成开发环境开发环境第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计30Visual C+6.0主界面工程管理面板工作区输出窗口菜单条工具栏第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计31菜单栏菜单栏(1)文件菜单)文件菜单(2)编辑菜单)编辑菜单(3)查看菜单)查看菜单(4)插入菜单)插入菜单(5)工程菜单)工程菜单(6)组件菜单)组件菜单(7)工具菜单)工具菜单第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计32工具栏工具栏工程管理面板工程管理面板第第1 1章章 C+C+程序设计概

25、述程序设计概述高级语言程序设计高级语言程序设计33创建工程项目第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计34创建工程项目第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计35创建工程项目第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计36创建工程项目第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计37C/C+的输入输出函数C语言的输入输出函数头文件包含stdio.h文件 printf函数:C语言的输出函数 scanf函数:C语言的输入函数第第1 1章章 C+C+程

26、序设计概述程序设计概述高级语言程序设计高级语言程序设计38C/C+的输入输出函数C+语言的输入输出函数头文件包含iostream.h文件 cout函数:C+语言的输出函数 cin函数:C+语言的输入函数第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计391.4 最简单的C+程序举例例1.1 要求在屏幕上输出以下一行信息。Hello World!解题思路:解题思路:在主函数中在主函数中用用cout函数函数原样输出以上文原样输出以上文字。字。第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计401.4 最简单的C+程序举例#includ

27、e int main()cout”Hello World!”endl);return 0;函数的名字,表示函数的名字,表示主函数主函数C/C+程序程序必须有一个必须有一个 main 函数函数第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计411.4 最简单的C+程序举例#include int main()cout”Hello World!”endl);return 0;主函数主函数类型类型第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计421.4 最简单的C+程序举例#include int main()cout”Hello W

28、orld!”endl);return 0;函数体函数体第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计431.4 最简单的C+程序举例#include int main()cout”Hello World!”endl);return 0;输出函数输出函数输出语句输出语句第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计441.4 最简单的C+程序举例#include int main()cout”Hello World!”endl);return 0;输出语句输出语句第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高

29、级语言程序设计451.4 最简单的C+程序举例#include int main()cout”Hello World!”endl);return 0;换行符换行符第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计461.4 最简单的C+程序举例#include int main()cout”Hello World!”endl);return 0;当当main函数执行结束前函数执行结束前将整数将整数0作为函数值作为函数值第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计471.4 最简单的C+程序举例#include int main(

30、)cout”Hello World!”endl);return 0;表示语句结束表示语句结束用到函数库中的输入输出函数用到函数库中的输入输出函数时时第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计481.4 最简单的C+程序举例C+语言允许用两种注释方式:/:单行注释u可单独占一行u可出现在一行中其他内容的右侧/*/:块式注释u可包含多行第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计49例1.2 求两个整数之和。解题思路:解题思路:u设置设置3个变量个变量ua和和b用来存放两个整数用来存放两个整数usum用来存放和数用来存放和数

31、u用赋值运算符用赋值运算符“=”把结果传送给把结果传送给sum第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计50#include int main()int a,b,sum;a=123;b=456;sum=a+b;cout”sum is”sumendl;return 0;定义整型变量定义整型变量a,b,sum对变量对变量a,b赋值赋值将将a与与b的的和赋给和赋给sum第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计51#include int main()int a,b,sum;a=123;b=456;sum=a+b;cout”

32、sum is”sumendl;return 0;用用sum的值的值替代替代希望输出的字符希望输出的字符第第1 1章章 C+C+程序设计概述程序设计概述高级语言程序设计高级语言程序设计52本章总结本章总结高级语言和低级语言高级语言和低级语言程序设计语言的发展历史程序设计语言的发展历史汇编、解释和编译汇编、解释和编译程序的两个方面程序的两个方面算法算法的定义和特征、表示的定义和特征、表示传统流程图传统流程图重点重点作业作业1.画出画出1231000的流程图的流程图(用传统流程图用传统流程图)2.画画出出 的流程图的流程图(用用N-S图图)3.任意任意给定给定3个数个数a、b、c,按从大到小的顺序排列,画出,按从大到小的顺序排列,画出流程图流程图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com