首页 c++基础教程

c++基础教程

举报
开通vip

c++基础教程c++基础教程 第一章 面向对象程序设计概述 第二章 C++程序设计基础 第三章 函数 第四章 数组 第五章 结构体与共用体 第六章 指针与引用 第一节 面向对象程序设计 基本概念: 1. 对象 在面向对象程序设计中,对象是由对象名、一组属性数据和一组操作封装在一起构成的实体。其中属性数据是对象固有特征的描述,操作是对这些属性数据施加的动态行为,是一系列的实现步骤,通常称之为方法。 2. 类 在面向对象程序设计中,类是具有相同属性数据和操作的对象的集合,它是对一类对象的抽象描述。类是创建对象...

c++基础教程
c++基础教程 第一章 面向对象程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 概述 第二章 C++程序设计基础 第三章 函数 第四章 数组 第五章 结构体与共用体 第六章 指针与引用 第一节 面向对象程序设计 基本概念: 1. 对象 在面向对象程序设计中,对象是由对象名、一组属性数据和一组操作封装在一起构成的实体。其中属性数据是对象固有特征的描述,操作是对这些属性数据施加的动态行为,是一系列的实现步骤,通常称之为 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。 2. 类 在面向对象程序设计中,类是具有相同属性数据和操作的对象的集合,它是对一类对象的抽象描述。类是创建对象的模板,它包含着所创建对象的状态描述和方法的定义,一般是先 声明 无利益冲突声明中华医学会杂志社职业健康检查不够规范教育部留学服务中心亲友住房声明 类,再由类创建其对象。按照这个模板创建的一个个具体的实例,就是对象。 3. 属性 对象中的数据称为对象的属性,而类中的特性称为类的属性,不同的类和对象具有不同的属性。 4. 消息 在面向对象程序设计中,当要求一个对象做某一操作时,就向该对象发出请求,通常称为“消息”。当对象接收到消息时,就调用有关方法,执行相应操作。这种对象与对象之间通过消息进行相互联系的机制,就叫做消息传递机制,通过消息传递可实现对象的交互。 5. 方法 方法就是对象所能执行的操作。方法包括接口和方法体两部分。方法的接口就是消息的模式,它告诉用户如何调用该方法;方法体则是实现操作的一系列步骤,也就是一段程序代码。 传统程序设计及其局限性: 1. 传统程序设计开发软件的生产效率低下 2. 传统程序设计难以应付庞大的信息量和多样的信息类型 3. 传统程序设计难以适应各种新环境 面向对象程序设计的特点: 1.封装性 封装是一种数据隐藏技术,在面向对象程序设计中可以把数据和与数据有关的操作集中在一起形成类,将类的一部分属性和操作隐藏起来,不让用户访问,另一部分作为类的外部接口,用户可以访问。 2. 继承性 在面向对象程序设计中,继承是指新建的类从已有的类那里获得已有的属性和操作。已有的类称为基类或父类,继承基类而 产生的新建类称为基类的子类或派生类。 3. 多态性 多态性是指相同的函数名可以有多个不同的函数体,即一个函数名可以对应多个不同的实现部分。在调用同一函数时,由于环境的不同,可能引发不同的行为,导致不同的动作,这种功能称为多态。它使得类中具有相似功能的不同函数可以使用同一个函数名。 第三节 c++程序的基本结构 【例1.1】一个简单的C++程序。 # include void sayhello(); void main() { sayhello( ); // 在显示器上输出显示一行字符串 cout<<"This is my first C++ program! "< #include"文件名.扩展名" 2. 函数 C++的程序是由若干个文件组成,每个文件又由若干个函数组成。函数之间 是相互独立的,相互之间可以调用。但函数在调用之前,必须先定义。 C++的程序中的函数可分为两大类,一类是用户自己定义的函数,另一类是 系统提供的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 函数。使用系统提供的标准函数时,可以直接调用,但需要将 该函数的头文件包含在该程序中。 3. 主函数 在组成C++程序的若干个函数中,必须有一个且只能有一个主函数main()。 执行程序时,系统先从主函数开始运行,其他函数只能被主函数调用或通过主 函数调用的函数所调用,函数可以嵌套调用。 4. 注释 第一种注释方法是以“/*”开始,以“*/”结束,二者之间的所有字符都会被作为注释处理,此时的注释可以是一行,也可以是多行,适合于大块的注释。 第二种注释方法是以“//”表示注释开始,本行中“//”后面的字符都会被作为注释处理,这种注释方式多用于较短的程序注释。 5. 输入/输出 输入/输出语句是C++最基本的语句。 综上所述,一个C++程序的基本结构应该包括以“#”开头的若干个预处理命令,将程序所需要的头文件包含进来;然后定义主函数和其他函数,当然函数也可以在程序的起始部分先利用函数要包括各种语句和注释,这部分是程序的主体部分,所占比重也最大。 C++程序的书写格式: C++程序的书写格式与C程序书写格式基本相同。原则如下: ?一般情况下一行只写一条语句。短语句可以一行写多条,长语句也写程序是非常必要的,表示同一类内容或同一层次的语句要对齐。可以分成多行来写。分行原则是不能将一个单词分开,用双引号括起来的字符串最好也不要分开。 ?C++程序书写时要尽量提高可读性。为此,采用适当地缩进格式书 ?C++程序中大括号{ }使用较多,其书写方法也较多,建议用户要养成使用大括号{ }的固定风格。例如,每个大括号占一行,并与使用大括号的语句对齐,大括号内的语句采用缩进两个字符的格式书写 标识符: 标识符是程序员为命名程序中的一些实体而定义的专用单词。常见的 有函数名,类名、变量名、常量名、对象名等。C++语言中标识符的 命名规则如下: ?标识符是由英文字母(包括大写和小写)、数字和下划线组成,并 且以字母和下划线开始,例如:Abc、X1、_x1、desk都是合法的标 识符,而2A是非法的。 ?标识符中大写和小写字母是有区别的。 ?标识符的长度是任意的,但有的编译系统仅识别前32个字符。 ?标识符不能和C++语言的关键字同名。 关键字: 关键字是一种有特殊用途的词法符号,是C++系统预定义的保留字, 不能再用作其他用途。下面列举一些C++语言中常用的关键字: auto break bool case char catch class Const continue default delete do double else Enum explicit export extern false float for friend goto if inline int long new Mutable name space operator private protected public register return short signed sizeof Static atruct switch this typedef true union unsigned typename void using virtual volatile while static_cast 运算符: 运算符是C++语言实现各种运算的符号,如+、,、*、/ 等。运算符 根据操作对象个数的不同,可以分为单目运算符、双目运算符和三目 运算符。 单目运算符又称一元运算符,它只对一个操作数进行操作。例如,求 负运算符,、逻辑求反运算符!等。 双目运算符又称二元运算符,它可以对两个操作数进行操作。例如, 加法运算符+、乘法运算符*等。 三目运算符又称三元运算符,它可以对三个操作数进行操作。C++语 言中只有一个三目运算符,就是条件运算符? :。 分隔符: 分隔符又称标点符号,是用来分隔单词或程序正文的,它可以表示某 个程序实体的结束和另一个程序实体的开始。在C++语言中,常用的 分隔符有以下几个: ?空格符:常用来作为单词与单词之间的分隔符。 ?逗号:用来作为多个变量之间的分隔符,或用来作为函数多个参数之间的分隔符。 ?分号:用来作为for循环语句中for关键字后面括号中三个表达式的分隔符,或用作语句结束的标志。 ?冒号:用来作为语句标号与语句之间的分隔符,或switch语句中关键字case<整型常量>与语句序列之间的分隔符。 基本数据类型 C++语言的数据类型是十分丰富的,大致可分为基本数据类型和非基本数据类型。基本数据类型包括整型、字符型、浮点型和布尔型。非基本数据类型主要包括数组类型、结构体类型、共用体类型、指针类型和空类型等, 基本整型(int) 整 型 短整型(short) 长整型(long) 字符型 基本数据类型 单精度型(float) 浮点型 双精度型(double) 布尔型(bool) 数据类型 数组类型 结构体类型 构造数据类型 共用体类型 指针类型 空类型(void) 图2-1 C++语言的数据类型 常量: 1(整型常量 整型常量即整型常数,可以用十进制、八进制和十六进制3种形式来表示。 ?十进制整型常量不能以0开始。例如,234、-67为合法的十进制整型常量。 ?八进制整型常量以0为前缀。例如,0134、-076为合法的八进制整型常量。 ?十六进制整型常量以0X或0x为前缀。例如,0x2F、0xA3B4为合法的十六进制整型常量。 注意:整型常量中的长整型用L或l作后缀表示。例如,324L、076L等;整型常量中的无符号型用U或u作后缀表示。例如,431U、0x34DU等。 2(浮点型常量 浮点型常量又称实型常量,是由整数部分和小数部分组成的,只能用十进制表示。浮点型常量有两种表示方法:小数表示法和科学计数法。 ?小数表示法:是由符号、数字和小数点组成。例如,9.55、.25等。 ?科学计数法:是用指数形式来表示浮点型常量,即在小数表示法后 面加上E或e表示指数。例如,3.2E-5,7e10,-34.5e2等。 3(字符常量 C++中有两种字符常量,即一般字符常量和转义字符常量。 ?一般字符常量:一对单引号括起来的一个字符,其值为ASCII码值。 例如,'a'、'A'、'$'、'5'等都是合法的字符常量。 ?转义字符 转义字符是一个以“\”开头的特定字符,表示其后的字符具有 特殊意义。例如,‘\n’中的n不是代表字符n,而是代表回车换行的 意思。常用的转义字符见表2-2。 字符形ASCII码 功能 式 值 \0 0x00 NULL \a 0x07 响铃 \b 0x08 退格(Backspace键) \t 0x09 水平制表(Tab键) \f 0x0c 走纸换页 \n 0x0a 回车换行 \v 0x0b 垂直制表 \r 0x0d 回车(不换行) \\ 0x5c 字符“\” \' 0x27 单引号 \'' 0x22 双引号 \? 0x3f 问号 1~3位八进制数所代表 \ddd 0ddd 的字符 1~2位十六进制数所代 \xhh 0xhh 表的字符 表2-2 C++中常用的转义字符 4(字符串常量 字符串常量是用一对双引号括起来的字符序列。例如,"a"、"123"、"hello"等都是字符串常量。这些字符在内存中连续存储,并在最后加上字符'\0'作为字符串结束的标志。 例如,字符串“HELLO”在内存中占连续6个内存单元,存放示意图如图2-2所示。 H E L L O \0 图2-2 字符串"HELLO"在内存中的存放示意图 字符常量是用单引号括起来的一个字符。它在内存中只占一个字节。所以,"x"和'x'是不同的。 注意:不能将一个字符串常量赋给字符常量。例如,语句char c="abc" 是错误的。 5(逻辑常量 在C++程序设计中经常会用到两个逻辑值(也称布尔值)0和1,逻辑值“0”代表“假”、“不成立”、“false”等,逻辑值“1”代表“真”、“成立”、“true”等。 6(符号常量 在C++中,可以用一个标识符来表示一个常数,这个标识符就是符号常量。使用符号常量可以增加程序的可读性和可维护性。C++语言提供了两种定义符号常量的方法: ?用const语句定义符号常量 一般格式为:const 数据类型 符号常量=表达式; 例如:const double pi = 3.1415926; 注意:在定义符号常量时必须进行初始化 ? 用#define语句定义符号常量 #define是预处理指令,缺点是不能显示声明常量的类型。其一般格 式为:#define 常量名 常量值 例如:#define pi 3.1415926 变量: 变量是指在程序运行过程中其值可以改变的量。C++语言中使用变量前,必须先对它的数据类型进行说明,以便编译程序为变量分配存储空间。 1(变量的命名 变量的命名要遵循C++语言中标识符的命名规定 2(变量的定义 变量定义的一般格式为:数据类型 变量1,变量2,„„; 其中数据类型可以是前面讲过的各种数据类型,它决定了变量在内存中所占的存储单元数。 例如:int x,y,z; //定义了3个整型变量x、y、z float a,b,c; //定义了3个实型变量a、b、c 3(变量与初始化 可以在声明变量的同时赋初值: 例如:int x=10,y=20+a; 例如:int x(10); 也可以先定义变量,后赋值。例如: int x1,y1; x1=10;y1=20; 注意: ?不能连续赋值。如:int a=b=c=5;是错误的。但可以分别赋值。 ?在同一个程序块中,不能有两个相同的变量名。 ? 变量赋值时,等号左右两边类型要匹配。 表达式是由运算符和各种运算对象(常数、变量、常量等,也称操作数)组合而成。在C++程序中,表达式与我们在数学中学到的类似,是用于计算的式子,是计算求值的基本单位。 C++语言定义了丰富的运算符。运算符给出计算的类型,而参 与运算的数据叫操作数。按运算符的运算性质又可分为算术运算符、关系运算符和逻辑运算符等。 使用运算符时,要注意以下几点: ?运算符的功能。如加、减、乘、除等。 ?与操作数的关系,注意操作数的个数和类型。 ?运算符的优先级别。 ?运算符的结合性。 基本算术运算符与算术表达式 基本算术运算符有:+(取正或加)、,(取负或减)、*(乘)、,(除)、%(取余)。其中+(取正)、,(取负)是单目运算符,其余是双目运算符。上述运算符与其在数学中的意义、优先级、结合性基本相同,即先进行乘法、除法和求余运算,优先级相同,后执行加法和减法运算,优先级相同。 注意:要求取余运算符(%)的两个操作数必须是整数或字符型数据。 算术表达式是由算术运算符与操作数组成的,其表达式的值是一个数值,表达式的类型由运算符和操作数共同确定。 【例2.1】基本算术表达式的计算。 #include void main() { int i=4,j=5,k=6; int x; x=i+j-k; cout<<"x="< 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 表达式1,其值为真时,则表达式2的值为条件表达式的值;否则表达式3的值为条件表达式的值。条件 运算符的优先级仅高于赋值运算符和逗号运算符 例如,求a和b中较大者,可写成表达式:max = a > b ? a : b 2(逗号运算符 由逗号运算符构成的表达式称为逗号表达式,其一般形式为: 表达式1,表达式2,„,表达式n 逗号表达式的执行规则是从左到右,逐个表达式执行,最后一个表达式的值是该逗号表达式的值。 注意:逗号运算符“,”的优先级最低。 例如,表达式“a=3,a+l,a*a”的结果为9。 表达式中数据类型的转换: 1. 隐含转换 当操作数的类型不一致时,表达式的类型就取决于操作数中类型最高的操作数类型,C++语言将自动进行类型转换,隐含转换的示意图如图2-3所示,其转换规则如下: 注意:隐含转换是由编译系统自动完成的,它实际并不改变操作数的数据类型,只是在计算表达式值时,临时改变操作数的数据类型,计算完成后,操作数仍保持原有的数据类型。 2. 强制转换 强制转换的作用是将表达式的类型强制转换成指定的数据类型。 其一般形式为: 数据类型(表达式)或 (数据类型)表达式 例如: double(a) //将a强制转换成double型 float(5%3) //将5%3的结果转换成float型 注意:如果将高类型转换成低类型,会造成数据精度的损失 C++语句概述: 1(表达式语句 表达式语句是由一个表达式加上分号组成。例如: int i; //将i声明为整型变量的语句 a=3*4+5; //赋值语句 2(复合语句 复合语句也称块语句,是由两条或两条以上的语句组成, 并用“{ }”括起来的语句。复合语句在语法上相当于一条语句。 注意:在复合语句的右括号后不再需要分号。 3(控制语句 控制语句通常包括选择语句、循环语句和转移语句。 4(空语句语句 空语句只有一个分号,它不作任何操作,常用在需要一 条语句而又不需要任何操作的地方,如循环语句中。 选择语句: 1(if语句 if语句用来有条件地执行某一语句系列。if语句主要有3种语法格式: (1)简单if语句 格式: if(表达式) { 语句; } 功能:首先计算表达式的值,如果表达式的值不为0,表示条件判定为真,花括号{}内的语句将被执行;否则,将执行{}后面的语句。 其中的表达式一般是关系表达式,并且表达式必须用()括起来。语句可以是一条语句,也可以是多条语句。如果只有一条语句,则{ }可以省略。 【例2.7】简单if语句的应用。 #include void main() { float score; cout<<"Please enter your score:"<>score; if (score>=60) cout<<"Passed!"< void main() { float score; cout<<"Please enter your score:"<>score; if (score>=60) cout<<"Passed!"< else if(表达式2) <语句2> else if(表达式3) <语句3> ? else if(表达式n) <语句n> else <语句n+1> 功能:首先计算表达式1的值,如果表达式1条件判定为真,则执行语句1,否则判定表达式2,如果条件判定为真,则执行语句2,„„依此类推,直到所有的表达式条件均不满足,此时将执行语句n+1。该格式实际上提供了多重条件选择。该格式的流程图如图2-6所示。 【例2.9】利用多分支if语句比较两个数的大小。 #include void main() { int x,y; cout<<"Please input x,y:"<>x>>y; if (x==y) cout<<"x=y"<y) cout<<"x>y"< void main() { int x,y; cout<<"Please input x,y:"<>x>>y; if (x!=y) if (x>y) cout<<"x>y"< int add(int ,int); //函数原型 void main() { int sum,x,y; cout<<"请输入被加数和加数:"<>x>>y; sum=add(x,y); //函数调用 cout<<"Sum="<b?a:b; } void print(void) //无参数 { cout<<"C++ is easy to learn!"< int max2(int,int); int max3(int,int,int); void main() { int sum,x,y,z,m; cout<<"请输入三个整数:"<>x>>y>>z; m=max3(x,y,z); cout<<"最大的数是:"<b?a:b; } int max3(int a,int b,int c) { int m1,m2; m1=max2(a,b); m2=max2(m1,c) return m2; } 执行结果: 请输入三个数:25 36 47 最大的数是:47 函数调用的参数传递: 参数形式:数值、引用、指针 参数传递:传值、传址、引用 传值调用是利用参数传递数据最常用的方法。调用时系统先计算 实参的值,再把实参的值按位置赋给对应的形式参数。本质是复制实 参给形参,以后二者互不影响。 【例3.3】两整型数互换。 #include void swap(int,int); void main() { int a,b; cin>>a>>b; swap(a,b); cout<<"main program a="< inline double sum(double radius) //定义内联函数,计算圆的面积 { return 3.14*radius*radius; } void main() { double area,r; cout<<"请输入半径值:"<>r; area=sum(r); //调用内联函数求圆的面积,编译时此处被替换为sum函数体语句 cout<<"园的面积为:"< double power(double x=10.0,int n=2); void main() { cout< void main() { int i,a[8]; for (i=0;i<=7;i++) a[i]=i*i; //利用for语句给每个数组元素赋初值。 for (i=7;i>=0;i--) cout< void main() { int a=10,*p; p=&a; *p=15; cout<<"a="< 本文档为【c++基础教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_983143
暂无简介~
格式:doc
大小:86KB
软件:Word
页数:0
分类:互联网
上传时间:2017-09-29
浏览量:41