C++大学基础教程第1章_第1页
C++大学基础教程第1章_第2页
C++大学基础教程第1章_第3页
C++大学基础教程第1章_第4页
C++大学基础教程第1章_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023/10/6北京邮电大学信通院网络搜索中心1C++大学基础教程第1章C++初步

北京邮电大学信通院 网络搜索中心2023/10/6北京邮电大学信通院网络搜索中心-2-自我介绍主讲教师 徐雅静

模式识别实验室

主校区教3-803联系方式 xyj@2023/10/6北京邮电大学信通院网络搜索中心-3-什么是程序设计?用计算机识别的语言对一个问题求解的过程。语法、关键字、逻辑2023/10/6北京邮电大学信通院网络搜索中心-4-如何学习程序设计?

学英语:

LettersWordsSentencesParagraphsarticles(ListenandTalk)

程序设计VariablesStatementsFunctionsClassprogramslogicGrammerlogicGrammerstructurestructure2023/10/6北京邮电大学信通院网络搜索中心-5-第一章C++入门1.1程序设计语言的发展1.2面向过程的程序设计1.3面向对象的程序设计1.4C++的诞生1.5程序开发过程1.6简单的C++程序2023/10/6北京邮电大学信通院网络搜索中心61.1程序设计语言的发展

2023/10/6北京邮电大学信通院网络搜索中心-7-1.1程序设计语言的发展机器语言

简单的“0”和“1”的组合,硬件相关。汇编语言

将机器语言映射为一些可以被人们读懂的助记符,如“ADD”、“SUB”等,与硬件相关。高级语言

接近自然语言,与硬件无关。2023/10/6北京邮电大学信通院网络搜索中心-8-1.1程序设计语言的发展高级编程语言:1、面向过程的语言procedure

BASIC、PASCAL、C

2、面向对象的语言Object

C++、JAVA、C#*脚本语言:

Python、JavaScript、ASP、PHP、Perl等

2023/10/6北京邮电大学信通院网络搜索中心-9-1.1程序设计语言的发展例如:要向屏幕打印一个“A”字符

1、BASIC语言:PRINT“A”2、PASCAL语言:writeln(‘A’);3、C语言: printf(“A”);4、C++语言:cout<<“A”;5、JAVA语言:System.out.print("A");2023/10/6北京邮电大学信通院网络搜索中心10编程逻辑==编程思想大致可分为两类

——面向过程?

——面向对象?解决问题的思路和方法。2023/10/6北京邮电大学信通院网络搜索中心-11-1.2面向过程的程序设计

2023/10/6北京邮电大学信通院网络搜索中心-12-1.2面向过程的程序设计解决一般小规模的问题的思路(10万行以内)

例1:5+3-4+6=?例2:两个数字x、y中找出最大的一个?例3:1+2+3+…+n=?方法:顺序、选择、循环2023/10/6北京邮电大学信通院网络搜索中心-13-1.2面向过程的程序设计模块

就是解决一个部分问题的方法。多个模块组合在一起,用来解决一个完整的问题。

例1:三个数字x、y、z中找出最大的一个?

例2:求sinx+cosx的导数2023/10/6北京邮电大学信通院网络搜索中心-14-1.2面向过程的程序设计主要思想自顶向下、逐步求精

一个计算机程序可以看成是由一系列任务组成的,任何一项任务如果过于复杂就将其分解成一系列较小的子任务,直至每一项任务都很小,很容易解决。

例如:攒机的过程2023/10/6北京邮电大学信通院网络搜索中心-15-1.2面向过程的程序设计不足:

1、结构化编程将数据和过程相分离;2、结构化编程对代码重用支持不够。可重用思想就是创建一些已知属性的组件,然后插入到自己的程序中。2023/10/6北京邮电大学信通院网络搜索中心-16-1.3面向对象的程序设计

2023/10/6北京邮电大学信通院网络搜索中心-17-1.3面向对象的程序设计面向对象的程序设计将数据和处理数据的过程当成一个整体——对象。例如:购买一台笔记本2023/10/6北京邮电大学信通院网络搜索中心-18-1.3面向对象的程序设计1)封装

由对象的概念支持。只需知道外部接口,不需知道内部实现,就可以使用的特性。2)继承由类的概念支持。利用已有的成果进行扩展,充分体现了代码重用。

3)多态

相同的代码,运行时表现不同。2023/10/6北京邮电大学信通院网络搜索中心-19-1.4C++的诞生

2023/10/6北京邮电大学信通院网络搜索中心-20-1.4C++的诞生

C++语言从C语言的基础上发展起来的C语言历史:1、贝尔实验室的DennisRitchie开发2、在B语言的基础3、作为Unix操作系统的开发语言

优点:1、与硬件无关2、设计严谨2023/10/6北京邮电大学信通院网络搜索中心-21-1.4C++的诞生C语言之父dennisRitchieTheCProgrammingLanguage2023/10/6北京邮电大学信通院网络搜索中心-22-1.4C++的诞生C语言是一门面向过程的程序语言优点:1、可直接访问内存2、程序运行效率高3、可移植性好缺点:1、类型检查机制较弱2023/10/6北京邮电大学信通院网络搜索中心-23-1.4C++的诞生

C++语言的优点(相对于C语言):

1、简化程序复杂性2、促进代码重用3、使用先进的面向对象技术

2023/10/6北京邮电大学信通院网络搜索中心-24-1.4C++的诞生

C++之父BjarnestroustrupTheC++ProgrammingLanguage2023/10/6北京邮电大学信通院网络搜索中心-25-1.4C++的诞生

C++语言是从C语言发展演变而来。C++包含了整个C,C是建立C++的基础。C++包含C的所有特征、属性、优缺点,并添加了面向对象的支持。C++语言C语言面向对象2023/10/6北京邮电大学信通院网络搜索中心-26-1.5程序开发过程2023/10/6北京邮电大学信通院网络搜索中心-27-1.5程序开发过程源程序:.cpp

目标程序:.obj

可执行程序:.exe机器识别的二进制代码2023/10/6北京邮电大学信通院网络搜索中心-28-1.5程序开发过程翻译程序:将源代码

目标程序汇编程序:将汇编语言转化成二进制代码编译程序:将源代码转发成二进制代码,全部翻译后,再执行解释程序:将源代码转发成二进制代码,翻译一句,执行一句。2023/10/6北京邮电大学信通院网络搜索中心-29-1.5程序开发过程链接程序将目标程序

可执行程序具体:将多个目标文件和需要的系统资源,链接成一个文件。2023/10/6北京邮电大学信通院网络搜索中心-30-1.6简单的C++程序2023/10/6北京邮电大学信通院网络搜索中心-31-1.6简单的C++程序集成环境

VC++6.0VS2003

VisualStudio2005VS2008VS2010VS20122023/10/6北京邮电大学信通院网络搜索中心-32-1.6简单的C++程序操作步骤1、新建一个工程

1)启动VS20052)新建一个console工程3)编写源程序2、编译和连接

编译:compile(Ctrl+F7)

链接:Build(F7)3、运行使用的命令:Ctrl+F52023/10/6北京邮电大学信通院网络搜索中心-33-1.6简单的C++程序/***************************************程序文件:ch1_1.cpp程序功能:在屏幕上输出helloworld!作者:XXX创建时间:XX年XX月XX日***************************************/

#include

<iostream>

usingnamespace

std;

void

main(){cout<<"WelcometoBupt!"<<endl;}注释编译预处理程序主体2023/10/6北京邮电大学信通院网络搜索中心-34-1.6简单的C++程序

“注释”是程序员为读者作的说明,用来提高程序的可读性,C++程序在编译过程中忽略注释。

1、“//”

用来注释一行说明,在“//”之后的文字直到换行都为注释。一般用来对于程序中难懂的代码进行说明。2、

“/*”和“*/”用来注释一段说明,在“/*”和“*/”之间的部分,不管多长都为注释。2023/10/6北京邮电大学信通院网络搜索中心-35-1.6简单的C++程序/***************************************程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论