【C++基础语法入门】4.程序流程结构

C/C++支持组基本的三种程序运行结构为:顺序结构、选择结构、循环结构

1.选择结构

1.1 if语句

(1)
单行格式if语句:if(条件){条件满足执行的语句;},注意if条件后面不要加分号!
多行格式if语句:if(条件){条件满足执行的语句;}else{条件满足执行的语句;}
多条件的if语句:if(条件1){条件1满足执行的语句;}else if(条件2){条件2满足执行的语句;} ... else{都不满足执行的语句; }

//单行if语句
if (score > 600)
{
cout << "分数大于600" << endl;
} 

//多行if语句
if (score > 600)
{cout << "分数大于600" << endl;}
else
{cout << "分数不大于600" << endl;}

//多条件的if语句
if (score > 600)
{cout << "分数大于600" << endl;}
else if (score > 400)
{cout << "分数大于400,但不大于600" << endl;}
else
{cout << "分数不大于400" << endl;}

(2)
嵌套if语句:

if (score > 600)
{
	cout << "分数大于600" << endl;
	if (score > 650)
	{cout << "分数大于650" << endl;}
	else
	{cout << "分数不大于650" << endl;}
}
else
{cout << "分数不大于600" << endl;}

1.2 三目运算符

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

c = (a > b ? a : b); //c为a和b中大的那个 

在C++中,三目运算符返回的是变量,可以继续赋值,如(a > b ? a : b) = 100;就是让a和b之间大的那个变量为100。

1.3 switch语句

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

switch(表达式)
{
	case 结果1 : 执行语句; break;
	case 结果2 : 执行语句; break;
	...
	default : 执行语句; break;
}

举例:

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;
}

break的作用是退出当前分支,不再往下执行了。若没有break的话,从满足条件的那个分支开始,后面的操作都会执行,比如score为6,那么会输出一般、一般、不太好。

2.循环结构

2.1 while循环

语法:while(循环条件){循环语句}

补充:
①生成随机数

rand()%100;   //会生成一个0-99的随机数
int num = rand()%100 + 1;    //num为1-100的一个随机数

但这样生成的是伪随机数,每次都是一样的。
②添加随机数种子,利用当前系统时间生成随机数,防止每次随机数都一样

#include <ctime> //添加头文件
srand((unsigned int)time(NULL));
int num = rand()%100 + 1;    //num为1-100的一个随机数

并且别忘了使用break关键字可以退出当前循环

2.2 do…while循环

语法:do{循环语句}while(循环条件);这后面有个分号别忘啦!
与while的区别在于do…while会先执行一次循环语句,再判断循环条件

补充
对于一个三位数,对该数字取模%于10,可获得个位数字;整除以10,再取模于10,可以获得十位数字;整除以100,取模于10,可以获得百位数或者该数字直接整除于100,获取百位数。

2.3 for循环

语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}其中for里面的三个表达式都可以省略不写,但分号得写,去表示它们的相对位置
举例:

for (i=0; i<10; i++)
{cout << i << endl;}

会输出数字0-9

以下为打印9×9乘法口诀表的代码:

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;
	}

3.跳转结构

3.1 break语句

作用:用于跳出选择结构或者循环结构

break使用的时机:

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

3.2 continue语句

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

3.3 goto语句

作用:可以无条件跳转语句
语法:goto 标记;如果标记的名称存在,执行到goto语句时,就会跳转到标记的位置
举例:

goto A;

A:xxx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值