小白开始学习C++

​​​​第一节:控制台输出hello word!

#include<iostream> //引入库文件

int main()

{

//控制台输出 hello word! 之后回车

std::cout << "hello word!\n";

cpp 复制代码
#include<iostream>  //引入库文件

int main()
{
	//控制台输出 hello word! 之后回车
	std::cout << "hello word!\n";  
}

}

第二节 多个字符串组合输出

#include<iostream>

using namespace std; //这么写省略了输出时的std。

int main()

{

//std::cout 中的std::省略了

cout << "姓名:"

<< " 貂蝉 "

<< " 年龄:"

<< 18

<< " 体重:"

<< "75KG "

<< " 苗条"

<< endl;

}

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	cout << "姓名:"
		<< " 貂蝉 "
		<< " 年龄:"
		<< 18
		<< " 体重:"
		<< "75KG "
		<< " 苗条"
		<< endl;
}

第三节 变量的创建和字符串拼接输出

#include<iostream>

using namespace std;

int main()

{

//整数(int)、浮点数(float和double)、字符(char)、字符串(string)和布尔(bool)

//姓名、年龄、体重、性别、颜值。

//声明变量,存放这些信息。

string name; // 姓名, string什么样的值都能放入

int age; // 年龄, 放入整型数据

double weight; // 体重,放入双精度小数

char sex; // 性别,X-女,Y-男

bool yz; // 颜值: true-漂亮, false-不漂亮。

name = "貂蝉";

age = 21;

weight = 56.34;

sex = 'X';

yz = true;

//输出拼接字符串插入变量

cout << "姓名:" << name

<< "年龄:" << age

<< "体重:" << weight << "KG "

<< "性别:" << sex

<< "颜值:" << yz

<< endl;

}

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	//整数(int)、浮点数(float和double)、字符(char)、字符串(string)和布尔(bool)
	//姓名、年龄、体重、性别、颜值。
	
	//声明变量,存放这些信息。
	string name;      // 姓名, string什么样的值都能放入
	int age;          // 年龄, 放入整型数据
	double weight;    // 体重,放入双精度小数
	char sex;         // 性别,X-女,Y-男
	bool yz;          // 颜值: true-漂亮, false-不漂亮。

	name = "貂蝉";
	age = 21;
	weight = 56.34;
	sex = 'X';
	yz = true;

	//输出拼接字符串插入变量
	cout << "姓名:" << name
		<< "年龄:" << age
		<< "体重:" << weight << "KG "
		<< "性别:" << sex
		<< "颜值:" << yz
		<< endl;
}

第四节 常量的使用

1、宏常量

语法:#define 常量名 值

2、const修饰的变量

语法:const 变量名=值;

cpp 复制代码
#include<iostream>

using namespace std;

#define MONTHS 12//                          宏常量   #define 常量名 值
#define PI 3.1415926//                       宏常量   #define 常量名 值

int main()
{
	const int week = 7;                   // const 修饰的常变量
	cout << "一年有:"<<MONTHS<<endl;
	cout << "圆周率是:" << PI << endl;
}

第五节 标识符的命名

c++规定标识符(变量、常量、函数、结构体、类等)命名时,必须遵守以下规则。

1、 在名称中只能使用字母字符、数字和下划线;
2、 名称的第一个字符不能是数字;

**3、区分大写字符和小写字符;

4、不能将c++关键字用作名称;
5、以下划线和大写字母打头的名称被保留给编译器极其使用的资源使用,如果违反这一规则,会导致行为的不确定性。
6、 c++对名称的长度没有限制,但有些平台可能有长度限制。**

第六节 数据输入

数据输入
语法:std::cin>>变量名
注意:
布尔型变量输入时只能填0或非0,非0转换成1;
如果输入的类型与变量的数据类型不匹配,会导致行为的不确定性。

cpp 复制代码
#include<iostream>
using namespace std;
int main()
{
	string name;
	cout << "请输入你的姓名:";
	cin >> name;
	cout << "刚刚输入的姓名是:" << name << endl;


	return 0;
}

第七节 算术运算

算术运算

  • 两个数相加
  • 一个数减另一个数

* 两个数相乘

/ 一个数除以另一个数

% 取模运算符,整除后的余数

注意:

整数进行除法运算时,如果分母为0,程序将异常退出;

浮点数进行除法运算时,如果分母为0.0,将得到inf(nfinite,无穷大);

两个整数进行除法运算时,将舍弃小数部分,得到一个整数;

整数与浮点数进行除法运算时,得到的结果是浮点数;

在整数前面加(float)或(double)可以将整数转换成float或double类型

取模运算只能用于整数(分母不能为0)

cpp 复制代码
#include<iostream>


using namespace std;

int main()
{
	int a=8;
	int b=2;

	//整数进行除法运算时,如果分母为0,程序将异常退出;
	//cout << a / 0 << endl;  

	//浮点数进行除法运算时,如果分母为0.0,将得到inf(nfinite,无穷大);
	cout << (float)a / 0.0 << endl;  //结果:inf

	//两个整数进行除法运算时,将舍弃小数部分,得到一个整数;
	cout << a / 3 << endl;        //结果:2

	//整数与浮点数进行除法运算时,得到的结果是浮点数;
	cout << a / 2.5 << endl;     //结果:3.2

	//在整数前面加(float)或(double)可以将整数转换成float或double类型
	cout << (double)a / (double)2.5 << endl;    // 结果:3.2

	//取模运算只能用于整数(分母不能为0)
	cout << a % 3 << endl;    //结果:2

	cout << a + b << endl;    //结果:10

	cout << a * b << endl;    //结果:16

	cout << a - b << endl;    //结果:6
}

第八节 自增和自减

++变量名 先把变量值加1,然后再执行表达式。

变量名++ 先执行表达式,再把变量的值+1.

--变量名 先把变量值-1,然后再执行表达式。

变量名-- 先执行表达式,再把变量值-1.

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	int i = 10;
	int a = 0;

	//先执行表达式,再把变量的值 + 1.
	a = i++;
	cout << "a=" << a << endl;  //结果:a=10
	cout << "i=" << i << endl;  //结果:i=11
	cout << endl;   //换行

	//先把变量值加1,然后再执行表达式。
	a = ++i;
	cout << "a=" << a << endl;  //结果:a=12
	cout << "i=" << i << endl;  //结果:i=12
	cout << endl;   //换行

	//先把变量值 - 1,然后再执行表达式。
	a = --i;
	cout << "a=" << a << endl;  //结果:a=11
	cout << "i=" << i << endl;  //结果:i=11
	cout << endl;    //换行

	//先执行表达式,再把变量值-1.
	a = i--;
	cout << "a=" << a << endl;  //结果:a=11
	cout << "i=" << i << endl;  //结果:i=10
}

第九节 赋值运算

= c=a+b a+b的值赋给c 把右边操作数的值赋给左边操作数
+= c+=a 相当于c=c+a 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数。
-= a -= a 相当于c=c-a 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数。
*= c *= c 相当于c=c*a 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数。
/= c/=a 相当于 c= c/a 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数。
%= c%=a 相当于 c=c%a 求余数且赋值运算符,求两个操作数的模赋值给左边操作数,浮点数不适用取余数。

注意:
1、字符串(string)只能使用等号(=)赋值,不能使用其他的赋值运算符;
2、浮点数不能使用%=运算符;
3、 等号(=)赋值运算符可以连续使用;
4、如果等号两边的操作数的数据类型不同,c++将自动转换数据类型,可能会损失精度,也可以超出取值范围,如果转换不成功,编译时会报错

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	//=	c=a+b a+b的值赋给c     把右边操作数的值赋给左边操作数
	int a = 2, b = 3;
	int c = 0;
	c = a + b;
	cout << "c=" << c << endl;

	//+=  c+=a  相当于c=c+a      加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数。
	c += a;
	cout << "c=" << c << endl;

	//-=  a -= a 相当于c=c-a     减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数。
	c = 5;
	c -= a;
	cout << "c=" << c << endl;

	// *=  c *= c  相当于c=c*a    乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数。
	c = 2;
	c *= c;
	cout << "c=" << c << endl;

	//   /=  c/=a   相当于 c= c/a   除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数。
	c = 6;
	c /= a;
	cout << "c=" << c << endl;

	//  %=  c%=a  相当于 c=c%a     求余数且赋值运算符,求两个操作数的模赋值给左边操作数,浮点数不适用取余数。
	c = 5;
	c %= a;
	cout << "c=" << c << endl;
}

第十节 C++11初始化赋值

1、把值写在小括号中,等于号可以省略(c++标准)

int a=(15) //声明变量a,初始化值为15.
int b(20) //声明变量b,初始化值为20.

2、把值写在花括号中,等于号也可以省略(c++11标准)统一初始化列表。

int a={15} // 声明变量a,初始化值为15.
int b{20} // 声明变量b,初始化值为20.

注意:在linux平台下,编译需要加-std=c++11参数。

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	int a = 2;
	int b(3);
	int c = (4);
	int d = 5;
	int e{ 6 };
	int f = { 7 };

	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	cout << "c=" << c << endl;
	cout << "d=" << d << endl;
	cout << "e=" << e << endl;
	cout << "f=" << f << endl;
}

第十一节 关系运算

用于表达两个表达式的值,运算的结果为1-true和0-false。

== 等于

!= 不等于

< 小于

<= 小于等于

> 大于

>= 大于等于

注意:

1、关系运算符的两边可以是数值,也可以是表达式;

2、用std::cout输出关系运算表达式时,要加括号;

3、关系运算也适用于字符串(string).

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	int a(5), b(8);
	cout << (a == b) << "\n"
		<< (a + 3 == b) << endl;

	cout << (a != b) << "\n"
		<< (a + 3 != b) << endl;

	cout << (a < b) << "\n"
		<< (a + 4 < b) << endl;

	cout << (a+4 <= b) << "\n"
		<< (a + 3 <= b) << endl;

	cout << (a > b) << "\n"
		<< (a + 4 > b) << endl;

	cout << (a >= b) << "\n"
		<< (a + 3 >= b) << endl;

}

第十二节 逻辑运算

根据给定的逻辑因子(表达式或值)返回一个新的逻辑因子。
&& 逻辑与 a&&b 如果a和b都为真,则结果为真,否则为假。
|| 逻辑或 a||b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
! 逻辑非 !a 如果a为假,则!a为真;如果a为真,则!a为假。

注意:
1、逻辑运算符的两边可以是数值,也可以是表达式:
2、用std::cout输出逻辑运算表达式时,逻辑表达式要加括号;
3、在实际开发中,逻辑运算的多重组合是重点。

第十三节 逗号运算

把一行语句中的多个表达式连接起来,程序将从左到右执行表达式。

语法:表达式一,表达式二,表达式n;

逗号表达式常用于声明多个变量。

int a,b // 声明变量a和b

int a=10,b=20 //声明变量a和b并初始化。

也可以用于其他语句中,但是,逗号运算符是所有运算符中级别最低的,以下两个表达式的效果是不同的。

int a, b;

b = a = a, a * 2; //此时输出的a和b的结果都是2.

b = (a = 2, a * 2); // 此时输出的结果a=2,b=4.

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	int a(10), b(20);
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "\n";

	int c = 30, d = 40;
	cout << "c = " << c << endl;      cout << "d = " << d << endl;
	cout << "\n";

	int e, f;
	e = 50, f = 60;
	cout << "e = " << e << endl;
	cout << "f = " << f << endl;
	cout << "\n";

	return 0;
}

第十四节 运算的优先级

一个表达式可以包含多个运算符,运算符的优先级决定了表达式各部分的执行顺序。

例如,按照运算规则,*的优先级比+高,所以b*c将先执行:a+b*c

如果想让a+b先执行,则必须使用括号:(a+b)*c

如果一个表达式中的两个操作数具有相同的优先级,那么他们的结合律决定了他们

的执行顺序(从左到右或从右到左)。例如算术运算的组合方式是从左到右,赋值

运算符则是从右到左。如下:

a/b%c 从左到右 (a/b)%c

a=b=c 从右到左 a=(b=c)

下表是全部运算符的优先级和结合律:

cpp 复制代码
#include<iostream>

using namespace std;

int main()
{
	int a = 2, b = 3, c = 1;
	
	cout << "a * b / c =" << a << endl;

}
相关推荐
Roam-G2 分钟前
Java 中常用的排序算法
数据结构·算法·排序算法
hjxxlsx5 分钟前
插入与冒泡排序(C++)
c++·算法·排序算法
Skrrapper5 分钟前
【数据结构】排序算法系列——快速排序(附源码+图解)
c语言·数据结构·算法·排序算法
Mephisto.java8 分钟前
【力扣 | SQL题 | 每日三题】力扣175, 176, 181
sql·算法·leetcode
Midsummer啦啦啦11 分钟前
NumPy库学习之transpose函数
学习·numpy
木向17 分钟前
leetcode第十二题:整数转罗马数字
c++·算法·leetcode·职场和发展
繁星璀璨G21 分钟前
C++11标准模板(STL)- 常用数学函数 - 计算e的给定幂 (ex)(std::exp, std::expf, std::expl)
开发语言·c++·算法·stl·计算e的给定幂
the sun3422 分钟前
C++红黑树
c++
X² 编程说28 分钟前
14.面试算法-字符串常见算法题(三)
java·数据结构·后端·算法·面试
程序猿练习生29 分钟前
C++速通LeetCode中等第20题-随机链表的复制(三步简单图解)
c++·leetcode·链表