下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 vc++

vc++.ppt

vc++

tyhdlz
2009-06-07 0人阅读 举报 0 0 暂无简介

简介:本文档为《vc++ppt》,可适用于考试题库领域

CC目录目录第一章:VisualC概述第二章:C语言基础第三章:用MFC编写Windows程序第四章:消息与输入第五章:菜单、工具栏与状态栏第六章:对话框第七章:常用控件第八章:绘图VisualC的特点下一张VisualC的特点下一张优秀的开发环境简便的Wizard快速的集成数据库访问强劲的Internet支持完善的MFCVisualC的配置要求下一张VisualC的配置要求下一张Windows或WindowsNT操作系统IBMPC及兼容机,以上的CPUMB以上的内存至少MB硬盘空间VGA显示器CDROM驱动器和高密软区VisualC的主窗口下一张VisualC的主窗口下一张标题栏菜单栏工具栏状态栏项目工作区窗口源代码编辑窗口输出窗口VisualC的菜单栏下一张VisualC的菜单栏下一张File(文件)Edit(编辑)View(视图)Insert(插入)Project(工程)Build(编译)Tools(工具)Window(窗口)Help(帮助)各菜单项都有其子菜单,各子命令结合后面的实例讲解。项目工作区返回项目工作区返回由一组项目配置和一组源文件组成。项目工作区文件用于描述工作区及其内容扩展名为DSW。项目工作区窗口由三个面板组成:ClassView面板用于显示项目中定义的所有C类。ResourceView面板用于显示项目中包含的资源文件。FileView面板显示包含在项目中的文件(包括:源程序文件、头文件、资源文件等)。C语言基础返回C语言基础返回例程分析标识符常量和变量数据类型数组、字符串和指针运算符控制语句函数类和对象继承多态性和虚函数重载一个简单的C程序下一张一个简单的C程序下一张这是一个简单的C程序#include<iostreamh>voidmain(void){intxcout<<“请输入一个整数:”cin>>xcout<<“你刚才输入的数字是:”<<x<<“n”}C程序特点返回C程序特点返回可由一个或多个函数构成,但至少有一个主函数(main()),程序总是从主函数开始执行。每个基本语句以“”结束。#include语句是编译预处理语句。变量必须“先定义后使用”。以开头或*……*包含的语句是注释语句。标识符下一张标识符下一张一般用作以下各项的名称:变量、结构、联合、枚举、函数、类、对象等。标识符组成:字母(大、小写)、数字、下划线组成。只能以字母或下划线开头。区分大小写不用系统保留的关键字。标识符举例返回标识符举例返回正确的标识符:ABC、A、b、N、等错误的标识符:、$、A?、A、等关键字:int、if、default、true等常量和变量返回常量和变量返回常量:指在程序运行过程中其值不能改变的量。例:,‘A’“CHINA”“A”“”“上海”变量:指在程序运行过程中其值可以改变的量。例:A=A=B=“ABC”B=“”数据类型返回数据类型返回一基本数据类型字符型整型浮点型符号常量二自定义数据类型类型定义枚举类型结构类型联合类型三数据类型转换Char类型变量的长度和取值范围下一张Char类型变量的长度和取值范围下一张字符常量是用单引号括起的一个字符。Char类型举例返回Char类型举例返回#include<iostreamh>voidmain(void){charxcout<<“请输入一个字符:”cin>>xcout<<“你刚才输入的字符是:”<<x<<“n”}Short、int、long长度和取值范围下一张Short、int、long长度和取值范围下一张各类整型举例返回各类整型举例返回#include<iostreamh>voidmain(void){shortxcout<<“请输入一个数字:”cin>>xcout<<“你刚才输入的数字是:”<<x<<“n”}Float、double和longdouble长度和取值范围下一张Float、double和longdouble长度和取值范围下一张浮点类型举例返回浮点类型举例返回#include<iostreamh>voidmain(void){floatxcout<<“请输入一个数字:”cin>>xcout<<“你刚才输入的数字是:”<<x<<“n”}符号常量下一张符号常量下一张用于标示固定的数值或字符值的词法符号。定义符号常量的语法格式:const数据类型标识符=值例:constintx=声明整型常量x其值为。符号常量举例返回符号常量举例返回#include<iostreamh>voidmain(void){constintx=cout<<“X的值是:”<<x<<“n”}类型定义下一张类型定义下一张变量必须先定义再使用。一般变量定义:类型名变量名表例:intabfloatfdoubledgcharce允许定义新的类型名取代已有的类型名:例:typedefintintegerIntegerx类型定义举例返回类型定义举例返回#include<iostreamh>voidmain(void){typedefintaaaaxx=cout<<“x的值是:”<<x<<“n”}枚举类型下一张枚举类型下一张枚举类型可以指定一个命名的常量集合该集合决定了该类型的变量可以具有的合法的值。定义枚举类型的格式:enum标识符{成员成员…成员n}例:enumcolor{redbluegreenyellow}colorclr编译器自动为枚举常量赋值第一个常量值为以后各常量分别为前一个常量值加。枚举类型举例返回枚举类型举例返回#include<iostreamh>voidmain(void){enumcolor{red,blue,green,yellow}colorys,ysintxys=redx=greenys=yellowcout<<“x的值是:”<<x<<“n”cout<<“ys的值是:”<<ys<<“n”cout<<“ys的值是:”<<ys<<“n”}结构类型下一张结构类型下一张指用同一名字引用的变量的集合集合中的每一个元素称数据成员。定义结构类型的语法格式:Struct标识符{数据类型数据成员数据类型数据成员……数据类型n数据成员n}结构类型应用下一张结构类型应用下一张structdate{intyearintmonthintday}structdatemydatemydateyear=成员运算符结构类型举例返回结构类型举例返回#include<iostreamh>voidmain(void){structdate{intyearintmonthintday}datesr={,,}cout<<“sr的值是:”<<sryear<<“”<<srmonth<<“”<<srday<<“n”}联合类型下一张联合类型下一张联合类型可以是不同类型的数据共享同一内存资源。联合类型定义格式:Union标识符{数据类型变量数据类型变量……数据类型n变量n}联合类型应用下一张联合类型应用下一张Unionvar{intmfloatmdoublem}UnionvaruU=U=联合类型举例返回联合类型举例返回#include<iostreamh>voidmain(void){unionlh{intmfloatmdoublemcharm}lhlhm=cout<<“lh的值是:”<<lhm<<“n”}数据类型转换下一张数据类型转换下一张当表达式中存在不同类型的操作数时,应进行类型转换。两种形式:自动类型转换由系统自动完成例:intxfloatyy=x强制类型转换由用户完成例:intxfloatyy=float(x)数据类型转换举例下一张数据类型转换举例下一张#include<iostreamh>voidmain(void){intxfloaty=x=ycout<<“x的值是:”<<x<<“n”}返回返回#include<iostreamh>voidmain(void){intx=,y=floatzz=(float)yxcout<<“z的值是:”<<z<<“n”}数组下一张数组下一张是一组类型相同的变量的集合。一维数组:定义格式:数据类型数组名长度例:intarray下标从开始。多维数组:定义格式:数据类型数组名长度长度…长度n例:inta每一维下标都从开始。数组应用举例下一张数组应用举例下一张#include<iostreamh>voidmain(void){intxinty=,ifor(i=i<i){cin>>xiy=yxi}y=ycout<<"个数的平均值是:"<<y<<"n"}字符串下一张字符串下一张字符串:是用双引号括起来的字符序列。C语言中字符串是利用字符数组存放的。每个字符串必定以‘’结束。例:charstringcharstring={‘S’‘t’‘r’‘I’‘n’‘g’‘’}charstring=“string”字符串应用举例下一张字符串应用举例下一张#include<iostreamh>voidmain(void){charx={'G','o','o','d','!'}intifor(i=i<i)cout<<xicout<<'n'}指针下一张指针下一张变量i变量j变量kp=i*pi指针变量p指针变量:用于存放变量地址的变量。下一张下一张指针变量的定义:类型说明符*指针变量名例:int*pfloat*fchar*i指针变量的引用:与指针有关的两个运算符::取地址运算符*:指向运算符指针变量应用举例返回指针变量应用举例返回#include<iostreamh>voidmain(void){intx,yint*pointerx=pointer=xy=*pointercout<<x<<'n'<<y<<'n'<<*pointer<<'n'*pointer=cout<<x<<'n'<<y<<'n'<<*pointer<<'n'}运算符返回运算符返回算术运算符关系运算符逻辑运算符位运算符逗号运算符加、减运算符赋值运算符sizeof运算符算术运算符下一张算术运算符下一张算术运算符:、、*(乘)、(除)、(求余)优先级:*、、高于、结合性:自左至右。:该运算符左右操作数都为整数时,其运算结果为整数。:求两操作数相除后所得的余数。算术运算符举例返回算术运算符举例返回#include<iostreamh>voidmain(void){intx,y,z,m,nx=y=z=x*ym=yxn=yxx=xcout<<z<<'n'<<x<<'n'cout<<m<<'n'<<n<<'n'}关系运算符下一张关系运算符下一张关系运算符:<、>、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)优先级:==、!=高于<、>、<=、>=结合性:自左至右关系运算的结果是一个逻辑值:“真”(用表示)或“假”(用表示)。C规定:所有非值在逻辑上都表示“真”。关系运算符的优先级低于算术运算符。关系运算举例返回关系运算举例返回#include<iostreamh>voidmain(void){intx=,y=chara='c',b='d'cout<<(x>y)<<'n'cout<<(a>b)<<'n'}逻辑运算符下一张逻辑运算符下一张逻辑运算符:!(逻辑非)、(逻辑与)、||(逻辑或)优先级:按箭头方向逐渐降低。结合性:!自右至左和||自左至右逻辑运算符的优先级低于关系运算符。逻辑运算符运算规则下一张逻辑运算符运算规则下一张逻辑非运算:对运算对象取反。例:a=!a(值为)逻辑与运算:当两个逻辑运算量的值都为“真”(非值)时其值为“真”否则为“假”。例:>‘A’>‘B’(值为)逻辑或运算:当两个逻辑运算量的值至少有一个为“真”时,其值为“真”时,否则为“假”。例:>||‘A’>‘B’(值为)逻辑运算举例返回逻辑运算举例返回#include<iostreamh>voidmain(void){cout<<(>'a'>'b')<<'n'}位运算符下一张位运算符下一张用于对二进制位进行运算。位运算符:~(按位取反)、<<(左移)、>>(右移)、(按位与)、^(按位异或)、|(按位或)优先级:按箭头方向逐渐降低结合性:“~”自右至左,其余自左至右。位运算规则下一张位运算规则下一张~运算规则:对它的操作数逐位取反。运算规则:当两个操作数对应位都为时结果值的对应位为否则为。|运算规则:当两个操作数对应位都为时结果值的对应位为否则为。^运算规则:当两个操作数对应位相异时结果值的对应位为否则为。下一张下一张<<运算规则:将运算对象中的每个二进制位向左移动若干位,从左边移出去的高位部分被丢弃,右边空出的低位部分补零。>>运算规则:将运算对象中的每个二进制位向右移动若干位,从右边移出去的低位部分被丢弃,对无符号数,左边空出的高位部分补零,对带符号数,移出的空位按符号位复制。位运算举例下一张位运算举例下一张|^~下一张下一张左移两位:右移两位:带符号:无符号:下一张下一张#include<iostreamh>voidmain(void){unsignedshortintx,y,z,m,nx=y=z=xym=x|yn=x^ycout<<z<<'n'cout<<m<<'n'cout<<n<<'n'}返回返回#include<iostreamh>voidmain(void){unsignedshortintx,y,zx=y=<<z=>>x=~xcout<<x<<'n'cout<<y<<'n'cout<<z<<'n'}逗号运算符下一张逗号运算符下一张逗号运算符:,逗号表达式:用逗号运算符将若干表达式连接起来的式子。一般形式:表达式表达式……表达式N求解步骤:先求解表达式再求解表达式最后求解表达式N逗号表达式的值为最右边表达式的值。逗号运算符的优先级最低结合性为:自左至右。逗号运算举例返回逗号运算举例返回#include<iostreamh>voidmain(void){intx,yy=(x=,x)cout<<x<<'n'cout<<y<<'n'}#include<iostreamh>voidmain(void){intx,yy=(x=,x)cout<<x<<'n'cout<<y<<'n'}加、减运算符下一张加、减运算符下一张运算符:、运算对象只能是整型或字符型变量。四种运算形式:i先使i的值加再使用i。i先使用i再使i的值加。i先使i的值减再使用i。i先使用i再使i的值减。加、减运算符举例返回加、减运算符举例返回#include<iostreamh>voidmain(void){intx,yx=y=x“”与“”同优先级结合方向:自右至左。cout<<x<<'n'cout<<y<<'n'}赋值运算符下一张赋值运算符下一张赋值运算符:=功能:将右边的表达式的值赋给左边的变量。结合性:自右至左。复合赋值运算符:=、=、*=、=、=结合性:自右至左。赋值运算符举例返回赋值运算符举例返回#include<iostreamh>voidmain(void){intxx=x=x=x*xcout<<x<<'n'}Sizeof运算符下一张Sizeof运算符下一张格式:sizeof表达式功能:返回表达式类型所占字节数。格式:sizeof(类型名)功能:返回指定的类型所占用的字节数。Sizeof运算符举例返回Sizeof运算符举例返回#include<iostreamh>voidmain(void){intx,y,zx=sizeof(*)y=sizeof'a'z=sizeof(double)cout<<x<<'n'cout<<y<<'n'cout<<z<<'n'}控制语句返回控制语句返回程序的基本结构表达式语句、空语句和复合语句选择语句循环语句转移语句程序的基本结构返回程序的基本结构返回顺序结构:按语句的先后顺序执行。选择结构:根据条件判断决定执行那个分支。循环结构:根据条件判断决定是否重复执行某些语句。表达式语句、空语句和复合语句返回表达式语句、空语句和复合语句返回表达式语句:在一个表达式后面加上分号即为表达式语句。例:a=bC空语句:仅包含一个分号。例:复合语句:用一对花括号括起来的一个语句序列。例:{intxx=cout<<x}选择语句返回选择语句返回If语句If…else语句条件语句Switch语句If语句下一张If语句下一张一般格式:if(表达式){语句……语句n}功能:如果表达式的值为真,则执行复合语句,否则不执行。表达式?YN语句If语句举例返回If语句举例返回#include<iostreamh>voidmain(void){intxcin>>xif(x<)x=xcout<<x<<'n'}If…else语句下一张If…else语句下一张一般格式:if(表达式){语句组}else{语句组}功能:如果表达式的值为“真”(非值),则执行语句组,否则执行语句组。表达式语句组语句组If…else语句举例返回If…else语句举例返回#include<iostreamh>voidmain(void){intx,ycin>>x>>yif(x<y)cout<<x<<","<<y<<'n'elsecout<<y<<","<<x<<'n'}条件语句下一张条件语句下一张条件运算符::一般格式:<表达式><表达式>:<表达式>功能:若表达式的值为真,则计算表达式,否则计算表达式。例:Y=(X>)?X:条件语句举例返回条件语句举例返回#include<iostreamh>voidmain(void){intx,y,zcin>>x>>yz=(x>y)x:ycout<<"最大值是:"<<z<<'n'}switch语句下一张switch语句下一张一般格式:switch(表达式){case常量语句序列breakcase常量语句序列break……default:语句序列n}语句序列语句序列语句序列n语句序列n表达式…常量常量常量n其它功能:将表达式的值与case后面的常量进行比较,若某一常量与表达式的值相匹配则执行其后相应的语句序列。switch语句举例返回switch语句举例返回#include<iostreamh>voidmain(void){intxcout<<"请输入~的正整数!"<<'n'cin>>xswitch(x){case:cout<<"x等于"<<'n'breakcase:cout<<"x等于"<<'n'breakcase:cout<<"x等于"<<'n'breakcase:cout<<"x等于"<<'n'breakcase:cout<<"x等于"<<'n'breakdefault:cout<<"输入错误!"<<'n'}}循环语句返回循环语句返回for语句while语句do…while语句for语句下一张for语句下一张一般格式:for(表达式表达式表达式)循环体执行过程:求解表达式求解表达式。若表达式的值为“假”(),则执行第步执行循环体,接着求解表达式返回第步执行退出循环。求解表达式表达式为?执行循环体求解表达式退出循环yn使用for语句的几点说明下一张使用for语句的几点说明下一张for语句中的任何一个表达式都可以省略但其中的分号一定要保留。当省略表达式时相当于“无限循环”这时就需在for语句的循环体中设置相应的语句来结束循环。如果for语句的循环体部分由多个语句组成则必须用左、右花括号括起来使其形成复合语句。for语句举例返回for语句举例返回#include<iostreamh>voidmain(void){intxfor(x=x<=x)cout<<x<<'n'}while语句下一张while语句下一张一般格式:while(表达式)循环体执行过程:先计算表达式的值,若为“真”(非),执行循环体,循环往复,直至表达式的值为“假”退出循环。表达式值为真?YN循环体退出循环while语句举例返回while语句举例返回#include<iostreamh>voidmain(void){intx=while(x<=){cout<<x<<'n'x=x}}do…while语句下一张do…while语句下一张一般格式:do循环体while(表达式)执行过程:先执行循环体,再计算表达式的值是否为“真”,若为“真”再执行循环体,循环往复,直到表达式的值为“假”,退出循环。循环体表达式的为真?退出循环YNdo…while语句举例返回do…while语句举例返回#include<iostreamh>voidmain(void){intx=do{cout<<x<<'n'x=x}while(x<=)}转移语句下一张转移语句下一张break语句一般格式:break功能:跳出switch语句或终止循环。continue语句一般格式:continue功能:跳出本次循环继续下一次循环。goto语句一般格式:goto标号……标号:功能:无条件转移到标号标识的语句行开始执行。说明:标号也可在goto语句之前。break语句举例下一张break语句举例下一张#include<iostreamh>voidmain(void){intx,yfor(x=x<x){cout<<"请输入第"<<x<<"个正数"cin>>yif(y<){cout<<"输入了负数,循环终止!n"break}}if(x<)cout<<"输入了"<<x<<"正数"<<"n"}continue语句举例下一张continue语句举例下一张#include<iostreamh>voidmain(void){intxfor(x=x<x){if(x==)continuecout<<"这是第"<<x<<"次循环!n"}}goto语句举例返回goto语句举例返回#include<iostreamh>voidmain(void){intx=loop:cout<<x<<"n"xif(x<)gotoloop}函数下一张函数下一张函数是C程序的一种基本组成结构是为完成一定的任务而设计的一个C程序可由一个或多个函数构成但至少有一个main()函数(主函数)。函数定义的一般格式:函数类型函数名(形参表){函数体(语句序列)}形参表一般格式:数据类型形参,数据类型形参,……说明:在函数调用时必须有相应的实参与之匹配。函数举例返回函数举例返回#include<iostreamh>voidmain(void){intmintsum(int,int)对被调函数作函数返回值类型说明m=sum(,)cout<<m<<'n'}intsum(intx,inty){intresultresult=xyreturnresult}类和对象返回类和对象返回类的定义对象的定义内联成员函数结构和类This指针构造函数和析构函数静态成员友元转换函数类(CLASS)的定义下一张类(CLASS)的定义下一张类是对一组性质相同的对象的程序描述。类把数据(数据成员)和处理这些数据的函数(成员函数)封装在一起。用类声明的变量称为对象。声明一个类的一般格式:class类名{private:私有数据成员和函数public:公有数据成员和函数}类声明中可以包含三种类型的数据和函数类声明中可以包含三种类型的数据和函数私有类型(private)在类中声明的数据和函数若不特别指明,都为私有类型,如省略关键字private,则应紧跟在类名后面声明。这种类型的数据和函数只允许类本身的函数对其进行存取。公有类型(public)是类和外界联系所用的接口,外部函数只可访问类的公有类型数据和成员函数。保护类型(protected)不能被类的外部函数存取,但可以被该类的派生类成员函数直接访问。下一张类的定义举例返回类的定义举例返回#include<iostreamh>classexample{private:intpvarpublic:voidinit(int)intshow(void)}voidexample::init(intx){pvar=x}intexample::show(void){return(pvar)}main(){exampleclassAclassAinit()cout<<"对象classA的私有数据值为:"<<classAshow()<<'n'}对象的定义返回对象的定义返回类是一种用户自定义的数据类型。要使用类必须声明类的变量对象。对象被声明后即可使用通过对象可以使用类中的公有类型的数据和函数。数据的使用:对象名数据成员对象的使用:对象名成员函数内联成员函数下一张内联成员函数下一张在类定义时直接给出成员函数的声明,这样的函数称为内联函数。对于内联函数编译时会在所有调用该函数的地方装入实际的函数代码这样可节省函数调用的时间但会增加编译后可执行文件的长度。使用关键字inline可把在类外声明的成员函数视为内联函数。内联成员函数举例返回内联成员函数举例返回classA{public:A(intx,inty){X=xY=y}inta(){returnX}intb(){returnY}intc()intd()private:intX,Y}inlineintA::c(){returna()b()}inlineintA::d(){returnc()}#include"iostreamh"voidmain(){Am(,)inti=md()cout<<"d()return:"<<i<<endl}结构和类返回结构和类返回结构是类的一种特例其中亦可定义成员函数。结构与类唯一的区别是:缺省情况下结构中的所有成员都是公有的而在类中是私有的。结构和类都具有以下特点:对象之间可互相赋值。对象可作数组的元素。可声明指向对象的指针。对象可用作函数参数。对象之间可以相互赋值返回对象之间可以相互赋值返回structlocation{private:intX,Ypublic:voidinit(int,int)intshowX()intshowY()}voidlocation::init(intx,inty){X=xY=y}intlocation::showX(){return(X)}intlocation::showY(){return(Y)}#include"iostreamh"voidmain(){locationA,BAinit(,)B=Acout<<"AshowX:"<<AshowX()<<'n'cout<<"BshowY:"<<BshowY()<<'n'}对象可作数组的元素返回对象可作数组的元素返回structlocation{private:intX,Ypublic:voidinit(int,int)intshowX()intshowY()}voidlocation::init(intx,inty){X=xY=y}intlocation::showX(){return(X)}intlocation::showY(){return(Y)}#include"iostreamh"voidmain(){locationOarrayOarrayinit(,)cout<<"OarrayshowX:"<<OarrayshowX()<<'n'cout<<"OarrayshowY:"<<OarrayshowY()<<'n'}可以声明指向对象的指针返回可以声明指向对象的指针返回structlocation{private:intX,Ypublic:voidinit(int,int)intshowX()intshowY()}voidlocation::init(intx,inty){X=xY=y}intlocation::showX(){return(X)}intlocation::showY(){return(Y)}#include"iostreamh"voidmain(){locationAlocation*pointpoint=AAinit(,)cout<<"(*point)showX:"<<(*point)showX()<<'n'cout<<"(*point)showY:"<<(*point)showY()<<'n'}对象用作函数参数返回对象用作函数参数返回#include<iostreamh>classM{public:M(){x=y=}M(inti,intj){x=iy=j}voidcopy(M*m)voidsetxy(inti,intj){x=iy=j}voidprint(){cout<<x<<","<<y<<endl}private:intx,y}voidM::copy(M*m){x=m>xy=m>y}voidfun(Mm,M*m)voidmain(){Mp(,),qqcopy(p)fun(p,q)pprint()qprint()}voidfun(Mm,M*m){msetxy(,)m>setxy(,)}this指针下一张this指针下一张this指针是一个隐含的指针。该指针是一个指向正在被某个成员函数操作的对象的指针。当对一个对象调用成员函数时编译程序先将对象的地址赋给this指针然后调用成员函数每次成员函数存取数据管理成员时则隐含使用this指针。this指针举例返回this指针举例返回#include"iostreamh"classA{public:A(){a=b=}A(inti,intj){a=ib=j}voidcopy(Aaa)voidprint(){cout<<a<<","<<b<<endl}private:inta,b}voidA::copy(Aaa){if(this==aa)returnthis是操作该成员函数的对象的地址*this=aa*this是操作该成员函数的对象}voidmain(){Aa,a(,)acopy(a)aprint()}构造函数和析构函数下一张构造函数和析构函数下一张构造函数是一个特殊的成员函数用于初始化类数据成员。和所属的类同名在定义的时候不能指定返回类型。当对象被创建时系统会自动调用构造函数进行对象初始化。可以重载。析构函数也是一个特殊的成员函数与构造函数功能正好相反用于释放已分配的内存空间或声明对象的消亡

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/184

vc++

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利