栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++笔记,从第一个程序到数组 10.10

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++笔记,从第一个程序到数组 10.10

	//变量:
	//变量创建的语法:书库类型 变量名 = 变量初始值
	//eg: int(整形变量) a = 10;

	


	//常量:
	//用于记录程序中不可更改的数据
	//两种定义常量的方法:
    //1、#define 常量名(宏常量) 常量值 
	//define Day 7
	//define Day 14(会报错,不可以修改,即不能加这句)
	//cout << "一周总共有:" << Day <<  "天" << endl;(输出这个常量)

	//2、const修饰的变量
	//const int month = 12;
	//month = 24;(会报错,不可以修改,即不能加这句,const修饰的变量也称作为常量)
	//cout << "一年总共有:" << month <<"个月份"<< endl;



	





//注释:
//单行注释




//关键字(预先保留的单词,是标识符),eg:在定义变量或者常量的时候,不要用关键字,会产生歧义(是数据类型还是变量名称,产生了矛盾)
//https://www.runoob.com/w3cnote/cpp-keyword-intro.html, 具体含义



//标识符(变量、常量、函数、语句块等命名的泛统称)
//标识符命名规则:(eg:关键字与标识符的区别:关键字是系统自带的 ,标识符是自定义的。关键字是一种特殊意义的标识符,当一般把它当成关键字,如if只能是关键字)
//1、标识符只能由字母 数字 下划线组成
//2、第一个字符必须是字母或者是下划线,不能是数字如int 123就不行
//3、/标识符的字母是区分大小写的,如dk不等于DK




//数据类型(C++规定在创建一个变量或者常量时,必须要指定出相应的书库类型,否则无法给变量分配内存)
//eg:数据类型的存在意义:给变量“合适”的内存空间
//1、整型(即表示整数类型的数据):
//   short(短整型)       大小:2字节 取值范围:-2^15~2^15-1    如short num1 = 10;  (2^15=32768)
//   int(整型)            大小:4字节 取值范围:-2^31~2^31-1    如int num2 = 10;
//   long(长整型)         大小:win 4字节 linux 4(32位)8(64位) 取值范围:-2^31~2^31-1
//   long long(长长整型)  大小:8字节 取值范围:-2^63~2^63-1  如long long num4=10
//输出:cout << "num1=" << mum1 << endl;
//eg:整形大小比较:/short,dev vs2019 xcode clion 不需要加)

//6、布尔数据类型 bool:在c++中代表真或假的一个值
//   bool类型(大小1字节)只有两个值:
//   true 真(本质是1) false 假(本质是0)
//   语法 bool 变量名 = true //除了0以外都是真

//7、数据的输入(输出是cout,对应的就是输出cin)
//列子:inta = 0 (这里用整型做例子,其他数据类型通用)
//     cout<<"请给整型变量a赋值;"<> a;
//     cout<<"整型变量a ="<=(大于等于)  4= =3 结果 1

//    逻辑运算符,用与根据表达式中的值返回真值或假值
//    1、非:! 实例:!a 含义:如果a为真,则a为假;如果a为假,则a为真
//    2、与:&& 实例:a&&b 含义:若果a和b都为真,则结果为真(1),否则为假(0)
//    3、或:||(键盘中的右斜杠)实例:a||b 含义:如果a和b有一个为真 则结果为真,二者都为假是,结果为假 cout<<(||a)<> score; (从键盘获取分数)
//    
//   (2):打印用户输入的分数
//     cout<<"您输入的分数为"< 600)(这里语句后面不能加分号;http://bbs.itheima.com/thread-208805-1-1.html)
//   {
//    cout<<"恭喜你考上了一本大学"<> score;
//    
//    (2):提示用户输入的分数
//     cout<<"您输入的分数为"<600)
//    {
//    cout<<"恭喜你考上一本"<> score;
//    
//    (2):提示用户输入的分数
//     cout<<"您输入的分数为"<600)
//    {    
//    cout<<"恭喜您考上一本"<500)
// {
//  cout<<"恭喜您考上二本"<400)
//   {
//   cout<<"恭喜您考上三本"<600)
//  {
//  cout << "恭喜您考上一本" << endl;
//  if (score > 700)
//  {
//	cout << "恭喜您考入被打" << endl;
//  }
//  else if (score > 650)
//  {
//	cout << "恭喜您考入清华" << endl;
//
//  }
//  else(score > 600)
//  {
//	cout << "恭喜您考入人大" << endl;
//	}
//  }

// 5、三目运算符(如果表达式1的值为真,执行表达式2,并返回表达式2的结果;)
// int main() {
//
//int a = 10;
//int b = 20;
//int c = 0;
//
//c = a > b ? a : b;
//cout << "c = " << c << endl;
//
C++中三目运算符返回的是变量,可以继续赋值
//
//(a > b ? a : b) = 100;
//
//cout << "a = " << a << endl;
//cout << "b = " << b << endl;
//cout << "c = " << c << endl;
//
//system("pause");

//return 0;
//}

//6、switch语句(int main() {
// 表达式:switch

//{
//
//case 结果1:执行语句; break;
//
//	case 结果2:执行语句; break;
//
//		...
//
//	default:执行语句; break;
//
//}
//例子:
//int main() {
//
//	//请给电影评分 
//	//10 ~ 9   经典   
//	// 8 ~ 7   非常好
//	// 6 ~ 5   一般
//	// 5分以下 烂片
//
//	int score = 0;
//	cout << "请给电影打分" << endl;
//	cin >> score;
//
//	switch (score)
//	{
//	case 10:
//	case 9:
//		cout << "经典" << endl;
//		break;
//	case 8:
//		cout << "非常好" << endl;
//		break;
//	case 7:
//	case 6:
//		cout << "一般" << endl;
//		break;
//	default:
//		cout << "烂片" << endl;
//		break;
//	}
//
//	system("pause");
//
//	return 0;
//}

//4.2 循环结构while(循环条件) { 循环语句 }
//只要循环条件的结果为真,就执行循环语句
//int main() {
//
//	int num = 0;
//	while (num < 10)
//	{
//		cout << "num = " << num << endl;
//		num++;
//	}
//
//	system("pause");
//
//	return 0;
//}
//
//
//do…while循环语句
//**注意:**与while的区别在于do…while会先执行一次循环语句,再判断循环条件
//int main() {
//
//	int num = 0;
//
//	do
//	{
//		cout << num << endl;
//		num++;
//
//	} while (num < 10);
//
//
//	system("pause");
//
//	return 0;
//}
//
//
//for循环语句
//int main() {
//
//	for (int i = 0; i < 10; i++)
//	{
//		cout << i << endl;
//	}
//
//	system("pause");
//
//	return 0;
//}
//跳转语句
//1、break语句
//int main() {
//	//1、在switch 语句中使用break
//	cout << "请选择您挑战副本的难度:" << 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;
//}
//
//
//int main() {
//	//2、在循环语句中用break
//	for (int i = 0; i < 10; i++)
//	{
//		if (i == 5)
//		{
//			break; //跳出循环语句
//		}
//		cout << i << endl;
//	}
//
//	system("pause");
//
//	return 0;
//}
//
//2、 continue语句
//int main() {
//
//	for (int i = 0; i < 100; i++)
//	{
//		if (i % 2 == 0)
//		{
//			continue;
//		}
//		cout << i << endl;
//	}
//
//	system("pause");
//
//	return 0;
//}
//
//
//goto语句(解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置)
//
//
//
//数组(所谓数组,就是一个集合,里面存放了相同类型的数据元素)
//eg1:数组中的每个数据元素都是相同的数据类型
//eg2:数组是由连续的内存位置组成的
//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;
//}
//一维数组数组名
//一维数组名称的用途:
//(1)可以统计整个数组在内存中的长度
//(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;
//}
//eg:数组名是常量,不可以赋值
//冒泡排序( 最常用的排序算法,对数组内元素进行排序)
//eg1比较相邻的元素。如果第一个比第二个大,就交换他们两个。
//eg2对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
//eg3重复以上的步骤,每次比较次数 - 1,直到不需要比较
//例子:将数组{ 4,2,8,0,5,7,1,3,9 } 进行升序排序
//int main() {
//
//	int arr[9] = { 4,2,8,0,5,7,1,3,9 };
//
//	for (int i = 0; i < 9 - 1; i++)
//	{
//		for (int j = 0; j < 9 - 1 - i; j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				int temp = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = temp;
//			}
//		}
//	}
//
//	for (int i = 0; i < 9; i++)
//	{
//		cout << arr[i] << endl;
//	}
//
//	system("pause");
//
//	return 0;
//}
//二维数组(二维数组就是在一维数组上,多加一个维度。)
//二维数组定义的四种方式:
//
//1、数据类型 数组名[行数][列数];
//2、数据类型 数组名[行数][列数] = { {数据1,数据2 } ,{数据3,数据4 } };(直观,提高代码的可读性)
//3、数据类型 数组名[行数][列数] = { 数据1,数据2,数据3,数据4 };
//4、数据类型 数组名[][列数] = { 数据1,数据2,数据3,数据4 };
//
//二维数组数组名(二维数组名就是这个数组的首地址)
//int main() {
//
//	//二维数组数组名
//	int arr[2][3] =
//	{
//		{1,2,3},
//		{4,5,6}
//	};
//
//	cout << "二维数组大小: " << sizeof(arr) << endl;
//	cout << "二维数组一行大小: " << sizeof(arr[0]) << endl;
//	cout << "二维数组元素大小: " << sizeof(arr[0][0]) << endl;
//
//	cout << "二维数组行数: " << sizeof(arr) / sizeof(arr[0]) << endl;
//	cout << "二维数组列数: " << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;
//
//	//地址
//	cout << "二维数组首地址:" << arr << endl;
//	cout << "二维数组第一行地址:" << arr[0] << endl;
//	cout << "二维数组第二行地址:" << arr[1] << endl;
//
//	cout << "二维数组第一个元素地址:" << &arr[0][0] << endl;
//	cout << "二维数组第二个元素地址:" << &arr[0][1] << endl;
//
//	system("pause");
//
//	return 0;
//}
//eg:对二维数组名进行sizeof时,可以获取整个二维数组占用的内存空间大小

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号