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

C++学习记录2

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

C++学习记录2

文章目录
  • 前言
  • 三、运算符
    • 1. 算术运算符-加减乘除运算
    • 2. 算术运算符-取模运算
    • 3.算术运算符-递增递减
    • 4.赋值运算符
    • 5.比较运算符
    • 6.逻辑运算符
      • 示例1:逻辑非-运算符:!
      • 示例2:逻辑与-运算符:&&
      • 示例3:逻辑或-运算符:||
  • 四、程序流程结构
    • 1.选择结构
      • 1.1 if语句
        • 单行格式if语句: ==if(条件){ 条件满足执行的语句 }==
        • 多行格式if语句: ==if(条件){ 条件满足执行的语句 }else{ 条件不满足执行的语句 }==;
        • 多条件的if语句: ==if(条件){ 条件1满足执行的语句 }else if{ 条件2满足执行的语句 }... else{ 都不满足执行的语句 }==;
        • 嵌套if语句: ==在if语句中,可以嵌套使用if语句,达到更精确的要求==;
        • 练习案例:三只小猪称体重
      • 1.2 三目运算符
      • 1.3 switch语句
    • 2.循环结构
      • 2.1 while循环语句
      • while循环练习案例:猜数字
      • 2.2 do...while循环语句
      • 案例练习:水仙花数
      • 2.3 for循环语句
      • 练习案例:敲桌子
      • 2.4 嵌套循环
      • 练习案例 : 乘法口诀表
    • 3、跳转语句
      • 3.1、 break语句
      • 3.2、continue语句
      • 3.3、goto语句
  • 总结


前言

续前节C++学习记录1


三、运算符
  • 作用:用于执行代码的运算
  • 主要运算符有
1. 算术运算符-加减乘除运算
  • 作用:用于处理四则运算

  • 算术运算符包括以下符号:

           

  • 注:两个整数相除 ,结果依然是整数,将小数部分去除

#include
using namespace std;

int main() {

	// 加减乘除
	int a1 = 10;
	int b1 = 3;

	cout << a1 + b1 << endl;
	cout << a1 - b1 << endl;
	cout << a1 * b1 << endl;
	cout << a1 / b1 << endl;  // 两个整数相除  结果依然是整数,将小数部分去除

	int a2 = 10;
	int b2 = 20;
	cout << a2 / b2 << endl;

	int a3 = 10;
	int b3 = 0;
	
	//cout << a3 / b3 << endl; //错误!两个数相除,除数不可以为0

	//两个小数可以相除
	double d1 = 0.5;
	double d2 = 0.25;
	cout << d1 / d2 << endl;//运算的结果也可以是小数


	system("pause");

	return 0;

}

  • 总结: 两个数相除,除数不可以为0

       

2. 算术运算符-取模运算
  • 取模运算符:%

#include
using namespace std;

int main() {

	int a1 = 10;
	int b1 = 3;
	
	cout << a1 % b1 << endl;

	int a2 = 10;
	int b2 = 20;

	cout << a2 % b2 << endl;

	int a3 = 10;
	int b3 = 0;
	// 两个数相除 除数不可以为0 所以也做不了取模运算
	//cout << a3 % b3 << endl; // 错误

	// 两个小数是不可以做取模运算的
	double d1 = 3.14;
	double d2 = 1.1;

	//cout << d1 % d2 << endl; 错误

	system("pause");

	return 0;

}

3.算术运算符-递增递减
运算符术语示例结果
++前置递增a2 = 10;b2 = ++a2 * 10;a2 = 11;b2 = 110
++后置递增a2 = 10;b2 = a2++ * 10;a2 = 11;b2 = 100
  • 前置递增和后置递增的区别:
  • 前置递增 先让变量+1 然后进行表达式运算
  • 后置递增 先进行表达式运算,后让变量+1
  • 前置递减和后置递减的区别类似于前置递增和后置递增

#include
using namespace std;

int main() {

	//一、递增
	//1、前置递增
	int a = 10;
	++a; //让变量+1
	cout << "a = " << a << endl;

	//2、后置递增
	int b = 10;
	b++; //让变量+1
	cout << "b = " << b << endl;

	//3、前置和后置的区别
	// 前置递增  先让变量+1  然后进行表达式运算
	int a2 = 10;
	int b2 = ++a2 * 10;
	cout << "a2 = " << a2 << endl;
	cout << "b2 = " << b2 << endl;

	// 后置递增  先进行表达式运算,后让变量+1
	int a3 = 10;
	int b3 = a3++ * 10;
	cout << "a3 = " << a3 << endl;
	cout << "b3 = " << b3 << endl;

	//二、递减
	//1、前置递减
	int c = 10;
	--c; //让变量-1
	cout << "a = " << a << endl;

	//2、后置递减
	int d = 10;
	d--; //让变量-1
	cout << "d = " << d << endl;

	//3、前置和后置的区别
	// 前置递减  先让变量-1  然后进行表达式运算
	int c2 = 10;
	int d2 = --c2 * 10;
	cout << "c2 = " << c2 << endl;
	cout << "d2 = " << d2 << endl;

	// 后置递减  先进行表达式运算,后让变量-1
	int c3 = 10;
	int d3 = c3-- * 10;
	cout << "c3 = " << c3 << endl;
	cout << "d3 = " << d3 << endl;

	system("pause");

	return 0;

}

4.赋值运算符
  • 作用: 用于将表达式的值赋给变量
  • 赋值运算符包括以下几个符号:
#include
using namespace std;

int main() {

	//赋值运算

	// =
	int a = 10;
	a = 100;
	cout << "a = " << a << endl;

	// +=
	a = 10;
	a += 2; // a = a + 2;
	cout << "a = " << a << endl;

	// -=
	a = 10;
	a -= 2; // a = a - 2;
	cout << "a = " << a << endl;

	// *=
	a = 10;
	a *= 2; // a = a * 2;
	cout << "a = " << a << endl;

	/
	// 1、提示输入高考分数
	int score = 0;
	cout << "请输入一个高考分数" << endl;
	cin >> score;
	// 2、显示高考分数
	cout << "您输入的高考分数为; " << score << endl;

	// 3、判断
	// 如果大于600, 一本
	    // 大于700  北大
		// 大于650  清华
		// 其余     人大 
	// 如果大于500, 二本
	// 如果大于400, 三本
	// 其余情况, 未考上本科
	if (score > 600)
	{
		cout << "恭喜您考上了一本!" << endl;
		if (score > 700)
		{
			cout << "您能考入北京大学" << endl;
		}
		if (score > 650)
		{
			cout << "您能考入清华大学" << endl;
		}
		else
		{
			cout << "您能考入人民大学" << endl;
		}
	}
	else if (score > 500)
	{
		cout << "恭喜您考上了二本!" << endl;
	}
	else if (score > 400)
	{
		cout << "恭喜您考上了三本!" << endl;
	}
	else
	{
		cout << "很遗憾,您没有考上本科,请再接再厉。" << endl;
	}

	system("pause");

	return 0;
}
练习案例:三只小猪称体重

有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?

#include
using namespace std;

int main() {

	// 三只小猪称体重,判断哪只最重

	//1、创建三只小猪的体重变量
	int num1 = 0;
	int num2 = 0;
	int num3 = 0;

	//2、让用户输入三只小猪的重量
	cout << "请输入小猪A的体重:" << endl;
	cin >> num1;

	cout << "请输入小猪B的体重:" << endl;
	cin >> num2;

	cout << "请输入小猪C的体重:" << endl;
	cin >> num3;

	cout << "小猪A的体重为:" << num1 << endl;
	cout << "小猪B的体重为:" << num2 << endl;
	cout << "小猪C的体重为:" << num3 << endl;

	//3、判断哪只最重
	// 先判断A和B重量
	if (num1 > num2) //A比B重
	{
		if (num1 > num3) //A比C重
		{
			cout << "小猪A最重" << endl;
		}
		else //C比A重
		{
			cout << "小猪C最重" << endl;
		}

	}
	else //B比A重
	{
		if (num2 > num3) //B比C重
		{
			cout << "小猪B最重" << endl;
		}
		else //C比B重
		{
			cout << "小猪C最重" << endl;
		}
	}

	system("pause");

	return 0;
}
1.2 三目运算符

作用: 通过三目运算符实现简单的判断
语法: 表达式1? 表达式2:表达式3
解释:

  • 如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
  • 如果表达式1的值为假,执行表达式3,并返回表达式3的结果。

#include
using namespace std;

int main() {

	//三目运算符

	//创建三个变量a b c
	//将a和b做比较,将变量大的值赋值给变量c

	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;

	system("pause");

	return 0;
}
1.3 switch语句

作用:执行多条件语句
语法:

#include
using namespace std;

int main() {

	//switch语句
	//给电影打分
	// 10-9分  经典
	//  8-7分  非常好
	//  6-5分  一般
	// 5分以下 烂片
	
	//1、提示用户给电影评分
	cout << "请给电影进行打分" << endl;
	//2、用户开始进行打分
	int score = 0;
	cin >> score;
	cout << "您打的分数为:" << score << endl;
	// 3、根据用户输入的分数来提示用户最后的结果
	
	switch (score)
	{
	case 10:
		cout << "您认为是经典电影" << endl;
		break; // 退出当前分支
	case 9:
		cout << "您认为是经典电影" << endl;
		break;
	case 8:
		cout << "您认为电影非常好" << endl;
		break; 
	case 7:
		cout << "您认为电影非常好" << endl;
		break;
	case 6:
		cout << "您认为电影一般" << endl;
		break; 
	case 5:
		cout << "您认为电影一般" << endl;
		break;
	default :
		cout << "您认为这是烂片" << endl;
		break;
	}
	
	//if 和 switch区别?
	//switch 缺点,判断时候只能是整型或者字符型,不可以是一个区间
	//switch 优点,结构清晰,执行效率高

	system("pause");

	return 0;
}
  • 注意1:switch语句中的表达式类型只能是整型或者字符型
  • 注意2:case里如果没有break,那么程序会一直向下执行
  • 总结:与if语句比,对于多条件判断是,switch的结构清晰,执行效率高,缺点是switch不可以判断区间
2.循环结构 2.1 while循环语句

**作用:**满足循环条件,执行循环语句
**语法:**while (循环条件) { 循环语句 }
解释:== 只要循环条件为真,就执行循环语句 ==

#include
using namespace std;

int main() {

	//while循环
	//在屏幕中打印0-9 这10个数字
	int num = 0;
	
	//while()中填入循环条件
	//注意事项:在写循环一定要避免死循环的出现
	while (num < 10)
	{
		cout << num << endl;
		num++;
	}


	system("pause");

	return 0;
}
  • 注意:在执行循环语句时候,程序必须提供跳出循环的出口,否则出现死循环
while循环练习案例:猜数字

案例描述:系统随机生成一个1到100的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并退出游戏。

#include
using namespace std;
//time系统头文件包含
#include

int main() {

	// 添加随机数种子

	//1、系统生成随机数种子  作用:利用当前系统时间生成随机数,防止每次随机数都一样
	srand((unsigned int)time(NULL)); //需要写一个头文件
	
	int num = rand() % 100 + 1;  //rand()%100 + 1 生成 0+1 ~99+1 的随机数
	//cout << num << endl;

	//2、玩家进行猜测
	int val = 0;   //玩家输入数据

	while (1)
	{
		cin >> val;

		//3、判断玩家的猜测
        //猜错  提示猜的结果  过大或者过小  重新返回第2步
		if (val > num)
		{
			cout << "猜测过大" << endl;
		}
		else if (val < num)
		{
			cout << "猜测过小" << endl;
		}
		else
		{
			cout << "恭喜您猜对了" << endl;
			//猜对  退出游戏
			break;//  break,可以利用关键字来退出当前循环
		}
	}

	

	system("pause");

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

int main() {

	//do...while语句
	//在屏幕中输入0到9这10个数

	int num = 0;

	do
	{
		cout << num << endl;
		num++;
	} 
	while (num < 10);

	//do...while和while循环区别在于:do...while先执行一次循环结构,再判断循环条件


	system("pause");

	return 0;
}
案例练习:水仙花数
  • 案例描述:水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
  • 例如:1^3 + 5^3 + 3^3= 153
  • 请利用do…while语句,求出所有3位数中的水仙花数
#include
using namespace std;

#include

int main() {

	//1、先打印所有三位数字
	int num = 100;
	
	do
	{
		//2、从所有三位数中知道水仙花数
		int a = 0; //个位
		int b = 0; //十位
		int c = 0; //百位

		a = num % 10; //获取数字的个位
		b = num / 10 % 10; //获取数字的十位
		c = num / 100; //获取数字的百位


		if (a*a*a + b*b*b + c*c*c == num )//如果是水仙花数,才打印
		{
			cout << num << endl;
		}
		
		num++;
	} while (num < 1000);

	system("pause");

	return 0;
}
2.3 for循环语句
  • 作用:满足循环条件,执行循环语句
  • 语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}
#include
using namespace std;

#include

int main() {
	
	//for循环
	//从数字0 打印到 数字9

	for (int i = 0; i<10; i++)
	{
		cout << i << endl;
	}//可以看成是下面代码的简化版
	//15行到25行可以看做是上面四行代码的具体解释
	


	system("pause");

	return 0;
}

练习案例:敲桌子

案例描述:从1开始数到数字100,如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,
我们打印敲桌子,其余数字直接打印输出。

#include
using namespace std;

#include

int main() {

	//敲桌子案例
	//1、先输出1~100数字
	for (int i = 1; i <= 100; i++)
	{
		//2、从100个数字中找到特殊数字,打印“敲桌子”
		//如果是7的倍数、个位有7、或者十位是7,打印敲桌子
		if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7)//如果是特殊数字,打印敲桌子
		{
			cout << "敲桌子" << endl;
		}
		else //如果不是特殊数字,才打印数字
		{
			cout << i << endl;
		}

	}

	system("pause");

	return 0;
}
2.4 嵌套循环

#include
using namespace std;

#include

int main() {

	//利用嵌套循环实现星图
	
	for (int i = 0; i < 10; i++)//外层循环
	{
		// 内层循环
		//打印一行星图
		for (int j = 0; j < 10; j++)
		{
			cout << "* ";
		}
		cout << endl;
	}

	system("pause");

	return 0;
}
练习案例 : 乘法口诀表



编程的思路:


#include
using namespace std;

#include

int main() {

	//乘法口诀表

	//打印行数
	for (int i = 1; i <= 9; i++)
	{
		//cout << i << endl;
		for (int j = 1; j <= i; j++)
		{
			cout << j << "*" << i << "=" << j*i << "  ";
		}
		cout << endl;
	}



	system("pause");

	return 0;
}
3、跳转语句 3.1、 break语句

作用:用于跳出选择结构或者循环结构
break使用的时机:

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


#include
using namespace std;

#include

int main() {

	//break的使用时机

	//1、出现在switch语句中
	
	//cout << "请选择副本难度" << endl;
	//cout << "1、普通" << endl;
	//cout << "2、中等" << endl;
	//cout << "3、困难" << endl;

	//int select = 0; //创建选择结果的变量

	//cin >> select;

	//switch (select)
	//{
	//case 1:
	//	cout << "您选择的是普通难度" << endl;
	//	break;//退出switch语句
	//case 2:
	//	cout << "您选择的是中等难度" << endl;
	//	break;
	//case 3:
	//	cout << "您选择的是困难难度" << endl;
	//	break;
	//default:
	//	break;
	//}


	//2、出现在循环语句中

	//for (int i = 0; i < 10; i++)
	//{
	//	//如果i等于5,退出循环,不再打印
	//	if (i == 5)
	//	{
	//		break;//退出循环
	//	}
	//	cout << i << endl;
	//}


	//3、出现在嵌套循环语句中
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			if (j == 5)
			{
				break; //退出内层循环
			}
			cout << "*  ";
		}
		cout << endl;
	}

	system("pause");

	return 0;
}

3.2、continue语句

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


#include
using namespace std;

#include

int main() {

	//continue语句

	for (int i = 0; i <= 100; i++)
	{
		//如果是奇数输出,偶数不输出
		if (i % 2 == 0) //0 2 4 6...
		{
			continue; //可以筛选条件,执行到此就不再向下执行,执行下次循环
			//break会退出循环,而continue不会
		}
		cout << i << endl;
	}

	system("pause");

	return 0;
}

3.3、goto语句

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

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

#include
using namespace std;

#include

int main() {

	//goto语句

	cout << "1、xxxx" << endl;

	cout << "2、xxxx" << endl;

	goto FLAG;

	cout << "3、xxxx" << endl;

	cout << "4、xxxx" << endl;

	FLAG:

	cout << "5、xxxx" << endl;


	system("pause");

	return 0;
}
总结

时隔一个月终于把C++学习2写完了,中间帮老师写东西是真的难,尤其还有毕业一堆事,回到家里学习状态也不是很好。

  • 注:markdown中图片居中加 #pic_center
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004665.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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