全套课件·《C++程序设计简明教程》1.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《全套课件·《C++程序设计简明教程》1.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计简明教程 全套 课件 C+ 程序设计 简明 教程
- 资源描述:
-
1、C+程序设计简明教程第1章 概述 1.1 结构化程序设计 1.2 面向对象程序设计1.3 C+语言介绍 1.4 C+程序的开发环境第1节 结构化程序设计 计算机的工作用程序进行控制。程序是指令的集合。指令是计算机可以识别的命令。计算机程序语言的发展历史1.机器语言 计算机能够识别并直接运行2.汇编语言 用汇编指令编写程序,经过编译之后才能执行。这两类语言被称为面向机器的语言。3.高级语言 面向过程的结构化程序设计语言,重点是描述问题求解的过程、算法和方法。问题求解的常用手段是功能分解,并把分解的结果用高级语言结构化地实现。典型的高级语言有C语言、PASCAL语言和BASIC语言等。结构化程序设
2、计 设计思路采用模块分解与功能抽象,分而治之。自顶向下,逐步求精。程序结构 按功能划分为若干个基本模块,形成树状结构。模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。模块化实现的具体方法是编写子程序(函数)。第2节 面向对象程序设计 结构化程序设计的缺点 把数据和处理数据的过程人为地分离。当数据结构改变时,所有相关的处理过程都要进行相应的修改。每一种相对于老问题的新方法都要带来额外的开销。图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。面向对象程序设计思想 将数据及对数据的操作方法进行封装,作为一个有机体对象。对同类的对象抽象出
3、其共性,形成类。对象通过简单的外部接口,与外界发生联系。对象与对象之间通过消息进行通信。面向对象程序设计的优点程序模块之间的关系更为简单,程序模块的独立性、数据的安全性有良好的保障。通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。对象 构成系统的基本单位,用来描述客观事物的实体。对象由一组属性和一组行为构成。属性:描述对象静态特征的数据项。行为:描述对象动态特征的操作序列。类 具有相同属性和方法的一组对象的集合。为属于该类的全部对象提供了抽象的描述,包括属性和方法。类与对象的关系犹如模具与零件之间的关系,一个属于某类的对象称为该类的一个实例。封装 把对象的属性和方
4、法结合成一个独立的系统单元。尽可能隐蔽对象的内部细节。只保留外部接口,通过它与外部发生联系。继承 继承对于软件重用有着重要意义,是面向对象程序设计方法能够提高软件开发效率的重要原因之一。派生类的对象拥有基类的全部属性与方法,称为继承。例如:交通工具为基类,汽车、轮船和客机便是派生类。多态性 多态性是指在基类中定义的方法,被派生类继承之后,可以表现出不同的行为。例如:三角形、圆形和矩形都是几何图形,但是它们求面积的方法显然各不相同。第3节 C+语言介绍 C+是从C语言发展演变而来的,引入了类和继承等机制,支持面向对象程序设计方法。1983年正式取名为C+语言。逐步完善,并于1998年被国际标准化
5、组织(ISO)批准为国际标准,正式定型。C+语言的特点 全面兼容C 保持了C的简洁、高效和中级语言等特点。对C语言的语法进行了改进和扩充。是混合型编程语言。完全支持面向对象程序设计方法简单的 C+程序#include int main()/主函数 coutHello!endl;coutWelcome to C+!endl;return(0);主函数输出流对象注释语法1函数由首部和函数体组成。2在首部定义函数,函数名后面有圆括号,括号内是函数参数。3函数体写在花括号内,函数体一般包括数据声明部分和执行语句部分。4每条语句后面必须有一个分号。5./是注释部分。总结1函数是构成C+程序的重要模块。2
6、一个C+程序有且仅有一个main函数,程序总是从main函数开始执行。3在C+程序中一般通过向对象发送消息,完成特定的任务。第4节 C+程序的开发环境 Visual C+6.0是Microsoft公司推出的、使用极为广泛的可视化程序开发工具,它提供了基于Windows平台的C+语言集成开发环境。Visual C+6.0环境新建工程新建文件编辑程序运行程序第2章 C+基础 2.1 基本数据类型 2.2 表达式与语句 2.3 输入与输出2.4 选择结构2.5 循环结构 2.6 复合数据类型 2.1 基本数据类型 C+预先设置了基本数据类型,分别是整型、实型、字符型和布尔型,程序员可以在程序中直接使
7、用。在基本数据类型的基础上,还可以根据需要定义复合数据类型,例如数组、结构体、共用体和枚举类型,以表达更为复杂的数据。数据类型指针类型空类型基本类型整型字符型实型(浮点型)布尔型单精度型双精度型构造类型数组类型结构体类型共用体类型标识符 标识符就是名字,它由一串字符序列构成。其语法规则是:1.由字母、数字或者下划线(_)组成。2.首字符必须是字母或者下划线。例如num、b2和_a都是合法的C+标识符,3c、ye#和int都是非法的标识符。常量 在程序运行过程中其值不能改变的量叫做常量。常量分为整型常量、实型常量和字符型常量等。整型常量有23、-7、036(八进制)、0 x2d(十六进制)、5L
8、(长整型常量)、6U(无符号常量)等。实型常量有5.87、3.14f(单精度)、2e3(指数形式)等。字 符 型 常 量 有 a 、n (转 义 字符)、”china”(字符串常量)等。布尔型常量,true和false。符号常量可以使用标识符代表一个常量,例如:#define PI 3.14 PI就称为符号常量。还可以用关键字const定义符号常量。例如:const float PI=3.14;const变量必须在定义的时候立刻初始化,而且在程序执行期间,其值不能够被修改。变量 v在程序运行过程中其值可以改变的量叫做变量。变量对应了内存的一段存贮单元。v变量要先定义,再使用。变量定义语句的一般
9、形式为:类型类型 变量名变量名1,变量名,变量名2,;整型变量 int a=17;/定义整型变量a,并赋初值 long b(13467L);/定义长整型变量b,并赋初值 unsigned int c,d;/定义无符号整型变量c和d 变量可以在定义时初始化。除了“=”的传统方式之外,C+语言还允许用括号()为变量赋初值。整型变量的取值范围关键字 取值范围short 3276832767unsigned short065535int21474836482147483647unsigned int 04294967295 long21474836482147483647unsigned long 0
10、4294967295实型变量 float a;/定义浮点型变量adouble b;/定义双精度型变量blong double c;/定义长双精度型变量c 实型变量的取值范围 关键字 取值范围 精度(位)float3.410 383.410 38 7double1.710 308 1.710 308 15字符型变量 char c=a;/定义字符型变量c,并初始化v字符型数据按ASCII码存储,占一个字节。v给字符变量赋值时可以赋予字符的ASCII码。例如:char a=65的结果是a变量中存放字母A。案例#include main()char a=a,b=b,c=c,d=65;a=a+1;b=b
11、+2;c=c+3;d=d+4;coutabcdendl;运行结果:bdfE 常见的转义字符 字符形式 功 能 n 换行 t 横向跳格(即跳到下一个输出区)v 纵向跳格 b 退格 r 光标移到当前行开头 f 走纸换页 反斜杠字符“”单引号字符 “双引号字符 ddd 1到3位八进制字符。如 123表示八进制数123,即十进制数83 xhh 1到2位十六进制字符。如x21,表示十六进制数21,即十进制数33 布尔型变量 bool a=9;/a的值为true int b=false;/b的值为0 如果将布尔型数据转换为整型数据,则true转换为1,false转换为0。反之,如果将整型数据转换为布尔型数
12、据,则遵循“非0为真”的原则,将非0数转换为true,0转换为false。引用 类型类型&引用名引用名=变量变量;例如:例如:int a=5;/定义一个整型变量定义一个整型变量a,初值为,初值为5 int&r=a;/定义一个整型引用定义一个整型引用r,是变量,是变量a的别名的别名 引用是一个变量或者对象的别名。引用是一个变量或者对象的别名。引用在定义的同时,必须立即初始化,即作为一个已经定义的同类型变量的别名,而且以后不能更改。2.2 表达式与语句 表达式描述了对哪些数据,以什么顺序施以什么样的操作,程序中对数据的运算是通过表达式完成的。语句是程序构成的最小单位,用来向计算机发出操作指令。算术
13、运算符 C+语言的算术运算符共有5种:+(加)(减)*(乘)/(除)%(求余)。%运算的操作数必须为整数。两个整数相除,结果仍然是整数。例如5/3=1,-9/4=-2。整型除法与实型除法是不同的。例如1/2的结果是0,而1.0/2.0的结果是0.5。赋值运算符 变量变量=表达式表达式 例如:a=8;/将8赋给变量ay=3*8+9/2;/将右边表达式的值赋给变量y 左值必须是变量复合赋值运算符在赋值运算符之前加上其它运算符,可以构成复合赋值运算符。-=*=/=%=(与算术运算符组合)=&=(与位运算符组合)案例 x+=8等价于x=x+8 x*=y+5等价于x=x*(y+5)表达式a+=a-=a*
14、a,若a的初值为5,则该表达式的求解步骤是:先进行a-=a*a的运算,相当于a=a-a*a,结果是-20,a的值也是-20;然后计算a+=-20,相当于a=a+(-20),结果是-40。因此整个表达式的值是-40,a的值也是-40。自增自减运算符 l 自增运算符使变量的值增加1,而自减运算符则使变量的值减少1。l 其操作数只能是变量。l+i和-i是前缀运算符,i+和i-是后缀运算符。以自增运算符为例,做前缀运算时,先将变量的值增1,然后再使用它的值;做后缀运算时,先使用该变量的值,再将它的值增1。案例 int n=3,m;执行语句m=n+;之后,m的值是3,n的值是4;而执行语句m=+n;之后
15、,m的值是4,n的值也是4。后缀运算存在计算上的延迟,即先取值,经过延迟之后再修改变量的值。强制类型转换运算符 (类型)(表达式)(类型)(表达式)使用强制类型转换运算符,可以把表达式的结使用强制类型转换运算符,可以把表达式的结果强行转换为一个指定的类型。果强行转换为一个指定的类型。sizeof运算符用于计算某种类型的实体在内存运算符用于计算某种类型的实体在内存中所占的字节数。例如中所占的字节数。例如sizeof(int)的值为的值为4,sizeof(double)的值为的值为8。如果。如果a是是int型变量,型变量,则则sizeof(a)的值也是的值也是4。关系运算符 C+语言提供了6个关系
16、运算符,分别是:=b+c;/先计算a*2,值为14;然后计算b+c,值为11;最后比较,表达式的值为true abc;/先计算ab,值为true;然后计算truec,即1c,表达式的值为false 2=2=2;/先计算2=2,值为true;然后计算true=2,即1=2,表达式的值为false逻辑运算符逻辑运算符 C+语言提供了3个逻辑运算符:!、&和|,分别表示逻辑非、逻辑与和逻辑或运算,运算结果为逻辑值:true(真)或者false(假)。aba&ba|b!a00001010111001011110案例 int a=2,b=1;!a;/a的值2先转换为true,运算结果为false a&b
17、-1;/a的值2先转换为true,b-1的值为0,转换为false,运算结果为false a|b;/a的值2先转换为true,b的值1也转换为true,运算结果为true构造条件 灵活运用关系表达式和逻辑表达式,可以构建复杂的条件,解决工程实际问题。例如:1.描述321数学常识的对应C+表达式为32&21。2.描述字符变量c的值是字母的C+表达式为c=a&c=A&c=Z。3.描述m能够被n整除的C+表达式为m%n=0。位运算符&按位与 按位取反|按位或 按位右移按位与 运算规则:0&0=0,0&1=0,1&0=0,1&1=1。int a=211,b=150,c;c=a&b;图 2-3 按 位与
18、 运算 操作 a=0000000011010011 十 进 制值 为 211 b=0000000010010110 十 进 制值 为 150 a&b c=0000000010010010 十 进 制 值 为 146 按位或 运算规则:0|0=0,0|1=1,1|0=1,1|1=1。int a=59,b=166,c;c=a|b;图 2-4 按位或运算操作 a=0000000000111011 十进制值为59 b=0000000010100110 十进制值为166 a|b c=0000000010111111 十进制值为 191 按位异或 运算规则:00=0,01=1,10=1,11=0。int
19、a=42,b=103,c;c=ab;图 2-5 按位异或运算操作 a=0000000000101010 十进制值为42 b=0000000001100111 十进制值为103 ab c=0000000001001101 十进制值为 77 按位取反 运算规则:0=1,1=0。int a=42,c;c=a;图2-6 按位取反运算操作 a=0000000000101010 十进制值为42 a c=1111111111010101 十进制值为-43 按位左移 ab,其作用是将a的补码位全部右移b位,右移移出的二进制位全部丢弃,左边补b个0或1。右移n位实际上相当于被2的n次方整除。条件运算符 表达式表
20、达式1?表达式表达式2:表达式表达式3 运算规则是,如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式3的值作为条件表达式的值。例如:max=(ab)?a:b 整个表达式的值即max的值,它为a和b的最大值。逗号运算符 表达式表达式1,表达式,表达式2,表达式,表达式n 逗号表达式的求解过程是:从左向右,依次计算。即先求表达式1的值,再求表达式2的值,最后求表达式n的值,整个表达式的值是表达式n的值。l例如a=(y=9,y+1),首先将9的值赋给y,然后计算y+1,将结果10赋给a。数据类型转换数据类型转换 数据类型的转换可以归纳成3种转换形式:自动转换、强制转换和赋值转
21、换。u自动转换是在混合运算时,自动把低类型数据转换为高类型。u强制转换是用强制转换运算符,把数据强行转换为所需类型。u赋值转换是在赋值过程中,把赋值运算符(=)右边数据的类型自动转换为左值的类型。类型转换规则 将整型转换为浮点型时,数值不变,但以浮点数形式存储到变量中。将实型转换为整型时,舍弃实型数据的小数部分。短整型(short)转换为长整型(long)时,高16位全补上符号位。长整型数据转换为短整型,只保留低16位数据,高16位数据则被丢弃。无符号数据转换为有符号类型,最高位由数值位变为符号位;有符号数据转换为无符号类型,则最高位由符号位变为数值位。C+语句 C+语句可以分为简单语句、复合
22、语句和流程控制语句,语句以分号“;”结束。简单语句包括表达式语句、函数调用语句和空语句。n表达式语句的一般形式为:表达式;表达式;n函数调用语句一般形式为:函数名(参数表);函数名(参数表);复合语句 用一对花括号将多条逻辑上相关的语句组合在一起,在语法上相当于一条语句。例如:t=x;x=y;y=t;2.3 输入与输出 C+语言采用输入输出流的方法解决程序的输入输出。C+的流(stream)是对输入输出的一种抽象,指的是计算机中的一系列字符(字节)从一个对象流动到另一个对象。C+语言用cout对象完成标准输出,cin对象完成标准输入。cout和cin是C+语言预定义的输入输出流类的对象,在使用
23、之前,需要在程序头部添加以下一条语句#include cout C+标准输出的格式是:cout表达式1表达式2表达式n;是插入运算符,与cout对象相配合,而且可以连续使用。其作用是将某个数据插入到输出流中,最后显示在屏幕上。例如:cout”a=”a”,b=”b变量1变量2变量n;是提取运算符,与cin对象相配合,而且可以连续使用。其作用是将某个数据从输入流中提取出来,赋给相应的变量。例如:cinab;常用的I/O流操纵符 dec 十进制表示(默认方式)hex 十六进制表示 oct 八进制表示 setfill(char)设置填充字符 setprecision(int)设置浮点数的精度 setw
24、(int)设置输出域宽 endl 换行案例例如输出浮点数2.71828,要求输出占6位,其中有4位有效数字,则输出语句为:coutsetw(6)setprecision(4)2.71828endl;2.4 选择结构 选择结构使得程序具有了初步的智能,可以根据条件成立与否,决定从不同的分支中选择执行某一分支的操作。本节介绍if语句和switch语句。if语句 if-else结构是if语句的基本型,一般形式为:if(表达式)语句1 else 语句2执行流程:先计算表达式的值,如果表达式的值为true,则执行语句1;表达式的值为false,则执行语句2。登陆界面#include int main()
25、const int p=123;int m;cout请输入密码:m;if(m=p)cout恭喜您,登陆成功!endl;else cout对不起,登陆失败!endl;return(0);排序#include#include int main()int a,b,t;cout请输入两个整数:ab;if(ab)t=a;a=b;b=t;coutsetw(3)asetw(3)bendl;return(0);if语句的嵌套 if(表达式1)if(表达式1_1)语句1_1 else 语句1_2 else if(表达式2_1)语句2_1 else 语句2_2计算分段函数的值1#include int main(
展开阅读全文