C++学习的总结(基础篇三)

C++学习(基础篇三)

程序控制流程

C/C++支持最基本的三种程序运行结构:
1.顺序结构
程序按顺序执行,不发生跳转
2.选择(分支)结构
依据条件是否满足,有选择的执行相应功能
3.循环结构
依据条件是否满足,循环多次执行某段代码

选择结构

switch语句

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

switch(表达式)
		{
		   case 结果1 : 执行语句 ;breakcase 结果2 :  执行语句 ; break;
		   ...
		   default : 执行语句 ; break ;
		}
//输入一个百分制成绩,转换成"优"、"良"、"中"、"及格"、"不及格"的五级制输出。
#include<iostream>
using namespace std;
int main()
{
	//输入分数
	int socre;
	cout << "请输入分数 = ";
	cin >> socre;
	if (socre < 0 || socre > 100)
	{
		cout << "输入的分数有错误" << endl;
		exit(1);
	}
	else
	{
		switch (socre / 10)
		{
		case 10:
		case 9:cout << "您的成绩是-	优" << endl; break;
		case 8:cout << "您的成绩是-	良" << endl; break;
		case 7:cout << "您的成绩是-	中" << endl; break;
		case 6:cout << "您的成绩是-	及格" << endl; break;
		default:cout << "您的成绩是-	不及格" << endl; break;
		}
	}
	system("pause");
	return 0;
}

if语句

作用:执行满足条件的语句。
if语句的三种形式:
1.单行格式if语句
注意: if条件后面不要加分号(否则将不会判断if里的条件)
语法:

	if (条件)
	{
	  条件满足执行的语句
	}

2.多行格式if语句
语法:

	if(条件)
	{
	  条件满足执行的语句
	}
	else
	{
	  条件不满足执行语句
	}

3.多条件的if语句
语法:

if(条件1)
	{
	  条件1满足执行的语句
	}
	****条件1成立时将不再进行后边的运行****
	else if(条件2)
	{
	  条件2满足执行的语句
	}
	.....
	else
	{
	  都不满足执行的语句
	}

嵌套if语句
在if语句中,可以嵌套使用if语句,达到更精确的条件判断

#include <iostream>
using namespace std;
int main()
{
	//选择结构--if语句
	//例子--用户输入分数,如果分数大于700分,考上了重点大学,并恭喜,
	//                            大于710分
	//                            大于720分
	//                    如果分数大于600分,考上了一本大学,并恭喜,
	//                    如果分数大于400分,考上了二本大学,并恭喜,
	//                    小于等于400分,请您复读吧!!,
	
	//用户输入分数
	int score;
	cout << "请输入您的高考成绩:" ;   
	cin >> score;           
	 
	//判断score大于700 则输出大括号内的内容
	if (score > 700)
	{
		    cout << "********恭喜您考上了重点大学********" << endl;
		if (score > 710 )
		{
			cout << "********您能考入北京大学********" << endl;
		}
		if (score > 720)
		{
			cout << "********您能考入清华大学********" << endl;
		}
		else 
		{
			cout << "********您能考入985大学********" << endl;
		}
	}
	//判断score大于600 则输出else if后的大括号内的内容
	else if (score > 600)
	{
		cout << "********恭喜您考上了一本大学********" << endl;
	}
	//判断score大于400 则输出else if后的大括号内的内容
	else if (score > 400)
	{
		cout << "********恭喜您考上了二本大学********" << endl;
	}
	//其他情况(score<=400) 则输出else后的大括号内的内容
	else
	{
		cout << "********少壮不努力 老大徒伤悲 复读吧少年!!********" << endl;
	}

	system("pause");
	return 0;
}

循环结构

while 循环语句

作用:满足循环条件,执行循环语句。
语法:

while(循环条件)
        {
		   循环语句;
		}

只要循环条件的结果为真,就执行循环语句。

//while案例练习 猜数字
//系统随机生成一个1-100之间的数字,玩家进行猜测,如果猜错提示玩家数字过大或过小,如果猜对恭喜玩家,并退出。
#include <iostream>
using namespace std;
//系统时间头文件
#include<ctime>
int main()
{
	//添加随机种子,利用当前系统时间生成随机数,防止每次随机数都一样。
	srand((unsigned int)time(NULL));
	//随机生成一个1-100之间的数字
	int num;
	num = rand() % 100 + 1;
	int guss  = 0;
	int cishu = 0;
	while (cishu < 5)
	{
		cout << "输入猜测的数字 :" << endl;
		cin >> guss;
		if (guss > num) 
		{ 
			cout << "您猜的数大了" << endl;
		}
		else if(guss < num)
		{
			cout << "您猜的数小了" << endl;
		}
		else
		{
			cout << "恭喜您,猜对啦!!" << endl;
			break;//退出当前循环。
		}
		cishu++;
	}
	cout << endl<< "***************GAME OVER!!***************" << endl;
	system("pause");
	return 0;1
}

do…while循环语句

作用:满足循环条件,执行循环语句。
语法:

   do
   {
		循环语句;
   }while(循环条件);

注意:与while区别在于do…while会先执行一次循环语句,再判断循环条件。

//练习案例-- 三位数的水仙花数
#include <iostream>
using namespace std;
int main()
{
	int num = 100;
	do
	{
		int g = num % 10;       //取各位
		int s = num / 10 % 10;  //取十位
		int b = num / 100;      //取百位
		if (g*g*g + s * s*s + b * b*b == num)
		cout << num << endl;
		num++;
	} while (num < 1000);

	system("pause");
	return 0;
}

for循环语句

作用:满足循环条件,执行循环语句。

语法:for(起始表达式;条件表达式;末尾表达式)
		{
			循环语句;
		}
//案例练习 敲桌子
//输出1~100个数 如果个位数是7或者十位数是7或者是7的倍数输出敲桌子,否则输出原数值。
#include <iostream>
using namespace std;
int main()
{
	//输入数字
	int i;
	for (i = 1; i <= 100; i++)
	{
		int g = i % 10;    //取个位数
		int s = i / 10;    //取十位数
		if (g == 7 || s == 7 || i % 7 == 0)  //判断个位数是7或者十位数是7或者是7的倍数
		{
			cout << "敲桌子" << endl;
		}
		else
		{
			cout << i << endl;
		}
	}
	system("pause");
	return  0;
}

嵌套循环

作用:在循环中再嵌套一层循环,解决一些实际问题。

//嵌套案例--乘法口诀表
#include<iostream>
using namespace std;
int main()
{
	for (int i = 1; i <= 9; i++)             //输出9行数
	{
		for (int j = 1; j <= i; j++)         //输出列 列数小于等于行数
		{
			cout << j << "*" << i << "=" << i * j<<"	";
		}
		cout << endl;
	}
	system("pause");
	return 0;
}
//输出等腰三角形的 * 
#include <iostream>
using namespace std;
int main()
{
	for (int i = 1; i <= 5; i++)          //输出5行
	{
		for (int j = 0; j < 5 - i; j++)    //先输出空格
		{
			cout << " ";
		}
		for (int j = 0; j < 2 * i - 1; j++)
		{
			cout << "*";
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值