5.流程控制

1.顺序结构

printf("我\n");
printf("爱\n");
printf("C\n");
printf("语\n");
printf("言\n");


​ 从运行结果可以看出,程序是按照语句的先后顺序执行的 ,像这种就是-顺序结构-。

2.选择结构

if·······else

	int Score;
	scanf("%d",&Score);
	if (Score >= 425)
	{
		printf("英语四级过关\n");
	}
	else 
	{
		printf("英语四级不过关\n");
	}

c.案例3

此外 if···else 还可以无限嵌套,但是每个 if 都必须有相应的 else 。

	int Score;
	scanf("%d",&Score);
	if (Score >= 90)
	{
		printf("优秀\n");
	}
	else if (Score>=75)
	{
		printf("良好\n");
	}
	else if (Score >= 60)
	{
		printf("及格\n");
	}
	else
	{
		printf("不及格\n");
	}

3.switch条件语句

switch 选择 case 想法/情况 break 退出/打破

a.案例1

脑海中的想法: 想法1 餐馆A 退出脑海
想法2 餐馆B 退出脑海`
想法3 餐馆C 退出脑海
想法4 餐馆D 退出脑海
其他的想法···

	char i;
	scanf("%c",&i);
	switch (i)
	{		
                case '1':printf("餐馆A\n");break;
		case '2':printf("餐馆B\n");break;
		case '3':printf("餐馆C\n");break;
		case '4':printf("餐馆D\n");break;
		default:printf("其他\n"); break;
	}  //当case后面接的是字符('' 单引号引用的)时,scanf后面接“%c”字符型。形式要对应!!!

4.循环结构

a.for 循环语句

跑步 : for i : 跑步的人物
起点:0 终点:9 速度:3 10/3=3...1
循环的次数(时间:10)=路程(起点0到终点9)/速度(3)
0-9 从小到大 是正 从大到小是不是就是 反
从大到小 速度为4 循环的次数是3 怎么写???
速度(4)*时间(3)=路程(12)
大数 小数

	int i = 11;
	for (i; i > 0; i-=2)
	{
		printf("我是大帅b!!!(doge)\n");   //{}中是循环体
	}
	
	//跑步:for   i:跑步的人物
	//起点:11  终点:0 速度:2 11/2=5···1
    //for (起点,终点,速度)
	//循环的次数(时间:6)=路程(起点11到终点2)/速度(2)

    //从大到小   速度为4   循环的次数是3
    //速度(4)*时间(3)=路程(12)
	//  大数   小数
    //循环起点=循环次数*循环速度+小数

2.while 结构

从小到大 速度是10 寻次数10 while循环怎么写???

int i=20;                  //起点  小数到大的数字  10*10=100
while (i<120) 
{                          //终点
    printf("我是大帅b!!!(doge)\n");
i = i + 10;                //速度
}

3.do ··· while ··· 结构
int i = 5;
	do
	{
		printf("我是大帅b!!!(doge)\n");   //{}中是循环体  先做
	}
    while (--i)                           //在判断-5-4-3-2-1 结束

4.死循环

1.for(;;){}

2.while (1){}

3.do{} while(1;)

      char x;
	  scanf("%c", &x);
	  while (1)
	  {
	  switch (x)//放在switch之前就是循环printf里面的内容不能完成选择其他项
	   {
	      case '1' : printf("餐馆A\n");break;
		  case '2' : printf("餐馆B\n");break;
		  case '3' : printf("餐馆C\n");break;
		  case '4' : printf("餐馆D\n");break;
		  default:printf("其他\n"); break;
	   }
	  }  



死循环和default冲突了,出现了bug!!!

删掉default

*补充:goto······end

 	printf("         ------------\n");
	printf("         ------------\n");
	printf("         ------------");
	goto end; //直接跳转不会接着执行下面的代码  goto flag(标识符)                    
	printf("         ------------\n");
	printf("         ------------\n");
	printf("         ------------\n");
    end:printf("我是大帅b!!!(doge)\n");  flag:~~~

电子钢琴

#include <stdio.h>       //系统头文件/菜单
#include <windows.h>     //系统头文件/菜单
#include <mmsystem.h>    //系统头文件/菜单
#include <conio.h>
#pragma comment (lib,"winmm.lib")

int main()
{   int x;
while (1)                //死循环可以无限弹奏了!
{
	//scanf("%d", &x);   //然后用这个就要每次按完都要回车  麻烦
	switch (getch()-48)  //getch就不用点回车 从键盘中获取一个字符(ASCll码)
	{                    //字符‘1’是十进制中的49  下表
		case 1:mciSendString("close 1.mp3", 0, 0,0); mciSendString("play 1.mp3", 0, 0, 0);break;
		case 2:mciSendString("close 2.mp3", 0, 0,0); mciSendString("play 2.mp3", 0, 0, 0);break;
		case 3:mciSendString("close 3.mp3", 0, 0,0); mciSendString("play 3.mp3", 0, 0, 0);break;
		case 4:mciSendString("close 4.mp3", 0, 0,0); mciSendString("play 4.mp3", 0, 0, 0);break;
		case 5:mciSendString("close 5.mp3", 0, 0,0); mciSendString("play 5.mp3", 0, 0, 0);break;
		case 6:mciSendString("close 6.mp3", 0, 0,0); mciSendString("play 6.mp3", 0, 0, 0);break;
		case 7:mciSendString("close 7.mp3", 0, 0,0); mciSendString("play 7.mp3", 0, 0, 0);break;
		case 8:mciSendString("close 8.mp3", 0,0, 0); mciSendString("play 8.mp3", 0, 0, 0);break;
	}
}//close是把音乐关闭 再播放 就避免了计算机的优化

	return 0;
}//1234567电子钢琴 do、re、mi、fa、sol、la、ti(中国为si)

posted @ 2022-09-27 22:16  咸鱼呦  阅读(12)  评论(0)    收藏  举报