c语言五 循环语句
if语句/if...else语句
if语句是指如果满足某种条件,就进行相应的处理。
if...else语句是指如果满足某种条件,就进行相应的处理,否则就进行另一种处理。
判断条件是一个布尔值。
当判断条件为true(1或非零)时,if后面{}中的执行语句会被执行。
当判断条件为false(0)时,else后面{}中的执行语句会被执行。
高级用法
int a;
scanf("输入分数: %d",&a);
if(a>80) //这种用法像分蛋糕
{ //"第一个"if拿走了关于a>80的蛋糕
printf("优秀"); //"第二个"else if 拿走了70~80的蛋糕
} //"第三个"else if 拿走了60~70的蛋糕
else if(a>70) //......
{ //最后由 else拿走剩下的的蛋糕
printf("良好");
} //还是需要理解的,这是嵌套语句
else if(a>60) //第一个if 和第一个else相对应
{ //第二个if 和第二个else相对应
printf("及格"); //以此类推....
}
else if (a>50)
{
printt("不及格");
}
// ....无穷的else if{}
else
{
printf("可以重开了");
}
return 0;
三目运算
判断语句? 为true真(1/非零)的执行语句: 为false假(0)的执行语句;
有多种用法,进行返回值return,输出printf,赋值......
#include <stdio.h>
#include <stdlib.h>
int main (){
int x,y,z;
scanf("%d%d",&x,&y);
printf("x=%d,y=%d,z与大的值相同,那个最大?\n",x,y);
printf(x>y?"x比y大...\n":"y比x大...\n" ); //输出
z=x>y?x:y; //赋值
system("pause");
return x>y?x:y; //返回值
}
switch条件语句
也是一种很常用的选择语句,和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码 。
#include <stdio.h>
#include <stdlib.h>
int main (){
printf("你想知道数字1~4那个数字的意义?\n");
int a=4;
switch(a){ //switch()不能放变量!!!!
case 1: printf("专一\n");
break; //忘记break, case1234就能全给你跳出来
case 2: printf("花心\n");
break;
case 3: printf("聚鼎\n");
break;
case 4: printf("破碎\n");
break;
default: printf("玩呢?\n");
break;
}
system("pause");
return 0;
}
while循环语句与do-whlie循环语句
while与前面的if条件判断语句相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会一直执行,直到条件不成立,while循环结束。
#include <stdio.h> //打印0到2
#include <stdlib.h>
int main (){
int x=0;
while(x<3){ //问循环几次?(时间?)
printf("%d",x); //速度为1 距离为3-0=3 时间=距离/速度=3\1=3
++x; //3次
}
printf("\n");
system("pause");
return 0;
}
do-while循环语句与while循环语句功能类似,区别在于do-while循环语句会先执行一次大括号再判断循环条件。
#include <stdio.h>
#include <stdlib.h>
int main (){
int x=0;
do{ //问循环几次?
printf("%d",x); //速度为1
x++; //距离为3
}while(x<3); //时间=3\1=2 3次
system("pause"); //我们要注意++的位置,调的<=或>=运算符的坑!!!
return 0;
}
for循环语句
for(1;2;3){
4;
}
1表示初始化表达式
2表示循环条件
3表示操作表达式
4表示循环体
第一步: 执行1
第二步:执行2,如果判断结果为true,执行第三步;如果判断结果为false,执行第五步
第三步:执行4
第四步:执行3,然后继续执行第二步
第五步:退出循环
//简单的for循环 打印0~9
#include <stdio.h>
#include <stdlib.h>
int main (){
int i;
for(i=0;i<10;i++){
printf("%d",i);
}
system("pause");
return 0;
}
//打印乘法表,嵌套for循环
#include <stdio.h>
#include <stdlib.h>
int main (){
int i,j;
for(i=1;i<10;i++){ //外面的for循环配合Printf("\n")来做行数
for(j=1;j<=i;j++){ //里面的for循环做一行里面的东西
printf("%dX%d=%d\t",j,i,i*j);
}
printf("\n");
}
system("pause");
return 0;
}
跳转语句(break , goto , continue)
break在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出当前循环语句,执行后面的代码。
goto当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想要跳出外层循环则需要对外层循环添加标记,然后使用goto语句。
#include <stdio.h>
#include <stdlib.h>
int main (){
system("pause");
//事实上下面的end:return 0;放这边也是可以的,但效果就不一样了 (滑稽)
for(;;)
{
goto end;
}
end: return 0;
}
continue在循环语句中,如果希望立即终止本次循环,并执行下一次循环,此时就需要使用continue语句。
#include <stdio.h>
#include <stdlib.h>
int main () //打印0~100中所有非4的公倍数的数
{
int i;
for(i=1;i<=100;i++){
if(i%4!=0){
printf("%d ",i);
}
else{
continue;
}
}
system("pause");
return 0;
}
死循环:
for( ; ; ){}
while(1){}
do{}while(1)
附带:一个小巧的播放代码
#inlcude <stdio.h>
#include <windows.h> //第二行~第四行皆是为了音频
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
#include <stdlib.h> //调用system("pause")
//右键点击"解决方案资源管理器"的字节命名的项目,选择"在文件资源管理器中打开文件夹",
//将需要用到的mp3文件放到里面去,反正就是把mp3文件放到那个有debug文件夹,有你命名的文件.c那个界面
//右键点击"解决方案资源管理器"的字节命名的项目,选择属性,点击配置属性,
//找到常规里面的字符集,将其设置使用unicode字符集改为使用多字节字符集
int main(){
system("pause");
mciSendString("paly ??.mp3",0,0,0);
system("pause");
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了