您好,欢迎访问三七文档
当前位置:首页 > 资格认证/考试 > 自考 > C++程序设计(自考独立本科段)
C++程序设计•第一章认识C++的对象•第二章从结构到类的演变•第三章函数和函数模板•第四章类和对象•第五章特殊函数和成员•第六章继承和派生•第七章类模板与向量•第八章多态性和虚函数•第九章运算符重载及流类库•第十章面向对象设计实例3第一章认识C++的对象4需要了解的C语言知识C语言基本语法基本数据类型scanfprintf语句ifelse语句for语句while语句数组定义函数定义指针结构体运算符5本节要点:•C与C++的关系(领会)•掌握函数原型和命名空间的使用方法(综合应用)•对象和预处理基本概念(领会)•掌握C++程序的基本结构(综合应用)1.1初识C++的函数和对象6C语言回顾intx;该语句在C语言和C++中均可使用,x在C语言中称为变量,在C++中称为对象。C语言与C++的不同点:称呼不同7C语言回顾结构体的定义structpoint{floatx;floaty;};表示定义一种点数据类型,包含坐标x,y.定义完成后,point成为一种类型,使用方式类似int类型如:定义p1变量为点类型,写作:structpointp1;或pointp1;定义x变量为整型:intx;8C语言回顾结构体的定义structstudent{intnum;charname[10];floatgrade;};若定义一种结构体记录学生信息包含学号,姓名,成绩,如何定义?定义s1变量为学生类型,写作:structstudents1;9#includeiostreamusingnamespacestd;intresult(int,int);constintk=2;structPoint{intx,y;};intmain()//主程序{intz(0),b(50);Pointa;cout“Inputtwointerger:”;cina.xa.y;z=(a.x+a.y)*k;z=result(z,b);cout“resultis:”endl;cout“z=“zendl;return0}intresult(inta,intb){returna+b;}/*1-1.cpp*/#includestdio.hintresult(int,int);#definek2structPoint{intx,y;};intmain()/*主程序*/{intz=0,b=50;Pointa;printf(“Inputtwointerger:”);scanf(“%d%d”,&a.x,&a.y);z=(a.x+z.y)*k;z=result(z,b);printf(“resultis:”);printf(“z=%d\n“,z);return0}intresult(inta,intb){returna+b;}//1-1.c10第一章认识C++的对象1.1初识C++的函数和对象例1.1输入一个点的信息,求该点到原点的距离预处理命令,使用命名空间,声明函数,声明常量,定义结构体,主函数main求距离函数result11例1.112例1.1主函数13例1.114对程序的说明:1,混合型语言C语言程序包含main函数面向对象语言没有main函数C++是混合型语言C++兼容C的语法,带类的C文件扩展名cpphmain()15对程序的说明:2,注释方式/*。。。。*///。。。。16对程序的说明:3,输入输出流cin和cout是C++语言中进行输入输出操作的函数。其定义在isstream头文件中。类似:C语言中printf函数scanf函数putchar函数getchar函数,使用时要包含“stdio.h”17C++将数据从一个对象传到另一个对象称为流。cout是C++中的标准输出流(通常为控制台,即屏幕),cout“helloc”把一串字符串插入输出流(控制台输出)中。是插入操作符。cin是C++中的标准输入流(通常为控制台,即键盘),cina.xa.y;将键盘输入的值赋予两个变量是提取操作符。cin,cout在的声明在头文件iostream中,所以要想使用cout必须将该头文件包括在程序开始处。18对程序的说明:3,输入输出流cin和cout的简单使用cout后加要输出的内容,可以是对象或字符串,行末加分号,可用多个来分隔多个输出对象,endl;表示输出后换行。coutendl;等价于cout“\n”;19对程序的说明:3,输入输出流cin和cout函数的简单使用cin后加存放数据的对象,即变量,行末加分号,可用多个来分隔多个输入对象。cinxy;等价于cinx;ciny;20对程序的说明:4,使用命名空间是C++语言中封装程序库名称的一种机制记忆:C++标准类库中的对象和函数都属于std命名空间使用这些对象和函数时要usingnamespacestd;21对程序的说明:4,使用命名空间使用std命名空间时注意:使用C语言中的头文件时,要写成“xxx.h”形式使用C++中的头文件则不能加上“.h”22usingnamespacestd;C++标准函数库的所有元素都被声明在一个名空间中,这就是std名空间。因此为了能够访问它的功能,我们用这条语句来表达我们将使用标准名空间中定义的元素。这条语句在使用标准函数库的C++程序中频繁出现,本教程中大部分代码例子中也将用到它。所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下:std::coutstd::hex3.4std::endl;2、使用using关键字。usingstd::cout;usingstd::endl;以上程序可以写成coutstd::hex3.4endl;3、最方便的就是使用usingnamespacestd;例如:#includeiostream#include...usingnamespacestd;这样命名空间std内定义的所有标识符都有效。就好像它们被声明为全局变量一样。那么以上语句可以如下写:couthex3.4endl;24对程序的说明:5,对象定义及初始化intx;x=0;等价于intx=0;C语言intx(0);C++语言等价于上两条语句。此种初始化语法在C++中称为构造函数语法25对程序的说明:6,函数原型及其返回值函数要有类型,若要得到处理结果则要使用return语句。floatresult()指出result是浮点类型,返回值由return后面的表达式决定,且表达式必须与声明函数的类型一致。26对程序的说明:6,函数原型及其返回值函数原型声明函数调用在函数定义之前时要对函数进行声明2728例:intresult(int,int);C++要求所有函数都有函数原型程序的顶部头文件函数类型应和返回值的类型一致。C++提供更强的类型检查,允许编译程序对下列情况报错误信息:•被调用函数参数类型定义和类型转换非法•函数的参数个数不相符•函数不能返回预定的数据类型29对程序的说明:7,const修饰符和预处理程序常量定义:#definePI3.1415(c语言)在变量定义之前加上const关键字,表示定义的变量值不可改变。constintPI=3.1415;constintPI(3.1415);30对程序的说明:7.const修饰符和预处理程序C++预处理命令以#开始,分为宏定义,文件包含和条件编译如:#define,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#undef等作业:1,写出C语言中预处理命令有哪些,举例说明每个命令含义及作用。2,写出C语言和C++语言中#include命令的不同处31常量(constant)是一个有固定值的表达式。(1)#definePI3.14159265#definetab'\n'#definewidth100(2)通过使用const前缀,你可以定义指定类型的常量,就像定义一个变量一样:constintwidth=100;constchartab='\t';constintwidth(100);constintwidth;extenconstintwidth;32对程序的说明:8.程序运行结果9.程序书写规则•注意缩进对齐:程序块要采用缩进对齐风格编写,缩进的空格数为5个,使程序清晰明了。•括号紧跟在函数名后,但在for和while后面,应用一个空格与左括号隔开以增加可读性。•在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如-),后不应加空格。•在表示参数时,逗号后面留一个空格。•在for、do…while和while语句中,合理使用缩进、花括号和空行。•适当增加空行和程序注释以增加可读性。一般情况下,源程序有效注释量必须在20%以上。•较长的语句(80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。341.2认识C++语言面向过程编程的特点本节要点:•函数重载(领会)•掌握C++的新数据类型(简单应用)•动态分配内存(综合应用)•熟练掌握引用的使用方法(综合应用)•了解对指针使用const限定符的目的,方法(识记)•了解泛型算法应用于普通数组的方法(识记)•掌握数据的简单输入输出(简单应用)351.2认识C++语言面向过程编程的特点1.2.1函数重载(领会)C++允许一个函数定义多个版本。使得一个函数完成多种功能。即:同一个函数名定义多次。36函数具有相同的名字,但有不同的参数,完成不同的操作和功能。重载函数至少在参数的个数、参数的类型、或参数的顺序上有所不同。//overloadedfunction#includeiostreamusingnamespacestd;intdivide(inta,intb){return(a/b);}floatdivide(floata,floatb){return(a/b);}intmain(){intx=5,y=2;floatn=5.0,m=2.0;coutdivide(x,y);cout\n;coutdivide(n,m);cout\n;return0;}37重载函数max的定义形式:38重载函数max的声明形式:重载函数的要点:函数名相同,参数个数不同,参数类型不同39重载函数max的调用形式:401.2.2C++的新数据类型(简单应用)1,void类型void表示无类型,或空类型。不能声明变量,只能声明函数返回值。表示函数无返回值。412,bool型(逻辑型,布尔型)占1个字节。表示逻辑运算中的“真”“假”3,整型(intlongshort)int、short至少16位long至少32位short不得比int长int不得比long长424,char型(字符型)占1个字节。5,实型(float/double/longdouble)435,&取地址符intx;&x表示????什么样的变量可以存放&x?????int*p;p是指针变量,指针变量能存放变量的地址。P=&x;446,常量表示整型:0前缀表示8进制数,0x前缀表示16进制加L、l后缀表示长整型常量实型:F、f后缀表示浮点型常量(float)实数加L、l后缀表示longdouble型无前缀,无后缀的为double型456,常量表示0L123l0550x50xaf017,转义字符‘\101’‘\t’‘\r’‘\n’‘\0’‘\x41’46变量定义可以位于程序中的任何地方for(inti=0;i10;i++){intc;c*=2;ints;……}
本文标题:C++程序设计(自考独立本科段)
链接地址:https://www.777doc.com/doc-8627996 .html