c++ 基础知识一

第一节:环境搭建

1.1安装c++编译器和IDE

Windows
MinGW:轻量级的编译器,简单易用。
Visual Studio:功能强大的 IDE,适合 Windows 开发。
Linux
使用命令:sudo apt-get install g++ 或 sudo yum install gcc-c++
Mac
使用 Homebrew:brew install gcc

1.2 编译与运行实例程序

#include <iostream>
using namespace std;

int main()
{
   
	cout << " Hello World" << endl;
	return 0;
}

对上述代码做一些讲解

第一行:#include
这一行用来包含头文件,#include就是包含头文件,用<>括起来的就是表示能在系统中找到的,就是C++自带的头文件,自己创建的头文件要用""括起来。是C++控制台输入输出的标准流。Dev C++编程的时候还可以用万能头<bits/stdc++.h>
第二行:using namespace std;是声明命名空间,std就是standard,基础,默认的意思,cout就是在std中声明的。using 和 namespace一般一起出现。
这里还涉及到一个重要语法:每行代码最后都要有;或{}除了#开头的预处理指令。
第三行:int main(){声明main函数,最后的{和最后一行的}成对出现,代表main函数的代码块范围,也就是括起来的代码都是main函数里的。前面的int代表main函数的返回值是int类型。main函数是C++唯一的程序入口,有main函数的文件可以被编译运行。C++运行时就是执行main函数里的代码。
第四行:cout << “Hello World!”;往控制台输出Hello World这串字符。cout就是console+out,就是往控制台输出,与之对应的还有cin(console+in)从控制台获取输入。<<是输出符,代表输出<<后面的变量或字符串。
第五行:return 0;,return语句是返回值,是函数结束的语句,执行到这里时不论后面有没有代码,函数都会结束运行。0是返回的值,int是数字类型,所以返回了数字。这行可以省略,但是只有main函数的return可以省略。
第六行:}跟第三行的{成对出现,作用在第三行讲了

在终端中,执行编译

g++ hello.cpp -o hello
./hello

第二节

2.1 代码注释

// 这是单行注释
/* 这是多行注释
   可以跨越多行 */

2.2 基本数据类型

类型 关键字
整型 int
浮点型 float
双浮点型 double
字符型 char
布尔型 bool
无类型 void
宽字符型 wchar_t

2.3 修饰符

修饰符 范围
char 1字节 -128 — 127 或者 0 — 255
unsigned char 1字节 0 — 255
signed char 1字节 -128 — 127
int 4字节 -2147483648 — 2147483647
unsigned int 4字节 0 — 4294967295
signed int 4字节 -2147483648 — 2147483647
short int 2字节 -32768 — 32767
unsigned short int 2字节 0 — 65535
signed short int 2字节 -32768 — 32767
long int 8字节 -9,223,372,036,854,775,808 — 9,223,372,036,854,775,807
signed long int 8字节 -9,223,372,036,854,775,808 — 9,223,372,036,854,775,807
unsigned long int 8字节 0 — 18,446,744,073,709,551,615
float 4字节 精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字)
double 8字节 双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字)
long long 8字节 双精度型占8 个字节(64位)内存空间,表示 -9,223,372,036,854,775,807 到 9,223,372,036,854,775,807 的范围
long double 16字节 长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字

2.4 sizeof关键字

作用:利用sizeof关键字可以统计数据类型所占的内存大小

int a = 10;
auto b = sizof(a);

2.5算数运算

运算符 描述 实例
+ 两个数字相加 a + b
- 两个数字相减 a - b
* 两个数字相乘 a * b
/ 两个数字相除 a / b
% 取模运算,整除后取余数 a % b
++ 自增运算,整数增加1 a++
自减运算,整数减少1 a–

2.6 关系运算符

运算符 描述 实例
== 判断两个操作的值是否相等,若相等条件为真 (a==b)
!= 判断两个操作的值是否不相等,若不相等条件为真 (a != b)
> 判断左边的操作值是否大于右边的操作值,若大于为真 (a > b)
< 判断左边的操作值是否小于右边的操作值,若小于为真 (a < b)
>= 判断左边的操作值是否大于等于右边的操作值,若大于等于为真 (a >= b)
<= 判断左边的操作值是否小于等于右边的操作值,若小于等于为真 (a <= b)

2.7 逻辑运算符

运算符 描述 实例
&& 称为逻辑与运算符。两个操作都为true,则条件为true (A && B)
ll 逻辑或运算。两个操作,只要其中一个true,则条件为true (A ll B)
! 称为逻辑非运算。如果条件为true,非运算符,转化为false !(A && B)

2.8 位运算

运算符 描述 实例
& 按位与操作,按二进制位进行"与"运算 (A & B)
l 按位或运算符,按二进制位进行"或"运算
^ 异或运算符,按二进制位进行"异或"运算 (A ^ B)
~ 取反运算符,按二进制位进行"取反"运算 (~ A)
<< 二进制左移运算符。将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0) A << 2
>> 进制右移运算符。将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃 A >> 2

第三节

分支语句

3.1 if - else

if(条件1)
{
   
    执行语句1
}
else
{
   
    执行语句2
}

3.2 if-else if - else

if(条件1)
{
   
    执行语句1
}
else if(条件2)
{
   
    执行语句2
}
else
{
   
    执行语句3
}

3.3 switch语句

switch(一个变量)
{
   
    case 条件1:执行语句1;break;//加break是为了执行完这一种情况后不会再执行下面的语句
    case 条件2:执行语句2;break;
    case 条件3:执行语句3;break;
    default:执行语句4;	//如果上面条件都不满足,就执行语句4
}

循环语句

3.4. for

for(设置变量;循环条件;每次循环后执行语句2)
{
   
    执行语句1;
}

for(int i = 0; i < 5; i++)
{
   
	cout << i << endl;
}

3.5. while

while(条件)//如果满足条件,则执行,如果不满足,则退出循环
{
   
    执行语句;
}

int i = 1;
while(i <= 5)
{
   
	cout << i << endl;
	i++;
}

3.6 do-while

do{
   //先执行语句
    执行语句;
}while(循环条件);//如果满足条件,继续执行

int i = 1;
do {
   
	cout << i << endl;
	i++;
}
while(i <= 5);
}

3.7. continue

让continue后面的代码不执行,直接执行下次循环

3.8 break

结束本次循环

第四节

4.1 一位数组

数据类型 数组名称[数组大小] = {
   数据,数据...};

int a[10] = {
   0}; 将所有的元素初始化为0
当数组有一个元素被赋值之后,C++会把剩余元素自动赋值为0。

数组的特点,放在一块连续的内存空间,数组中每个元素的都是相同的数据类型

int a[5]; 声明一个数组,大小有5个
a[0] = 10;
a[1] = 20;
a[2] = 30;
a[3] = 40;
a[4] = 50;
给数组每一个元素赋值

可以使用for循环获取数组的值
for(int i=0; i < 5; i++)
{
   
	cout << i << endl;
}

也可以使用sizeof来获取循环次数

int echo_num = sizeof(a) / sizeof(a[0])
for (auto i = 0; i < echo_num; i++)
{
   
	cout << i << endl;
}
//若初始化没有五个数据,剩下的将会由0填补
int arr1[5] = {
   10, 20, 30};

4.2 二位数组

数据类型 数组名[行数] [列数];
数据类型 数组名[行数] [列数]={
   {
   数据1,数据2}{
   数据3,数据4}};
数据类型 数组名[行数] [列数]={
   数据1,数据2,数据3,数据4};
数据类型 数组名[ ] [列数]={
   数据1,数据2,数据3,数据4}
//1、数据类型 数组名[行数] [列数];
int arr[2][3] = {
   {
   1, 2, 3}, {
   4, 5, 6}};
for (int i = 0; i < 2; i++)
{
   
	for (int j = 0; j < 3; j++)
	{
   
		cout << arr[i][j] <&l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值