c++学习笔记
cbb8234078009
这个作者很懒,什么都没留下…
展开
-
C/C++学习——类的定义
基本概念:一、抽象:对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。数据抽象和行为抽象二、将抽象出的数据成员、行为成员相结合,将他们视为一个整体------类使用者不需要了解具体的实现细节,只需要通过接口实用类成员即可。三、继承与派生:保持原有类特性的基础上,进行更具体的说明。定义类一、定义类1、类:是用户自定义数据类型。如果程序中要使用类类型(class type),必须根据实际需要定义,或者使用已设计好的类。class 类名{成员列表;//数据成员类型 数据成员原创 2020-07-18 17:49:34 · 1558 阅读 · 0 评论 -
C/C++学习——自定义数据类型——链表
链表的概念一、链表的概念1、链表是一种存储空间能动态进行增长或缩小的数据结构。2、链表主要用于:(1)建立不定长度的数组。(2)可以在不重新安排整个存储结构的情况下,方便且迅速地插入和删除数据元素。3、链表广泛应用于数据管理中。二、结点 struct NODE{//结点数据类型 ElemType data;//数据域 NODE *link;//指针域 };1、ElemType 可以是简单的内置数据类型,也可以是复杂的数据类型,typedef struct t原创 2020-06-15 21:11:35 · 2072 阅读 · 0 评论 -
C/C++学习——自定义数据类型(结构体,共用体)
结构体类型数组是一种数据形式,其特点是多个相同类型的元素集合起来;结构体是另一种重要的数据形式,特点是将不同类型的成员组合起来。数组和结构体形成了两种风格迥异的聚合方式,通过他们及其相互组合、嵌套的机制可以构造出复杂的、满足应用要求的自定义数据类型。一、定义结构体类型struct 结构体类型名 {成员列表};struct STUDENT{ int no; char name[21]; char sex; int age; char qq[11]; double scor原创 2020-06-10 20:48:47 · 979 阅读 · 0 评论 -
C/C++学习——动态分配内存
new与delete运算符一:c++内存分配有两种方式:静态分配和动态分配1、静态分配:在编译时为程序中的数据对象分配相应的存储空间。由于实在编译时为数据对象分配存储空间,因此就要求在编译时空间大小必须明确,所以数组的长度必须是常量,而一旦编译完成,运行期间这个数组的长度就是固定不变的。2、动态分配:程序运行期间根据实需要动态地申请或释放内存的方式,他不象数组等静态内存分配方式那样需要预先分配存储空间,而是根据程序的需要适时分配,且分配的大小就是程序要求的大小。(1)不需要预先分配存储空间;(2原创 2020-06-06 17:43:06 · 344 阅读 · 0 评论 -
C/C++学习——指针与函数
指针作为函数的参数一、一般定义形式为:返回类型 函数名(指向类型 *指针变量名){函数体}#include <iostream>using namespace std;void swap(int *p1, int *p2){ int temp; temp = *p1; *p1 = *p2; *p2 = temp;}int main(){ int a, b; cin >> a >> b; if (a > b) { s原创 2020-06-02 20:33:44 · 788 阅读 · 0 评论 -
C/C++学习——指针与数组
一维数组与指针一、一维数组的地址1、数组由若干个元素组成,每个元素都有相应的地址,通过取地址运算符(&)可以得到每个元素的地址。2、C++规定,数组名即代表数组本身,又代表整个数组的地址,还是数组首元素的地址值,即a与第0个元素的地址&a[0]相同。3、数组名是一个指针常量,因而它不能出现在左值和某些算术运算中。二、指向一维数组的指针变量定义指向一维数组元素的指针变量时,指向类型应该与数组元素类型一致。三、通过指针访问一维数组int *p,a[10]={1,2,3};p=a原创 2020-05-31 18:06:39 · 168 阅读 · 0 评论 -
C/C++学习——指针的定义和使用
一、指针的概念在程序设计过程中,无论是存入数据还是取出数据,都需要与内存单元打交道,计算机通过地址编码来表示内存单元。指针类型就是为了处理计算机的地址数据的。指针除了能够提高程序的效率,更重要的作用是能使一个函数访问另外一个函数局部变量,因此指针使两个函数进行数据交换必不可少的工具。1、地址和指针的概念程序中的数据对象总是存放在内存中,在生命期内这些对象占据一定的存储空间,有确定的存储位置。每个内存单元都有一个地址,即以字节为单位连续编码。编译器将程序中的对象名转化成机器指令能识别的地址,通原创 2020-05-31 16:14:49 · 711 阅读 · 0 评论 -
C/C++学习——数组的应用(经典算法)
排序一、冒泡排序冒泡排序的基本思想是通过相邻两个记录之间的比较和交换,使关键码较小的记录逐渐从底部移向顶部(上升),关键码较大的记录从顶部移向底部(沉底),冒泡由此得名。#include <iostream>using namespace std;int main(){ int A[7],temp; for (int i = 0; i < 7; i++)//输入元素 { cin >> A[i]; } for (int k = 0; k <原创 2020-05-30 19:07:42 · 290 阅读 · 0 评论 -
C/C++学习——字符串的处理
字符数组一、字符数组的定义char 字符数组名[常量表达式],…;char s[20];char s[4]={'J','A','V','A');二、字符串的概念1、C++语言规定字符串是以‘\0’(ASCII的值为0)字符作为结束符的字符数组。2、只要遇到数组元素是空字符,就表示字符串在此位置上结束。3、由于字符串实际存放在字符数组中,所以定义字符数组时数组的长度至少为字符串长度加1(空字符也要占位);4、字符串常量是字符串的常量形式,他是一对双引号括起来的字符序列。5、C++总是在原创 2020-05-27 22:05:47 · 348 阅读 · 0 评论 -
C/C++学习——数组与函数
数组作为函数的参数一、数组元素作为函数的参数1、一维数组元素可以直接作为函数实参使用,其用法与变量相同int max(int a,int b);int A[5]={1,2,3,4,5];x=max(A[2],5);2、整个数组作为函数的参数基本形式为:返回类型 函数名(类型 数组名[常量表达式],…){函数体}(1)数组参数的传递机制void fun(int A[10],int n){ A[0]=10;}int main(){ int a[10]={1,2,3原创 2020-05-26 22:03:36 · 320 阅读 · 0 评论 -
C/C++学习——数组的定义和初始化
一维数组数组就是一组相同类型数据的集合。1、定义:元素类型 数组名[常量表达式];int A[10];注意:(1)由元素类型,数组名和长度组成。(2)数组一经定义,数组的长度始终不变。int n;cin>>n;int A[n]//错误,n必须为常量。(3)C++规定数组元素是连续存放的,即在内存中是线性排列。2、一维数组的初始化(1)元素类型 数组名[常量表达式]={初值列表}int A[5]={1,2,3,4,5};(2)可以不指定长度进行初始原创 2020-05-25 21:24:02 · 3021 阅读 · 0 评论 -
C/C++学习——函数的调用
函数的嵌套调用函数的嵌套调用这节,注重对代码的理解(递归的调用)。函数的嵌套调用示例一:#include <iostream>using namespace std;int fa(int a, int b);int fb(int x);int main(){ int a = 5, b = 10, c; c = fa(a, b); cout << c << endl; c = fb(a + b); cout << c <<原创 2020-05-24 16:40:57 · 153 阅读 · 0 评论 -
C/C++学习——函数的设计
函数的默认参数一、定义:c++允许在函数定义或函数声明时,为形参指定默认值。返回类型 函数名(类型 默认参数名=默认值){函数体}int add(int x=5,int y=6){ return x+y;}int main()add(10,20);//10+20add(10);//10+6add();//5+6return 0;1、如果在函数定义时设置了默认参数,那么就不能在函数声明中再次设置,反之亦然。int volume(int L,int W,int原创 2020-05-24 11:17:57 · 238 阅读 · 0 评论 -
C/C++学习——函数的定义
函数的定义一、函数定义的一般形式为:返回类型 函数名(形式参数列表){函数体声明部分函数体执行语句}1、函数名函数的名称,一般根据函数所实现的功能起名。2、形式参数列表形式参数列表是函数与调用者进行数据交换的途径吗,一般形式为:类型1 参数名1,类型2, 参数名2.。。。。int fun(int x,inty,double m){ return m>12.5?x:y;}3、函数可以没有形式参数,定义形式为:返回类型 函数名(){函数体声明部分函数体执行部原创 2020-05-23 22:01:06 · 3535 阅读 · 0 评论 -
C/C++学习——循环结构
while语句while语句的语法形式while(表达式) 语句;当表达式为真时,执行语句。否则执行下一条语句。#include <iostream>using namespace std;int main() { int n = 1, sum = 0; while (n <= 100) { sum = sum + n; n =n+1;//n+=1 } cout << sum << endl; getchar();//解决原创 2020-05-21 21:16:09 · 378 阅读 · 0 评论 -
C/C++学习——选择结构
if语句if形式:if(表达式) 语句1;if-else 形式:if (表达式) 语句1; else 语句2;注意:(1):if语句的表达式一般为关系、逻辑运算表达式,但也可以为其他表达式,但按逻辑值来理解:a=5,b=2;if(a) x=a*10;//等价于a!=0;switch语句switch(表达式){case 常量表达式1:语句序列1;break;case 常量表达式2:语句序列2;break;case 常量表达式3:语句序列3;break;default原创 2020-05-19 21:37:07 · 299 阅读 · 0 评论 -
C/C++学习——顺序结构
C/C++学习——顺序结构#include <iostream>using namespace std;/*使用标准命名空间*/int main()/*主函数*/{ cout<<"C++"<<endl; return 0;/*主函数正常返回值为0*/}原创 2020-05-19 20:44:34 · 279 阅读 · 0 评论