C++++

字符串类型

用于表示一串字符串

两种风格

布尔数据类型

布尔数据类型只有两个值,true---真(本质是1)

   False--假(本质是0)

只占一个字节

数据的输入和输出

关键字:cin

语法:cin>>变量

算数运算符

取余%

10%3=1

a++和++a

b=a++//a先赋值再加一

b=++a//a先加一再赋值

选择

if(){

}else if(){

}else{

}

三目运算符

表达式1?表达式2:表达式3

表达式为真?执行表达式2否则执行表达式3

Int a=10;

Int b=20;

Int c=0;

c=(a>b?a:b)

输出c=20

在C++中三目运算符返回的是变量,可以继续赋值

(a>b?a:b)=100

输出b=100

Switch

执行多条件的分支结构

Switch(){

Case 结果1:执行语句;break;

Case 结果2:执行语句;break;

.

.

Default:执行语句;break;

}

循环结构

满足循环结构,执行循环语句

While(循环条件){

循环语句

}

Do…while

满足循环条件,先判断循环语句

Do{循环语句}while{循环条件};

For循环语句

For(其实表达式;条件表达式;末尾循环体){

循环语句;

}

Goto 标记:

标记:

飞雷神语句

数组

就是一个集合,里面存放了相同数据类型的元素(每个元素都是相同数据类型,连续的内存地址组成)

1.数据类型 数组名[数组长度];int score[10];

2.数据类型 数组名[数组长度]={值1,值2…..};//如果初始化数据没有全部填满,计算机会用0来填满

3.数据类型 数组名[]={值1,值2…..};

下标从0开始

一维数组数组名用途

统计整个数组在内存中的长度,

获取数组在内存中的首地址

Int arr[5]={1,2,3,4,5}

Sizeo(arr)//统计数组长度

Sizef(arr[0]}//获取一个元素占地址空间//两数相除可以得到数组个数

冒泡排序

最常用的排序算法,对数组内的元素进行排序

原理:比较两个相邻的元素,如果第一个比第二个大,就交换他们两个

 对每一对相邻元素做相同工作,执行完毕后,找到第一个最大值

 重复以上步骤,每次比较次数减一,直到不需要比较

二维数组z:

数据类型 数组名[行数][列数];

数据类型 数组名[行数][列数]={{数据1,数据2},{数据3,数据4}};

数据类型 数组名[行数][列数]={数据1,数据2,数据3,数据4};

数据类型 数组名[][列数]={数据1,数据2,数据3,数据4};

二维数组组名:

查看二维数组所占内存空间

获取二维数组地址

二维数组应用

函数

将一段经常使用的代码封装起来,减少代码重复,一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能

步骤

1、返回值类型

2、函数名

3、参数列表

4、函数体语句

5、return表达式

创建和调用函数:

值传递

函数调用时,实参将数值传递给形参

如果形参发生改变,实参不变

函数的分文件编写

指针

可以通过指针来访问内存

Int *p;

p为地址,*p修改p指向那个地址的值

指针所占的内存空间

在32位操作系统下,指针占4个字节大小,不管什么类型

在64位操作系统下,指针占8个字节

空指针和野指针

指针变量指向内存中编号为0的空间

初始化指针变量

空指针指向的内存是不可以访问的

野指针,指针变量指向非法的内存空间

空指针和野指针都不是我们申请的空间,因此不要访问

const修饰指针

1、const修饰指针-----常量指针

Const int *p=&a;指针的指向可以修改,但是指针指向的值不可以修改

2、const修饰常量-----指针常量

Int *const p=&a;指针指向不可以改,但是指针指向的值可以改

3、const即修饰指针又修饰常量

Const int * const p;指针的指向和指针指向的值都不可以改

指针和数组

利用指针访问数组元素

指针和函数

指针作为函数参数,可以修改实参的值

指针数组和函数

结构体

结构体属于用户自定义的数据类型,允许用户存储不通的数据类型

定义和使用:struct 结构体名{结构体成员列表};

1、struct 结构体名 变量名

2、struct 结构体名 变量名={成员1值,成员2值…….}

3、定义结构体时,顺便创建变量

4、创建变量的时候可以不写关键字struct

5、利用.来访问变量的数据

结构体数组

将自定义的结构体放入到数组中方便维护

语法:struct 结构体名 数组名[元素个数]={{},{},{}…….{}}

结构体指针

通过指针来访问结构体中成员

利用->操作符可以通过结构体指针访问结构体属性

结构体嵌套结构体

结构体的成员可以是另一个结构体

结构体做函数参数

将结构体作为参数向结构体当中传递

值传递,地址传递(可以改变结构体里面的值)

结构体const使用场景

用const来防止误操作,防止我们修改

结构体案例

三位老师,一位老师带五位学生,打印所有老师和学生数据

结构体内部数据排序升序

要注意的点就是比完年龄之后也还是定义一个结构体去接收

到这里就是走出新手村,开始面向对象了