> 文章列表 > C++知识点

C++知识点

C++知识点

1. 数据类型

1.1 整型数据类型所占空间大小

C++知识点

1.2 求解空间大小的方法

sizeof()
#include <iostream>
using namespace std;
int main()
{// rintf("Hello world!");// cout << "hello World!" << endl;cout << "short字符所占的空间为:" << sizeof(short) << "个字符" << endl;cout << "int字符所占的空间为:" << sizeof(int) << "个字符" << endl;cout << "long字符所占的空间为:" << sizeof(long) << "个字符" << endl;cout << "long long 字符所占的空间为:" << sizeof(long long) << "个字符" << endl;return 0;
}

C++知识点

1.2 浮点型

C++知识点

1.3 字符型

C++知识点
C++知识点

1.3.1 转义字符

C++知识点
C++知识点

1.4 字符串型

C++知识点
注意在C++ 格式时需要引入头文件 #include
C++知识点

1.5 bool 布尔类型

true or false
C++知识点

2.数据输入

cin

C++知识点

3.运算符

3.1四则运算符

C++知识点

3.2 比较运算符

C++知识点

3.3 逻辑运算符

C++知识点

3.4三目运算符

C++知识点

4.程序流程结构

4.1 if 条件判断

C++知识点
if else
C++知识点
if else if
C++知识点

4.2 switch

C++知识点

注意 case穿透现象

case穿透:在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值的情况下,向下运行,直到遇到break,或者整体switch语句结束。
不使用case穿透 输出十二个月份所处季节的代码:

switch(month) {case 1:System.out.println("冬季");break;case 2:System.out.println("冬季");break;case 3:System.out.println("春季");break;case 4:System.out.println("春季");break;case 5:System.out.println("春季");break;case 6:System.out.println("夏季");break;case 7:System.out.println("夏季");break;case 8:System.out.println("夏季");break;case 9:System.out.println("秋季");break;case 10:System.out.println("秋季");break;case 11:System.out.println("秋季");break;case 12:System.out.println("冬季");break;default:System.out.println("你输入的月份有误");break;
}

使用case穿透输出 十二个月份所处季节的代码:

switch(month) {case 1:case 2:case 12:System.out.println("冬季");break;case 3:case 4:case 5:System.out.println("春季");break;case 6:case 7:case 8:System.out.println("夏季");break;case 9:case 10:case 11:System.out.println("秋季");break;default:System.out.println("你输入的月份有误");
}	

4.3 while

int num = 0;while (num < 10){cout << num << endl;num++;}

写一个死循环

while (1){;}

4.4 do while

不同于while的是,一定会直行一次循环体语句

作用: 满足循环条件,执行循环语句
语法: do{循环语句 } while(循环条件);
注意:与while的区别在于do…while会先执行一次循环语句再判断循环条件

4.4 for

for循环语句
作用: 满足循环条件,执行循环语句

语法:for(起始表达式;条件表达式;末尾循环体) { 循环语句; }

int main() {for (int i = 0; i < 10; i++){cout << i << endl;}system("pause");return 0;
}

4.5 跳转语句

4.5.1 break

作用: 用于跳出选择结构或者循环结构

break使用的时机:

出现在switch条件语句中,作用是终止case并跳出switch
出现在循环语句中,作用是跳出当前的循环语句
出现在嵌套循环中,跳出最近的内层循环语句

int main() {//1、在switch 语句中使用breakcout << "请选择您挑战副本的难度:" << endl;cout << "1、普通" << endl;cout << "2、中等" << endl;cout << "3、困难" << endl;int num = 0;cin >> num;switch (num){case 1:cout << "您选择的是普通难度" << endl;break;case 2:cout << "您选择的是中等难度" << endl;break;case 3:cout << "您选择的是困难难度" << endl;break;}system("pause");return 0;
}

4.5.2 continue语句

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

int main() {for (int i = 0; i < 100; i++){if (i % 2 == 0){continue;}cout << i << endl;}system("pause");return 0;
}

注意:continue并没有使整个循环终止,而break会跳出循环

4.5.3 goto语句

作用:可以无条件跳转语句

语法: goto 标记;

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记 的位置

int main() {cout << "1" << endl;goto FLAG;cout << "2" << endl;cout << "3" << endl;cout << "4" << endl;FLAG:cout << "5" << endl;system("pause");return 0;
}

注意:在程序中不建议使用goto语句,以免造成程序流程混乱

5 数组

5.1 概述

所谓数组,就是一个集合,里面存放了相同类型的数据元素

特点1:数组中的每个数据元素都是相同的数据类型

特点2:数组是由连续的内存位置组成的

5.2 一维数组

5.2.1 一维数组定义方式

一维数组定义的三种方式:

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

int main() {//定义方式1//数据类型 数组名[元素个数];int score[10];//利用下标赋值score[0] = 100;score[1] = 99;score[2] = 85;//利用下标输出cout << score[0] << endl;cout << score[1] << endl;cout << score[2] << endl;//第二种定义方式//数据类型 数组名[元素个数] =  {值1,值2 ,值3 ...};//如果{}内不足10个数据,剩余数据用0补全int score2[10] = { 100, 90,80,70,60,50,40,30,20,10 };//逐个输出//cout << score2[0] << endl;//cout << score2[1] << endl;//一个一个输出太麻烦,因此可以利用循环进行输出for (int i = 0; i < 10; i++){cout << score2[i] << endl;}//定义方式3//数据类型 数组名[] =  {值1,值2 ,值3 ...};int score3[] = { 100,90,80,70,60,50,40,30,20,10 };for (int i = 0; i < 10; i++){cout << score3[i] << endl;}system("pause");return 0;
}
````css
总结1:数组名的命名规范与变量名命名规范一致,不要和变量重名总结2:数组中下标是从0开始索引

5.2.2 一维数组数组名

一维数组名称的用途:

可以统计整个数组在内存中的长度
可以获取数组在内存中的首地址
示例:

int main() {//数组名用途//1、可以获取整个数组占用内存空间大小int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };cout << "整个数组所占内存空间为: " << sizeof(arr) << endl;cout << "每个元素所占内存空间为: " << sizeof(arr[0]) << endl;cout << "数组的元素个数为: " << sizeof(arr) / sizeof(arr[0]) << endl;//2、可以通过数组名获取到数组首地址cout << "数组首地址为: " << (int)arr << endl;cout << "数组中第一个元素地址为: " << (int)&arr[0] << endl;cout << "数组中第二个元素地址为: " << (int)&arr[1] << endl;//arr = 100; 错误,数组名是常量,因此不可以赋值system("pause");return 0;
}

注意:数组名是常量,不可以赋值

总结1:直接打印数组名,可以查看数组所占内存的首地址

总结2:对数组名进行sizeof,可以获取整个数组占内存空间的大小

夏季美妆团购网