C++编程回忆录讲义.docx
- 文档编号:25413960
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:65
- 大小:35.46KB
C++编程回忆录讲义.docx
《C++编程回忆录讲义.docx》由会员分享,可在线阅读,更多相关《C++编程回忆录讲义.docx(65页珍藏版)》请在冰豆网上搜索。
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函数 作用:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程 回忆录 讲义
![提示](https://static.bdocx.com/images/bang_tan.gif)