商城网站建设与维护方案,深圳网络科技公司大全,美食网站功能建设,网站开发案例教程导言#xff1a; 在人生中我们总会有选择#xff0c;**如下一顿吃啥#xff1f;**又或者每天都是在重复#xff0c;吃饭#xff01;#xff01;#xff01;#xff01;#xff0c;当然在C语言中也有选择和重复那就是分支语句与循环语句 文章目录 分支循环循环中的关键…导言 在人生中我们总会有选择**如下一顿吃啥**又或者每天都是在重复吃饭当然在C语言中也有选择和重复那就是分支语句与循环语句 文章目录 分支循环循环中的关键字 分支
在C语言中可以实现分支的有俩种语法
if else if else
//他可以实现单分支也可以实现多分支//简单的单分支的情况
int decide;
scanf(%d,decide);
printf(是否要好好学习C语言(Y/N):)
if(decide Y)printf(你在不懈努力下学会C语言)
elseprintf(你没有学会C语言);//多分支,最近学习考试给分不是已经按照不及格及格良优秀而不是分数那按照上面的当分支的情况显然无法满足
int mark;
if(mark60)printf(不及格);
else if(mark80)printf(及格);
else if(mark 90)pritf(优秀);
elseprintf(优秀);tips:
//当你只有1条语句的时候 {}是可以省去的但是他会引发一个问题
int a 20;
if(a 10)if(a 20)printf(haha);
elseprintf(hehe);//你会不会立说结果是 hehe呢其实是haha因为else会与最近的if匹配那么上述的代码调整一下就是如下所示:
int a 20;
if(a 10)if(a 20)printf(haha);elseprintf(hehe);//那么你在这里其实也可以看出一个现象那就是ifelse无落多少个else if 都只算一条语句switch
//多用于不同数据同一结果多分支来简化,主要语法如下
switch(值)
{case 值1:break;case 值2:break;case 值3:breakcase 值4:breakcase 值5:breakdefault:break;
}//1. case就等同与if但是他的值只有和switch的值一样才可以进入
//2. 如果case 后没有break就会一直执行下面case
//3. default可放在任何位置int i 0;
switch(1)
{case 1:case2:case 3:case 4:case 5:default:i;
}
//结果是1 当进入case 1 没有brea解说判断则会一直往下知道找到break,或者判断结束循环
while(条件) { 语句 }
//一般用于不知道需要循环次数的情况
//这个其实就是if的进化版if只执行一次而while可执行多次//不知道你是否听过1万小时定律就是某件事知道学习进行1w小时那么你就算是在这件事上有话语权
int hour 0; //与条件相关的变量
while(hour 10000) //条件
{hour;//调整部分/执行的语句
}
printf(在你不懈的努力下你终于在这件事有了一定的话语权)for( ; ; ) {}
//用于知道循环次数的情况
int hour;
for(hour 0/*初始化*/;hour10000/*条件*/;hour/*调整部分*/)
{//循环体
}
printf(在你不懈的努力下你终于在这件事有了一定的话语权)//1. for循环初始化可以定义变量但是事在C99版本出的之前版本不匹配那么跨平台性就不好所以建议分离出来且分离出来那个变量还可以再次使用
// 2. 且初始化部分和调整部分可以省但是建议写上方便自己观看也可以减少出现bug的次数
int i,j,number0;
for(i 0i10;i)
{for(;j3;j){number;}
}
//你觉得number是多少如果你说30那么你就进坑了因为j没初始化j在第一次循环就是3那么就不会进入循环了do {}while();
//一般用于循环体的内容需要一定一次的情况下,如开机启动
//实现1万小时的代码
int hour 0;
do
{hour;
}while(hour10000);
printf(在你不懈的努力下你终于在这件事有了一定的话语权)//如启动10次程序
int number 0 ;
do {//循环体//启动程序number ;
}while(number 10/*判断*/);
循环中的关键字
continue
//用于跳过本次循环也就是执行到这句代码后面的代码都不执行了
int arr[]{1,2,3,4,5,6,7,8,9}
int index 0;
while(index sizeof(arr)/sizeof(arr[0]))
{if(arr[index] 5)continue;printf(%d,arr[i]);
}
//结果12346789break
//用于终止循环
int arr[]{1,2,3,4,5,6,7,8,9}
int index 0;
while(index sizeof(arr)/sizeof(arr[0]))
{if(arr[index] 5)break;printf(%d,arr[i]);
}
//结果1234goto
//多用于跳出多层嵌套的循环可以用于服务器出问题进行备份如下伪代码
copy://备份数据
while(1)
{while(1){while(1){while(1){if(/*出问题/*)goto copy;}}}
}//goto 可以跳转到任何设置过标签的位置有没有点像哈利波特传送哈哈哈但是这里会导致代码逻辑混乱一般不建议使用