黑马程序员匠心之作小白学习记录(基础知识)

/大一小白,B站黑马程序员学习记录(程序流程结构)
程序流程结构
顺序结构:程序按顺序执行,不发生跳转
选择结构:依据条件是否满足,有选择的执行相应功能
循环结构:依据条件是否满足,循环多次执行某段代码
///选择结构
//if语句
if(条件){//条件满足时执行语句}
注意事项:if条件语句后不要加分号
if(条件){//条件满足时执行语句};
else{//条件不满足时执行语句};
/嵌套if语句
if(){if(){}}
/案例:三只小猪称体重

#include<iostream>
using namespace std;

int main(){
	int num1=0;
	int num2=0;
	int num3=0;
	cout<<"请输入小猪123的体重num1\num2\num3<<endl;
	cin>>num1>>num2>>num3;
	if(num1>num2){
		if	(num1>num3){
			cout<<"小猪1最终"<<endl;
		}
	}
}
//小猪2,3同理
return 0;

//三目运算符
条件?结果1:结果2;
如果条件成立,返回结果1,反之,返回结果2
注意:在c++中三目运算符返回的是变量,可以继续赋值。
例如

(a>b?a:b)=100

//switch语句
作用:执行多条件分支语句
switch(表达式){
case 结果1:执行语句;break;
case 结果2:执行语句;break;
case 结果3:执行语句;break;

default(上述结果中均不满足):执行语句;break;
}
/break跳出分支
switch的缺点,判断时只能是整型或字符型,不可以是一个区间
优点:结构清晰,执行效率高

///循环结构
//while循环语句
作用:满足循环条件,执行循环语句
while(循环条件){循环语句}
/只要循环条件的结果为真,则执行循环语句
注意写循环时避免死循环
//案列:猜数字

#include<iostream>
#include<ctime>
using namespace std;

int main(){
	srand((unsigned int)time(NULL));
	int num=rand(%100+1int val=0;
	cin>>val;
	while(1){
		if(val>num){
			cout<<"猜测过大"<<endl;
		}
		else if(val<num){
			cout<<"猜测过小"<<endl;
		}
		else
		{
			cout<<"恭喜您猜对了"<<endl;
			break;
		}
	}
}
			

//do while 语句
作用:满足循环条件,执行循环语句
语法:do{循环语句}while(循环条件);
注意:与while的区别在于do…while会先执行一次循环语句在判断循环条件
//案例:打印水仙花数

#include<iostream>
using namespace std;

int main(){
	int num=100;
	do{
		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<=999;
	return 0;
}	

//for循环
作用:满足循环条件,执行循环语句
语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}
//案例:敲桌子
描述:从1开始数到数字100,如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出

#include<iostream>
using namespace std;

int main(){
	for(int num=1;num<=100;num++){
		if(num%7==0||num%10==7||num/10==7){
			cout<<"敲桌子"<<endl;
		}
		else{
			cout<<num<<endl;
		}
	}
	return 0;
}

//嵌套循环

for(int i=0;i<10;i++){
	for(int n=0;n<10;n++){
		cout<<"*"<<"\t"<<endl;
	}
}

//案例:乘法口诀表

#include<iostream>
using namespace std;

int main() {
	for (int i = 1; i <= 9; i++) {
		for (int j = 1; j <= i; j++) {
			cout << j << "*" << i << "=" << j * i<<"\t";
		}
		cout << endl;
	}
	return 0;
}

///跳转语句
//break语句
作用:用于跳出选择结构或者循环结构
break使用的时机:
1、出现在switch条件语句中,作用是终止case并跳出switch;
2、出现在循环语句中,作用是跳出当前的循环语句;
3、出现在嵌套循环中,跳出最近的内层循环语句。

//continue语句
作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续下一次循环
注意:break会退出循环,continue不会
//goto语句
作用:无条件的跳转语句
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
语法
1xxxxxxx
goto A
2xxxxxxx
A
3xxxxxx
会先执行3后执行2
不推荐使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值