C++编程回忆录讲义.docx

上传人:b****7 文档编号:25413960 上传时间:2023-06-08 格式:DOCX 页数:65 大小:35.46KB
下载 相关 举报
C++编程回忆录讲义.docx_第1页
第1页 / 共65页
C++编程回忆录讲义.docx_第2页
第2页 / 共65页
C++编程回忆录讲义.docx_第3页
第3页 / 共65页
C++编程回忆录讲义.docx_第4页
第4页 / 共65页
C++编程回忆录讲义.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

C++编程回忆录讲义.docx

《C++编程回忆录讲义.docx》由会员分享,可在线阅读,更多相关《C++编程回忆录讲义.docx(65页珍藏版)》请在冰豆网上搜索。

C++编程回忆录讲义.docx

C++编程回忆录讲义

【001-初识C++】

1、C++语言难不难

2、C语言与C++语言的关系

3、编程语言与程序算法的关系

4、编写C++程序的过程

编写->编译->调试执行->发布

【002-第一个程序】

1、VisualC++对源代码的管理模式

2、基本的C++程序

voidmain()

{

}

注意:

在使用C++语言进行编程的时候要注意字母的大小写。

【003_让计算机打印出字符】

1、使用输出字符语句

#include

cout<<”要输出的内容”<

注意:

用双引号括起的数据称为字符串

C++语言用“;”标示一个语句的结束

endl表示回车换行

在输入命令时必须确认该命令所属的头文件已被#include编译

2、注释

作用:

增强代码的可读性

“//”单行注释

“/*”与“*/”多行注释

【004-转义字符】

1、转义字符

空字符\0

换行\n

回车\r

退格\b

响铃\a

反斜线\\

问号\?

单引号\’

双引号\”

【005-变量】

1、变量

存储数据的地方

2、变量名称

a名称必须采用字母或下划线作为第一个字符,其余所有字符必须是字母、数字或下划线

b名称区分大小写

3、变量声明

数据类型变量名称(列表);

4、赋值语句

变量=变量、数字组成的式子

5、变量初始化

【006-数值的输入与输出】

1、输入语句cin也是iostream.h里面的命令,与cout使用同样头文件

#include

cin>>要存储到的变量名称;

注意:

cin语句可以一次列出多个变量,输入的内容以任意数量的空格或换行符分隔

2、格式化带小数点数字的输出

cout.setf(ios:

:

fixed);

cout.setf(ios:

:

showpoint);

cout.precision(保留位数);

【007-数字类型】

1、整数类型与浮点类型

int与double

2、科学计数法(浮点计数法)

E代表指数

a小数点的移动方向

b移动多少位

3、数字类型

类型名称最低值最高值精度

short(shortint)-3276732767

int-21474836472147483647

long(longint)-21474836472147483647

float-3.4E383.4E+386位

double-1.7E3083.4E493215位

longdouble-3.4E49323.4E493217位

【008-初识命名空间】

1、命名空间

#include

usingnamespacestd;

【009-字符、字符串类型】

1、字符

字母、数字、标点等

2、字符类型

char变量名称;

注意:

字符用单引号(‘’)括起

3、字符串(string)

#include

String变量名称;

注意:

字符串用双引号(“”)括起

【010-算术操作符和表达式】

算术操作符号

加(+)、减(-)、乘(*)、除(/)、取模(%)

表达式

由算术操作符号连接的式子

注意:

a算术式子中数字的类型决定表达式计算结果的数据类型

b除与取模的使用

不注意表达式返回数据类型的严重性

另一种赋值语句形式

变量算术操作符号=表达式

变量=变量算术操作符号表达式

【011-比较操作符和分支语句】

1、if-else分支语句

根据情况,改变程序语句执行的顺序。

语法:

if(测试条件)

语句1

else

语句2

if(测试条件)

{

语句1

语句2

……

}

else

{

语句3

语句4

……

}

2、比较操作符

符号含义

==是否等于

=是否不等于

<是否小于

<=是否小于或等于

>是否大于

>=是否大于或等于

【012-布尔类型和逻辑操作符】

1、布尔类型(bool)

bool变量名;

注意:

bool类型数据的值就是true

(1)或false(0)。

2、逻辑操作符

符号含义

&&逻辑与

||逻辑或

逻辑反

【013-简单循环语句和递增、减操作符】

1、循环语句(while)

语法:

while(测试条件)

{

语句1;

语句2;

……

}

while(测试条件)

语句1;

2、循环语句(do-while)

语法:

do

{

语句1;

语句2;

……

}while(测试条件);

do

语句1;

while(测试条件);

注意:

无限循环,循环语句中的测试条件永远不要出现无限循环,即永远成立,这样循环语句会一直测试下去(特殊情况除外)

3、递增、递减操作符

++递增操作符i=i+1即为i++

--递减操作符i=i-1即为i—

【014-常量】

1、常量

声明后不可改变的量。

声明形式:

const数据类型常量名称(列表);

变量可以通过随时更改赋值语句来改变其存储的数据,常量当赋值完毕后就不可改变。

声明常量和声明变量的方式很相似,只是在其前增加const,其他的赋值方式均相同。

例如:

intA=12,B=10;//声明一个变量为整数型A赋值为12;

constintA=12;//声明一个常量为整数型A赋值为12;

【015-布尔表达式】

1、布尔表达式

由算术操作符、比较操作符、逻辑操作符混合组成得出布尔类型值的式子。

2、操作符优先级

+、-、++、--、!

*、/、%

+、-

<、>、<=、>=

==、!

=

&&

||

3、布尔(bool)值与整数

把true看作1,把false看作0;

把非0看作true,把0看作false。

【016-枚举类型】

1、枚举类型

枚举类型变量里只可以放置有限的几个值,这几个值由声明此枚举类型时定义。

2、枚举类型声明

enum枚举类型名称{标识符1=整数值,标识符2=整数值,……标识符n=整数值};

enum枚举类型名称变量名称(列表);

注意:

a、第一个标识符如不指定整数值的话,默认整数值为0;

b、如果不指定整数值的话,每个标识符的值默认比前一个标识符的整数值大1;

c、可以随意指定各个标识符的整数值;

d、赋予枚举类型变量值时,只能赋予标识符。

【017-多路分支语句】

1、多分支语句

if(测试条件)

{

语句1

语句2

……

}

else

{

语句3

语句4

……

}

嵌套分支语句

if(测试条件)

{

语句1

语句2

……

}

elseif(测试条件)

{

语句3

语句4

……

}

elseif(测试条件)

{

语句5

语句6

……

}

else

{

语句7

语句8

……

}

注意:

a最后的else语句段可以省略去。

b“测试条件”需要互斥。

【018-switch分支语句】

1、switch分支语句

语法:

switch(表达式)

{

case值1;

语句1;

break;

case值2;

语句2;

break;

……

case值n;

语句n;

break;

default:

其它语句;

}

注意:

acase后的值不能相同,否则会产生歧义。

bbreak语句的含义是终止switch语句。

【019-块与局部变量】

1、块

由花括号封闭起来的C++代码。

2、局部变量

在块中声明的变量。

注意:

a当互相包含的各个块中最外层的块声明了变量时,在其内部的块中同时也可以使用。

b当互相包含的各个块中声明个具有相同名称的变量时,各有各的使用范围,互不影响。

【020-for循环语句和递增、递减操作符】

1、递增、减操作符

作为一个语句来使用。

作为一个算术操作符号来使用。

在后,先返回值,再计算。

在前,先计算,再返回值。

2、for循环语句

语法:

for(初始化;检测;变化)

{

语句1;

语句2;

……

}

初始化:

对变量进行初始化。

检测:

对变量检测。

变化:

对变量进行变化。

【021-循环语句的终结】

1、break语句

终止循环语句。

2、continue语句

跳过本次循环。

3、循环语句的嵌套

【022-接触函数】

1、函数

将大型程序任务有条理的划分为多个独立的小程序任务,每一个小程序任务称之为子任务或子程序。

将这些子程序封装起来以供他人调用,这些子程序即被称之为函数。

优势:

容易理解

容易更改

容易编写

2、函数种类

预定义函数

自定义函数

3、sqrt函数

功能:

求平方根

所在库:

语法:

doublesqrt(doublex)

参数:

告知函数依据什么去执行,可以是常量、变量、表达式。

可以有多个。

返回值:

函数执行后返回的结果。

不能超过一个。

4、函数的使用方式

单独使用

sqrt(x)

赋值语句

n=sqrt(x)

表达式内

n=100–sqrt(x)

其它函数命令使用过程中

cout<

【023-自定义函数】

1、自定义函数的过程

函数声明:

描述如何调用此函数。

函数定义:

描述函数具体如何去运行。

2、函数声明

语法:

函数返回值数据类型函数名称(参数数据类型参数名称,参数类型参数名称,……);

注意:

函数声明要放在函数被使用之前。

3、函数定义

语法:

函数返回值数据类型函数名称(参数数据类型参数名称,参数类型参数名称,……)

{

//要运行的语句;

return返回值;

}

注意:

函数定义函数头部分后面没有“;”号,而函数声明有。

return后面的“返回值”可以是表达式,同时数据类型要和“函数返回值数据类型”匹配。

执行return语句后,函数自动终结。

4、函数声明技巧

函数声明时可以省略函数的“参数名称”;

如函数声明与函数定义均在函数使用之前时,函数声明可以省略。

【024-过程抽象】

1、局部变量与全局变量

作用域:

量的有效范围。

局部变量:

声明于语句块内。

全局变量:

声明于语句块外。

函数参数:

函数参数相当于函数语句块内的局部变量。

2、局部常量与全局常量

3、过程抽象

函数像一个黑盒一样,只需要知道这个函数如何使用,不需要关心函数内部如何的工作原理。

只需要知道函数能够做什么,不需要知道函数具体怎么去做。

【025-重载函数】

1、函数参数类型转换

调用函数时,如所给参数数据类型不匹配,则自动试探进行数据转换操作。

2、重载函数

在某种情况下,需要对同一个函数名提供多种形式的声明定义,以应对不同使用的需要。

3、重载函数定义的方式

a参数数目不同

b参数数据类型不同

注意:

重载函数时,参数必须有所不同。

与函数返回值数据类型没任何关系。

【026-void函数】

1、void(空)函数

没有返回值的函数。

语法:

//声明

void函数名称(参数数据类型参数名称,参数数据类型参数名称,……);

//定义

void函数名称(参数数据类型参数名称,参数数据类型参数名称,……);

{

//要运行的语句。

return;

}

区别:

a函数返回值数据类型为void。

breturn语句后面不能跟一个返回值表达式。

2、无参数函数

即使函数没有参数,也必须在函数声明与函数定义,调用中包括圆括号。

3、return语句

作用:

a终止函数。

b指定函数返回值。

【027-函数参数的传递】

1、函数参数的传递方式

a传值方式

b应用方式

2、传值方式

说明:

传递过去的仅仅是“值”。

函数返回值数据类型函数名称(参数数据类型参数名称,参数数据类型参数名称,……)

3、引用方式

说明:

传递过去的是变量的控制权(引用)。

函数返回值数据类型函数名称(参数数据类型&参数名称,参数数据类型&参数名称,……)

注意:

传值调用、引用调用可以混合使用。

【028-过程抽象的使用】

1、函数间的调用

函数内部可以调用其它的自定义函数,前提是这个函数已在被使用前进行了函数声明。

注意:

函数声明与函数定义均不得在函数体内进行。

2、黑盒子函数声明中的注释

注释:

起着对函数使用方法的说明作用。

注释法则:

a说明函数参数的意义

b说明函数执行后结果的意义。

【029-I/O流】

1、I/O

I/O指的是程序的输入(Input)和输出(Output)。

输入可取自键盘或文件;输出可发至屏幕或文件。

2、流

流(名词):

一种特殊的变量。

程序可以通过“流”与外界进行I/O操作。

输入流(名词):

从外界流向程序。

比如从键盘获取输入到程序;从文件读取的信息输入到程序。

输出流(名词):

从程序流向外界。

比如程序内的信息输出到屏幕;程序内的信息存储到文件。

3、键盘输入流

cin>>Variable1>>Variable2>>……;

cin:

键盘输入流。

输入的信息由空格或换行符分隔。

所在库:

iostream

4、屏幕输出流

cout<

cout:

屏幕输出流。

输出的信息按先后顺序输出。

所在库:

iostream

 

【031-类与对象的初识】

1、类与对象

普通变量:

数据类型变量名称(列表);

特殊变量:

类对象名称(列表);

a对象是一种变量,该变量有函数与之关联。

这些函数称为成员函数。

b类是一种类型,他的变量就是对象。

c对象所属的类(既对象的类型)决定了对象有哪些成员函数。

成员函数使用语法为:

对象名称.成员函数名称(参数列表);

【032-成员函数的初识】

2、检查文件是否成功连接

输入文件流对象.fail()

成员函数fail(bool类型)可测试一个流操作是否失败。

如果失败,返回true;否则返回false。

3、追加模式输出到文件

输出文件流名称.open(“文件名称”,ios:

app)

作用:

如果文件不存在,则创建一个具有该名称的空文件。

如果文件已经存在,程序的所有输出都会被追加到这个文件的末尾。

【033-输出流格式化】

1、输出流

输出流(名词):

从程序流向外界。

比如程序内的信息输出到屏幕;程序内的信息存储到文件。

2、输出流格式化

注意:

a任何输出流均可以使用这些格式化成员函数。

b格式化只对调用中指定的那个流有效果。

输出流.precision(位数)

作用:

设置输出流输出的信息保留的有效数字位数。

输出流.setf(标志值)

作用:

设置输出流的标志。

标志:

指示输出流以何种方式输出信息。

标志值含义(如果设置这个标志)

ios:

:

fixed不用e计数法来写浮点数。

ios:

:

scientific会用e计数法来写浮点数。

ios:

:

showpoint始终为浮点数显示小数点和尾随的0,如果不设置这个标志,而且一个数字在小数点之后全是0,那么它在输出时可能既没有小数点,也没有尾随的0。

ios:

:

showpos正整数之前会输出一个正号。

ios:

:

right通过调用成员函数width来指定了某个域宽值,那么输出的下一项会定位在指定的哪个域的右侧(右对齐)。

也就是说,输出项之前会根据需要添加用于填充的空格。

ios:

:

left通过调用成员函数width来指定了某个域宽值,那么输出的下一项会定位在指定的哪个域的左侧(左对齐)。

也就是说,输出项之前会根据需要添加用于填充的空格。

输出流.width(域宽)

作用:

输出流的下一项输出信息需要占用多宽的字符位置。

注意:

此成员函数的作用只适用于输出流的下一项输出信息。

输出流.unsetf(标志值)

作用:

取消设置的某个标志。

【034-流操作元】

1、流操作元

流操作元是一种以传统方式调用的成员函数。

a流操作元随即要调用的是一个成员函数。

b流操作元位于插入操作符“<<”之后,表面上作为一个即将输出的项目。

c流操作元可以有参数,也可以没有参数,适情况而定。

2、endl流操作元

语法:

……<

作用:

输出一个换行符(“\n”)。

3、setprecision流操作元

语法:

……<

作用:

设置输出流输出的信息保留的有效数字位数。

所在库:

iomanip

4、setw流操作元

语法:

……<

作用:

输出流的下一项输出信息需要占用多宽的字符位置。

所在库:

iomanip

【035-流作为函数参数】

1、函数参数的传递方式

a传真方式说明:

传递过去的仅仅是“值”

b引用方式说明:

传递过去的是变量的控制权(引用)

2、流作为函数参数

函数参数的传递必须是引用方式才可使用流。

函数返回值数据类型函数名称(参数数据类型参数名称,参数数据类型&参数名称,类&对象名称,……)

【036-文件流的字符操作】

1、输入流读取字符

输入流.get(字符变量)

作用:

通过输入流获取一个字符

注意:

文件中的空格(‘’)、换行符(‘\n’)等均会被看作字符读取出来。

2、输出流写入字符

输出文件流.put(字符值或字符量)

作用:

通过输出流输出一个字符。

3、eof成员函数

输入文件流.eof()

功能:

确定是否读取到文件末尾。

如果到文件尾,则返回true;否则返回false。

【037-字符函数】

1、字符函数

所在库:

cctype

函数说明

toupper(char_exp)返回char_exp的大写形式。

tolower(char_exp)返回char_exp的小写形式。

isupper(char_exp)如果char_exp是一个大写字母,就返回true;否则返回false。

islower(char_exp)如果char_exp是一个小写字母,就返回true;否则返回false。

isalpha(char_exp)如果char_exp是英语字母表中的一个字母,就返回true;否则返回false。

isdigit(char_exp)如果char_exp是‘0’到‘9’之间的一个数字,就返回true;否则返回false。

isspace(char_exp)如果char_exp是一个空白字符(比如空格(‘’)或换行符(‘\n’)),就返回true;否则返回false。

注意:

toupper与tolower函数返回的是字符在ASCII表中的十进制编号。

【038-数组入门】

1、数组

数组就好似一个变量列表,只是采用了统一的命名机制。

2、声明数组

数据类型数组名称[长度],数组名称[长度],……;

长度:

代表数组中索引变量数目的整数或变量。

使用数组

数组名称[索引]

注意:

a索引值从0开始,结束于比数组长度小1的一个整数。

b索引不一定是整数或常量,还可以是表达式。

【039-数组索引越界】

1、数组在内存中的分配

内存:

计算机用于存储数据的地方。

数组:

一般情况下占用连续的内存空间,依靠索引值进行排列、区分。

2、数组索引越界

索引越界:

数据索引值超出了数组长度的范围。

【040-初始化数组】

1、初始化数组

数组声明后,期内的索引变量不进行初始化,索引变量的值不固定。

intA[5]={100,150,300,600,700};

a如果列出的值少于索引变量的数目,那些值将用于初始化前面的索引变量,剩余的索引变量初始化成零值。

b初始化时,可以省略数组长度。

【041-数组与函数参数】

1、索引变量作为函数参数

索引变量作为函数参数使用时,用法与普通变量是一样的。

索引变量既可以用做传值调用参数,也可以用做引用调用参数。

2、整个数组

整个数组作为函数参数时,函数的声明、定义中,参数数组的长度不需要填写,即使填写了编译器也忽略其存在。

语法:

void函数名称(数据类型数组名称[])

调用函数时,参数数组仅使用数组名称作为参数。

语法:

函数名称(数组名称)

默认传递进函数的是整个数组的控制权,类似于引用调用。

3、const参数装饰符

限定参数数组中各个索引变量的值不能在函数体内被更改,类似于传值调用。

【042-多维数组】

1、多维数组

拥有多个索引的数组。

2、声明多维数组

数组类型数组名称[长度][长度]……[长度];

长度:

长度值的积代表数组中含有索引变量的个数。

3、使用多维数组

数组名称[索引][索引]……[索引]

注意:

a索引值从0开始,结束于比数组对应长度小1的一个整数。

b索引不一定是整数或常量,还可以是表达式。

4、多维数组参数

函数声明与定义中,多维数组作为参数时,第一维的长度不要给出,其他维的长度必须给出。

【043-C字符串】

1、C字符串

使用空字符(“\0”)作为字符串的结尾。

空字符(“\0”):

一个字符,标记字符数组中存储的一个C字符串的结束。

2、C字符串变量

C字符串变量的初始化

charC字符串变量名称[长度]=“字符串初始值”;

注意:

字符串初始值可以不把字符数组填满。

3、C字符串变量与普通字符数组初始化的区别

charC字符串变量名称[长度]=“字符串初始值”;

char字符变量名称[长度]={‘字符值’‘字符值’,……,‘字符值’};

C字符串变量内依然存在索引变量。

【044-C字符串变量处理函数】

1、C字符串复制函数

语法:

strcpy(C字符串变量1,C字符串变量2);

含义:

将C字符串变量2的值复制到C字符串变量1中。

所在库:

cstring

2、C字符串连接函数

语法:

strcat(C字符串变量1,C字符串变量2);

含义:

将C字符串变量2的值连接到C字符串变量1的末尾。

所在库:

cstring

3、C字符串比较函数

语法:

strcmp(C字符串变量1,C字符串变量2);

含义:

比较C字符串变量1与C字符串变量2中的值,相同返回false,否则返回true。

所在库:

cstring

4、C字符串取字符数函数

语法:

strlen(C字符串变量);

含义:

返回C字符串变量的长度,空字符(“\0”)不计算之内。

【045-C字符串输入与输出】

1、C字符串输出

C字符串变量可以使用输出流像对待普通变量那样输出数据信息。

适用于屏幕输出流,文件输出流等。

2、C字符串输入

C字符串变量可以使用输入流像对待普通变量那样输入数据信息。

适用于屏幕输入流,文件输入流等。

注意:

a所有空白字符(空格、换行符等)均被忽略。

b输入数据时,会在空格或换行符处停止。

3、输入流成员函数getline

作用:

接收整行数据信息。

语法:

输入流名称.getline(C字符串变量,接收长度);

【046-C字符串与数字】

1、C字符串转换到数字

所在库:

cstdlib

atoi函数

作用:

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

当前位置:首页 > 自然科学 > 物理

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

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