您好,欢迎访问三七文档
授课教师:管建军网址:~guanjj/jjguan@aust.edu.cnChap1IntroductionChap1Introduction2第一章C/C++概述第二章基本数据类型、运算符和表达式第三章结构化程序设计第四章数组第五章函数第六章面向对象程序设计基础第七章基于对话框的应用程序第八章文档视图结构应用程序第九章C++的I/O流库课程内容:Chap1IntroductionChap1Introduction3第一章C/C++概述1.1C/C++发展简史1.2简单的C/C++程序实例1.3基本语法成分1.4数据的输入和输出1.5编译预处理1.6VisualC++简介Chap1IntroductionChap1Introduction4为什么要使用C++语言面向对象程序设计正在逐渐成为主流设计技术。OOP技术并不取代SP和一般的程序设计的技能技巧。C++语言在各种不同机型上都有优秀的编译系统和相关的环境与工具。C++语言最可能取代C而成为主流的软件开发语言。在计算机教学领域,C++语言已成为计算机专业主要的教学语言Chap1IntroductionChap1Introduction5C++语言发展简史1972年在B语言的基础上设计而成C语言,用来描述和实现Unix操作系统。1977年改进为不依赖于具体机器的C语言编译文本《可移植C语言编译程序》,从而具有高级语言的第一特征,演化为我们所说的“传统的C语言”。1983年由美国国家标准化协会(ANSI)综合C的各种版本,制定了新的标准——ANSIC,进而演化为87ANSIC。1980年,贝尔实验室开始对C增加面向对象的成分,最初的成果为“带类的C”,83年正式取名为C++。1991年出现实用工业版本,94年制定了ANSIC++标准的草案。C++的各种工业版本的出现(例如VisualC++)值得一提的是:面向网络计算的Java语言其语法结构与C++如出一辙。Chap1IntroductionChap1Introduction6C++的特点语句简练、语法结构清晰、紧凑,使用方便、灵活。程序结构简单、书写格式自由。数据类型丰富、齐全。运算符丰富、齐全,运算能力强。语法限制不太严格,程序自由度大。这既是优点也是缺点,该问题留待以后专门讨论。具有直接的硬件处理能力编译系统生成的目标代码质量高,程序执行效率高程序可移植性强。语言的通用性较强Chap1IntroductionChap1Introduction7C++的应用领域作为系统描述语言,编写各种系统软件作为工具软件描述语言,编写各种工具软件。作为应用程序描述语言,编写各种应用软件。Internet和Web编程。Chap1IntroductionChap1Introduction8C++难在哪里C++语言的规模较大:C++语言对C语言进行三个方面扩充:有关面向对象的新概念、新特征,这部分内容在深度上和数量上是不容忽视的。原有C语言的概念和特征又补充了新的代替物。如I/O,const等。新的概念又延伸了老的特征。例如有了类和对象,原有的数组、指针又增加了对象数组、对象指针,原有的函数又有了成员函数及对象参数等。C++语言的的新概念不易掌握:OOP语言中的一些重要概念和特征不易掌握。E.g.虚函数,抽象类,构造函数的隐式调用,运算符的重载,类模板和函数模板等等。OOP和OOP语言的培训完备条件尚未形成:把OOP技术从研究室引到商业软件的开发领域并使大多数人认定OOP技术是今后软件开发的主流技术,仅仅是90年代以后的事。Chap1IntroductionChap1Introduction9怎样学习C++系统的学习C/C++语言,清楚概念(把重心放到研究算法上)。学习MFC,并选择发展的方向。对各种技术的涉及(书籍的选择)Chap1IntroductionChap1Introduction10学习这门课的方法注重课堂学习勤于思考,多分析问题多上机实践,熟能生巧充分利用网络资源(校园网和互联网)多分析别人的程序,学习其编程的经验分析C++语言对C语言的改进与增强独立完成作业Chap1IntroductionChap1Introduction11程序设计语言低级语言高级语言机器语言汇编语言面向过程的语言面向对象的语言计算机可以识别的一套具有语法、词法规则的系统,用于描述解决问题的方法,供计算机阅读和执行。程序设计语言的发展Chap1IntroductionChap1Introduction12程序设计1.确定数据结构。2.确定算法3.编码4.上机调试5.整理并写出文档资料Chap1IntroductionChap1Introduction13算法算法是指为解决某个特定问题而采取的确定且有限的步骤。常用流程图描述。流程线连接点开始或终止框处理框判断框输入输出框Chap1IntroductionChap1Introduction14例:输入两个数,输出其中的最大数。开始结束输入a、b输出yaby=ay=b是否Chap1IntroductionChap1Introduction15结构化程序设计语句1语句2语句1语句2结构化程序设计有三种基本结构组成。1.顺序结构流程图N-S图Chap1IntroductionChap1Introduction162.选择结构(或分支结构)判断表达式语句2语句1不满足满足语句2判断表达式满足不满足语句1Chap1IntroductionChap1Introduction173.循环结构判断表达式循环体满足不满足当判断表达式满足循环体⑴当型循环Chap1IntroductionChap1Introduction18⑵直到型循环判断表达式循环体满足不满足当判断表达式满足循环体Chap1IntroductionChap1Introduction191.1C/C++发展简史C++:Bell实验室的BjarneStroustrupCSimula67带类的C类基础1979年Cpre预处理器C++1.01985年《C++程序设计语言》C++2.01989年C++3.01993年类及派生类公有和私有构造函数,析构函数友元内联函数赋值运算符的重载虚函数函数和运算符的重载引用常量Const多重要继承保护成员对象的初始化与赋值的机制抽象类静态成员函数CONST成员函数模板C语言:Bell实验室的D.M.Ritchie•1972年,为了编写UNIX设计的。•两个重要的标准:老标准:1978年,《TheCProgrammingLanguage》B.W.Kernighan和D.M.Ritchie合著新标准;1983年,ANSI制定,称为ANSICAmericanNationalStandardInstitutionChap1IntroductionChap1Introduction20C++的组成C语言面向对象设计(OOP)VisualC++环境C++程序设计C语言程序MFC应用程序向导Chap1IntroductionChap1Introduction211.2简单的C/C++程序实例例1.1输入圆的半径,求面积注释:以//开始#include是编译预处理命令把头文件的内容插入该处使用cin、cout函数必须有该命令main函数的函数体main函数的函数头void表示无返回值Chap1IntroductionChap1Introduction22例1.2求两个数之和。#includeiostream.hintadd(intx,inty)//定义add()函数,求两个数之和{intz;//说明z为int类型的变量z=x+y;//将x+y的值赋值给zreturnz;//结束add()函数的执行,并将z的值返回给主函数}voidmain()//定义主函数{inta,b,c;//说明a、b、c为int类型的变量cinab;//从键盘输入两个数据送到a和b中c=add(a,b);//调用add()函数,计算a+b,并把结果赋给ccoutcendl;//先输出c的值,再输出换行符}Chap1IntroductionChap1Introduction23C++程序的构成和书写格式C++源程序文件是一个文本文件,其扩展名是*.cpp,一个C++程序除了源程序文件外,还包含其它文件。C++程序由注释部分、程序头部分(编译预处理部分)、程序主体部分组成,注释可以出现在主体部分中。注释部分以//或/*作为标记。主体部分由n个(n=1)函数并列组成,必须且仅能有一个main函数。在一个函数内,执行从上到下开始的。一个应用系统可以包含若干个源程序文件。程序书写格式自由,一行可以写一个至多个语句,一个语句也可以分写在多行上,每个语句以分号作为结束标志。用大括号对{}表示程序的层次范围,一个完整的程序模块要用一对{}包括。C++程序中的名字(标识符)是大小写敏感的,所以在书写标识符时要注意其大小写。Chap1IntroductionChap1Introduction241.3基本语法成分1.基本符号:(1)字母:52个A~Za~z(2)数字字符:10个0~9(3)下划线_。(4)特殊符号:一般作运算符,如+、-、*、/、&2.关键字有特定含义的、专用的单词。如int、char、break、for、define等。不能作变量名、符号常量名、函数名、类名等。Chap1IntroductionChap1Introduction253.标识符:由字母、数字和下划线三种字符组成必须以字母或下划线开头合法标识符。A2studentarea_of_circlenum_ddInt不合法标识符2AA-BareaofcircleM.Dint①大小写字母不等价习惯上,变量名小写,符号常量大写。②关键字不能作标识符用。例如,int、define等关键字不能作为标识符用。③定义标识符时最好能简洁且“见名知义”,以提高程序的可读性。如min表示最小值,average表示平均值,day表示日期。④在VisualC++中,标识符中不能有汉字但是字符串和注释中可以有汉字。Chap1IntroductionChap1Introduction26#includeiostream.h或#includeiostream.h1.coutcout表达式1表达式2……表达式n;说明:数据的输出格式由系统自动决定。各表达式可以是任意类型的。#includeiostream.hvoidmain(){inta=2;doubleb=3.32;charc='A';couta''bendl;coutc''abcdendl;}1.4数据的输入和输出Chap1IntroductionChap1Introduction27格式控制符格式控制符说明示例语句结果endl输出换行符cout123endl123123123dec十进制表示coutdec123;123hex十六进制表示couthex123;7boct八进制表示coutoct123;173setw(intn)设置数据输出的宽度cout'a'setw(4)'b';ab(中间有3个空格)setfill(intn)设置填充字符coutsetfill('*')setw(6)123;***123setprecision(intn)设置浮点数输出的有效数字位数coutsetprecision(5)123.456123.46Chap1IntroductionChap1Introduction28说明:(1)当指明用一种进制输入/输出数据时,对其后的输入/输出均有效,直到指明又以另一种进制输入/输出为止;(2)八进制或十六进制数的输入/输出,只能适用于整型数据,不适用于实型数据和字符型数据;(3)域宽设置函数setw
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:c++1
链接地址:https://www.777doc.com/doc-7028760 .html