C++培训材料.docx

上传人:b****9 文档编号:26278670 上传时间:2023-06-17 格式:DOCX 页数:53 大小:31.81KB
下载 相关 举报
C++培训材料.docx_第1页
第1页 / 共53页
C++培训材料.docx_第2页
第2页 / 共53页
C++培训材料.docx_第3页
第3页 / 共53页
C++培训材料.docx_第4页
第4页 / 共53页
C++培训材料.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

C++培训材料.docx

《C++培训材料.docx》由会员分享,可在线阅读,更多相关《C++培训材料.docx(53页珍藏版)》请在冰豆网上搜索。

C++培训材料.docx

C++培训材料

一、类和对象(class&object)

面向对象编程:

利用对象的属性和方法来实现程序或者系统所需的功能;

非面向对象编程:

文件:

*.cpp、*.c;c++sourcefile;C++源代码文件(程序代码资源)

*.h;c++headfile;c++头文件;(定义,类型)

*.dsw工程工作区文件;

*.dsp工程文件

二、c++常用数据类型(DataTypes)与变量

整型:

intx;

长整型:

long;

单精度类型:

float

双精度类型:

double

逻辑型:

bool

字符类型:

char

字符串型:

CString

字节类型:

byte(0~255)

10e+5=10*105

TypeName

Bytes

OtherNames

RangeofValues

int

*

signed,

signedint

Systemdependent

unsignedint

*

unsigned

Systemdependent

__int8

1

char,

signedchar

–128to127

__int16

2

short,

shortint,

signedshortint

–32,768to32,767

__int32

4

signed,

signedint

–2,147,483,648to2,147,483,647

__int64

8

none

–9,223,372,036,854,775,808to9,223,372,036,854,775,807

char

1

signedchar

–128to127

unsignedchar

1

none

0to255

short

2

shortint,

signedshortint

–32,768to32,767

unsignedshort

2

unsignedshortint

0to65,535

long

4

longint,

signedlongint

–2,147,483,648to2,147,483,647

unsignedlong

4

unsignedlongint

0to4,294,967,295

enum

*

none

Sameasint

float

4

none

3.4E+/-38(7digits)

double

8

none

1.7E+/-308(15digits)

longdouble

10

none

1.2E+/-4932(19digits)

Ø数组:

类型数组名[数组大小]

(1)floatafRed[4]={0.0f,2.0f,3.0f,4.0f};

数组元素赋值:

afRed[2]=1024.568*2.0+3;

数组内存分配:

floatafRed[8]

(1)float*d=(float*)malloc(8*sizeof(float));

(2)float*d=newfloat[8]

(2)

三、基本语法

1.;///**/\n换行

2.函数

类型名函数名(参数〔类型名参数变量〕)

……

程序代码;

returnn;//返回值

longsum(inti)

{

longn=0;

for(intj=1;j<=i;j++)

{

n=n+j;

}

returnn;//返回值

}

 

3.语法:

运算:

+-*/=i++i—

sincostanatanabsfmod;

4.语句:

#include"math.h"//包含头文件

#definest100;//定义常数

return100;//返回值

循环:

for(intj=1;j<=i;j++)

{

n=n+j;

……

}

///////////////////////////////////////////////////////

intj=1;

do

{

n=n+j;

j++;

}while(j<=i);

///////////////////////////////////////////////////////

判断:

if(条件)

if(j!

=100&&i==100)

{

……

}

else

{

if(j>1001)

n=n+1;

else

n=n+2;

}

////////////switch///////////////////////////////////////////

switch(i)

{

case0:

n=1000;

break;

case1:

n=2000;

break;

case2:

n=2000;

break;

case3:

n=2000;

break;

default:

n=i;

break;

}

 

5、指针:

(1).指针变量:

类型名*变量名

int*I;

intmain(intargc,char*argv[])

{

intm;

intn;

sum(100,&m,&n);

longs1=m;

longs2=n;

//CStringss;

//s.format(

printf("从1加到100的奇数总和是:

%d\n从1加到100的偶数总和是:

%d\n",s1,s2);

return0;

}

voidsum(inti,int*s1,int*s2)//从1到i累加

{

*s1=0;

*s2=0;

for(intj=1;j<=i;j++)

{

if(fmod(j,2)==0)

*s1=*s1+j;

Return2;

else

*s2=*s2+j;

}

Return;

}

6.类与对象

#include"stdafx.h"

#include

classCat

{

public:

intGetAge();

intSetAge(intv);

voidMeow();

private:

intitsAge;

protected:

};

intCat:

:

GetAge()

{

returnitsAge;

}

intCat:

:

SetAge(intv)

{

itsAge=v;

return0;

}

voidCat:

:

Meow()

{

std:

:

cout<<"Meow.\n";

}

 

intmain(intargc,char*argv[])

{

Catwhitecat;

whitecat.SetAge(10);

whitecat.Meow();

std:

:

cout<<"whitecatisacatwhois.\n";

std:

:

cout<

whitecat.Meow();

return0;

}

7.概念:

类:

对象:

指针:

 

第一章C++语言的组成部分

1.cout函数:

#include

std:

:

cout<<5/8;

std:

:

cout<<(float)5/8;

std:

:

cout<

:

endl;

Øcin函数(输入)

intv;

std:

:

cin>>v;

2.名词空间Namespace:

简化代码

Usingstd:

:

cout;

Usingstd:

:

endl;

cout<

cout<<5/8;

cout<<(float)5/8;

cout<

Usingnamespacestd;

cout<

cout<<5/8;

cout<<(float)5/8;

cout<

3.注释

//或者/*与*/

第二章变量与常量

1.变量是存储信息的地方。

在内存地址中存储或者写入数据;

2.RAM(RandomaccessMemory,内存)随机存取存储区:

临时存储;最小单元:

byte

3.C++关键字(不能用之命名变量或者函数)

C++;

If;

While;

For;

Main;

4.变量定义:

intI;

i=-10;

unsignedinti;

i=-10;(错误)

IntI,j,k,l;

LongI,j,klongintI,j,k

ShortI,j,kshortintI,j,k

Long是Longint的简写;short是shortint的简写;

5.typedef自定义数据类型

typedefunsignedshortintUSSHORT;

USSHORTI,j,k;(等价于:

unsignedshortintI,j,k;)

6.short与long的回绕

shortI;

I=32767

32767

I++

-32768

I++

-32767

7.特殊字符:

\t

Tab键盘

\n

新行

\r

回车键

\b

回退

\f

换页

8.常数定义;(常数值不能更改)

#definestuperclass15;

或者:

constunsignedshortintstuperclass=15

9.枚举型常量(enum)

enumCOLOR{red,green,blue,white}

0,1,2,3

EnumCOLOR{red=100,green,blue=500,white}

100101500501

COLORmycolor;

Mycolor=red;

例:

intmain(intargc,char*argv[])

{

enumWEEKDAY{Sun,Mon,Tues,Wedn,Thur,Frid,Satur};

WEEKDAYmyday;

myday=Sun;

if(myday==Sun||myday==Satur)

printf("it'sweekend\n");

else

printf("backtowork!

\n");

return0;

}

 

第四章表达式与语句

1.避免给常数赋值

35=25;(错误)

35=I;(错误)

constintI=100;

I=101;(错误)

2.注意数据类型;

unsignedintI;

I=100;(正确)

I=-100;(错误)

3.交换变量值

inta=100;

intb=200;

inttemp=a;

a=b;

b=temp;

a=b;

b=a;

(错误)

inti,j;

j=100;

i=j++;

结果:

I=100;j=101

inti,j;

j=100;

i=++j;

结果:

I=101;j=101

4.表达式:

任何一个计算值的操作。

表达式总能返回一个值;

x=a+b;x==y;

 

5.复杂表达式

y=x=a+b

如果a=3,b=2,则:

x=5;y=5;

6.数学运算符

+-*/%(求余数,求模)

++--

5/3=1;(float)5/3=1.66666666

x+=2表示:

x=x+2

x-=2表示:

x=x-2

7.优先级

intn=3*6+2+5*4+3*(2*3+1)

8.关系运算符

a>b;a=b;a<=b;a==b;a!

=b

9.if语句else语句

inti=10,j;

if(i<=10)

{

if(i>5)

j=5;

else

j=i;

}

else

{

if(i>1000)

j=0;

else

j=i*2;

}

 

10.逻辑运算符

&&与||或!

if(a>=10&&a<=20);

if(a<=10||a>=20);

if(!

(a==10))

 

11.条件运算符(表达式1)?

表达式2:

表达式3

intk=(a>b)?

a:

b;(如a=10,b=15,责k=15)

第五章函数

1.什么是函数:

函数是能够对数据进行处理并返回一个结果的子程序。

包括内置函数和自定义函数;

2.局部变量与全局变量

#include"stdafx.h"

intadd(intv1,intv2,ints);//函数原型

intadd(intv1,intv2,int*s);//函数原型

intsum=0;//全局变量

intmain(intargc,char*argv[])

{

printf("HelloWorld!

\n");

///////////////////////////////////////////

printf("\n---------------------\n");

intvv=0;

intv=add(1000,250,vv);

printf("V:

%d\n",v);

printf("VV:

%d\n",vv);

///////////////////////////////////////////

printf("\n---------------------\n");

int*vv2=newint[1];

intv2=add(1000,250,vv2);

printf("V:

%d\n",v2);

printf("VV:

%d\n",*vv2);

///////////////////////////////////////////

printf("\n---------------------\n");

intvv3=0;

intv3=add(1000,250,&vv3);

printf("V:

%d\n",v3);

printf("VV:

%d\n",vv3);

printf("\n---------------------\n");

///////////////////////////////////////////

printf("sum:

%d\n",sum);

printf("\n---------------------\n");

return0;

}

intadd(intv1,intv2,ints)

{

s=v1+v2;

sum=s;//此处sum为全局变量

returns;

}

intadd(intv1,intv2,int*s)

{

*s=v1+v2;

intsum=*s;//此处sum为局部变量

return*s;

}

3.默认参数:

原型:

longchengfa(intn=5);

///////////////函数的默认参数//////////////////////////////////////

longchengfa(intn)

{

longv=1;

for(inti=1;i<=n;i++)

v=v*i;

returnv;

}

调用:

longt=chengfa();(结果为120)或者longt=chengfa(4);(结果为24)

4.函数重载:

同名函数定义多次;

doubleadd(doublev1,doublev2);//函数原型

intadd(intv1,intv2,ints);//函数原型

intadd(intv1,intv2,int*s);//函数原型

doubleadd(doublev1,doublev2)

{

returnv1+v2;

}

intadd(intv1,intv2,ints)

{

s=v1+v2;

sum=s;

returns;

}

intadd(intv1,intv2,int*s)

{

*s=v1+v2;

sum=*s;

return*s;

}

5.内嵌函数(避免跳转,从而提高程序执行效率)

inlineintAdd(intv1,intv2);//原型

intAdd(intv1,intv2)

{

returnv1+v2;

}

//Add为内嵌函数

6.递归

longChengfang(intv)//递归函数

{

if(v==1)

returnv;

else

return(v*Chengfang(v-1));

}

 

如:

v=5:

Chengfang(5)

=5*Chengfang(4)

=5*4*Chengfang(3)

=5*4*3*Chengfang

(2)

=5*4*3*2*Chengfang

(1)

=5*4*3*2*1

=120

第六章面向对象编程

1.类和对象

类:

抽象;

对象:

客观;

2.类的定义

#include"stdafx.h"

#include

classCat

{

public:

//类的共有成员方法

intGetAge();

intSetAge(intv);

voidMeow();

private:

//类的私有成员属性(成员变量)

intitsAge;

protected:

//保护类型

};

intCat:

:

GetAge()

{

returnitsAge;

}

intCat:

:

SetAge(intv)

{

itsAge=v;

return0;

}

voidCat:

:

Meow()

{

std:

:

cout<<"Meow.\n";

}

 

intmain(intargc,char*argv[])

{

Catwhitecat;//定义类的对象:

whitecat为Cat类的对象

whitecat.SetAge(10);

whitecat.Meow();

std:

:

cout<<"whitecatisacatwhois.\n";

std:

:

cout<

whitecat.Meow();

return0;

}

 

3.构造函数与析构函数

4.成员函数const

第七章程序流程

1.循环:

goto语句

inti=0;

intv=0;

loop:

v=v+i;

i++;

if(i<5)

gotoloop;

2.while循环

intSum(intv)

{

inti=0;

intTotal=0;

while(i<=v)

{

if(i%2==0)

{

i++;

continue;//跳出本次循环,并继续下一次循环

}

if(i>10)

break;//退出循环、循环中止

Total=Total+i;

i++;

}

returnTotal;

}

3.do……while循环

longSum2(longv)

{

inti=0;

intTotal=0;

do

{

Total=Total+i;

i++;

}while(i<=v);

returnTotal;

}

4.for循环

for(inti=1;i<=10;i++)

{

for(intj=1;j<=20;j++)

{

……

}

}

 

for(intI=0,j=0;I<3;I++,j++)

{

std:

:

cout<<"I:

"<

"<

:

endl;

}

 

5.switch语句

intv,n;

……

switch(v)

{

case0:

n=1000;

break;

case1:

n=2000;

break;

case2:

n=3000;

break;

case3:

n=4000;

break;

default:

n=i;

break;

}

(如果v=2,则n=3000;如果v=1,则n=2000;……)

6.

7.

8.

第八章:

指针

(1).指针变量:

类型名*变量名

int*I;

intmain(intargc,char*argv[])

{

intm;

intn;

sum(100,&m,&n);

longs1=m;

longs2=n;

//CStringss;

//s.format(

printf("从1加到100的奇数总和是:

%d\n从1加到100的偶数总和是:

%d\n",s1,s2);

return0;

}

longsum(inti,int*s1,int*s2)//从1到i累加

{

*s1=0;

*s2=0;

for(intj=1;j<=i;j++)

{

if(fmod(j,2)==0)

*s1=*s1+j;

else

*s2=*s2+j;

}

return0;

}

2.指针运算符:

->

4.删除指针:

delete指针名;

int*I=newint;

deleteI;

5.内存泄漏

内存泄漏

迷途指针

正确处理方法1

正确处理方法2

int*i=newint;

*I=100;

i=newint;

*i=200;

int*i=newint;

*I=100;

deleteI;

*i=200;

int*i=newint;

*i=100;

*i=200;

int*i=newint;

*I=100;

deleteI;

i=newint;

*i=200;

6.const指针

一般指针

Const指针

指针常数

Cat*Red

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1