C++学习(1)

89 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

@[toc]

一、hello world书写

#include <iostream>
using namespace std;
int main()
{
	cout << "hello world!" << endl;
	system("pause");
	return 0;
}

在这里插入图片描述在这里插入代码片

记住C++的书写格式就好,其余的没啥。

二、运算符号

#include <iostream>
using namespace std;
int main()
{
	int a1 = 10;
	int b1 = 5;

	int a2 = 10;
	int b2 = a2++;
	int b3 = ++a2;

	cout << a1 + b1 << endl;
	cout << a1 * b1 << endl;
	cout << a1 % b1 << endl;

	cout <<"b2 = "<< b2 << endl;
	cout << "b3 = " << b3 << endl;

	system("pause");
	return 0;
}

在这里插入图片描述 其实运算符和c是一摸一样的。只是写法不一样而已。

三、输入符号

c++中可以使用 cin来指定输入定义,用法如下:

#include <iostream>
using namespace std;
int main()
{
	int score;
	cout << "请输入一个分数:" << endl;
	cin >> score;
	cout << "你输入的分数为:" << score << endl;
	system("pause");
	return 0;
}

在这里插入图片描述

四、循环

c++中的循环和C语言的循环都是一摸一样的,所以这里就不写了。 if、while、do while、switch这些都是一样的。

五、数组

5.1 一维数组

数组定义的三种方式: 1)数据类型 + 数组名 + 数组长长度 2)数据类型 + 数组名[数组长度] + 数组值 3)数据类型 + 数组名 + 数组值

数组的特点: 1)放在一块连续的内存空间中; 2)数组中的每个元素都是同一种类型;

可以看看下面三种命名方式

#include <iostream>
using namespace std;
int main()
{
	/*第一种命名方式*/
	int arr[5];
	arr[0] = 1;
	arr[1] = 2;
	arr[2] = 3;
	arr[3] = 4;
	arr[4] = 5;

	cout << arr[0] << endl;
	cout << arr[1] << endl;
	cout << arr[2] << endl;
	cout << arr[3] << endl;
	cout << arr[4] << endl;
	system("pause");
	return 0;
}

在这里插入图片描述

#include <iostream>
using namespace std;
int main()
{
	/*第二种命名方式*/
	int arr[5] = {10, 20, 30, 40, 50};

	cout << arr[0] << endl;
	cout << arr[1] << endl;
	cout << arr[2] << endl;
	cout << arr[3] << endl;
	cout << arr[4] << endl;
	system("pause");
	return 0;
}

在这里插入图片描述

#include <iostream>
using namespace std;
int main()
{
	/*第三种命名方式,自动分配空间*/
	int arr[] = {10, 20, 30, 40, 50, 60, 70};

	for (int i = 0; i < 7; i++) {
		cout << arr[i] << endl;
	}
	system("pause");
	return 0;
}

在这里插入图片描述

5.2 计算数组的内存大小

#include <iostream>
using namespace std;
int main()
{
	int arr[] = {10, 20, 30, 40, 50, 60, 70};

	cout << "整个数组一共占有空间="  << sizeof(arr) << endl;
	cout << "每个元素占用的空间=" << sizeof(arr[0]) << endl;
	cout << "这个素组的元素个数=" << sizeof(arr) /sizeof(arr[0]) << endl;
	system("pause");
	return 0;
}

在这里插入图片描述

5.2 计算数组的内存地址

#include <iostream>
using namespace std;
int main()
{
	int arr[] = {10, 20, 30, 40, 50, 60, 70};

	cout << "整个数组一共占有空间="  << sizeof(arr) << endl;
	cout << "每个元素占用的空间=" << sizeof(arr[0]) << endl;
	cout << "这个素组的元素个数=" << sizeof(arr) /sizeof(arr[0]) << endl;

	cout << "第一个元素的地址为=" << (int)&arr[0] << endl;
	cout << "第二个元素的地址为=" << (int)&arr[1] << endl;
	system("pause");
	return 0;
}

在这里插入图片描述从地址上我们也可以看出int占用的大小为4字节

5.3 数组练习题-找最大值

#include <iostream>
using namespace std;
int main()
{
	//创建一个数组
	int arr[] = {300, 350, 200, 400, 250};
	int max = 0;
	int i;
	for (i = 0; i < 5; i++) {
		if (max < arr[i]) {
			max = arr[i];
		}
	}
	cout << "最大值为:" << max << endl;
	system("pause");
	return 0;
}

在这里插入图片描述

5.4 数组练习题-倒序输出

#include <iostream>
using namespace std;
int main()
{
	//创建一个数组
	int arr[] = {10, 20, 30, 40, 50};
	int i;
	/* 计算数组个数 */
	cout << "这个素组的元素个数=" << sizeof(arr) / sizeof(arr[0]) << endl;
	for (i = sizeof(arr) / sizeof(arr[0]); i > 0 ; i--) {
		cout << "倒序输出=" << arr[i-1] << endl;
	}
	system("pause");
	return 0;
}

在这里插入图片描述

六、二维数组

6.1 数组的定义

二位数组相对以为数组来说,多了一列吧,可以理解为一维数组只有一横,二维数组有一横加一列。 二维数组的定义方式: 1、数据类型 + 数组名 [行数] [列数] 2、数据类型 + 数组名 [行数] [列数] = {{数据1,数据2} ,{数据3,数据4}}; 3、数据类型 + 数组名 [行数][列数] = {数据1,数据2,数据3,数据4}; 4、数据类型 + 数组名 [ ] [列数] = {数据1,数据2,数据3,数据4}; 第二种用的比较多也想多比较直观。 这里就简单演示下第二种

#include <iostream>
using namespace std;
int main()
{
	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] << " ";
		}
		cout << endl;
	} 
	system("pause");
	return 0;
}

在这里插入图片描述

6.2 二维数组的数组名

#include <iostream>
using namespace std;
int main()
{
	/*二位数组的名称*/
	int arr[2][3] =
	{
		{1, 2, 3},
		{4, 5, 6}
	};
	/*1、查看内存大小*/
	cout << "二维数组的大小" << sizeof(arr) << endl;
	cout << "二维数组的第一行大小" << sizeof(arr[0]) << endl;
	cout << "二维数组的第一个元素大小" << sizeof(arr[0][0]) << endl;
	/*倒推二维数组的列*/
	cout << "二维数组的列数" << sizeof(arr[0])/sizeof(arr[0][0])  << endl;
	/*倒推二维数组的列*/
	cout << "二维数组的行数" << sizeof(arr)/sizeof(arr[0]) << endl;
	/*元素地址*/
	cout << "二维数组的第一个元素的首地址" << (int)(arr) << endl;
	cout << "二维数组的第一行元素的首地址" << (int)(arr[0]) << endl;
	cout << "二维数组的第二行元素的首地址" << (int)(arr[1]) << endl;
	system("pause");
	return 0;
}

在这里插入图片描述

6.3 二维数组总结

#include <iostream>
#include <string>
using namespace std;
int main()
{
	int arr[3][3] =
	{
		{100, 100, 100},
		{90, 90, 90},
		{80, 80, 80}
	};

	string name[3] = { "张三", "李四", "王五" };
	for (int i = 0; i < 3; i++) {
		int sum = 0; //每次都初始化为0开始计算
		for (int k = 0; k < 3; k++) {
			sum += arr[i][k];
		}
		cout << name[i] << "的总成绩为" << sum << endl;
	}

 	system("pause");
	return 0;
}

在这里插入图片描述