从零开始跟我学 C 语言之分支结构(下)
Hi!这里是渔火。今天我们继续来讲C语言的分支结构。在C语言里,可以使用if-else实现分支结构。
//2023.2.1渔火 Linux迷 www.linuxmi.comint main(){ int a,b; printf("请输入两个整数:"); scanf("%d%d",&a,&b); if(a>b) printf("两个整数中的大数为:%d\n",a); else printf("两个整数中的大数为:%d\n",b); //2023.2.1渔火 Linux迷 www.linuxmi.com return ;}
运行结果2:
//2023.2.1渔火 Linux迷 www.linuxmi.comint main(){ float x; scanf("%f",&x); if(x<) x=-x; printf("%f",x); //2023.2.1渔火 Linux迷 www.linuxmi.com return ;}
无论在双分支还是单分支if语句的格式中,被执行的语句均为单个语句,如果想要执行一组语句时,则必须将这一组语句用{}括起来形成复合语句,但在“}”之后不能再加括号。注意:复合语句中的语句执行时会全部被执行。
我们来看一个复合语句的例子。
//2023.2.1渔火 Linux迷 www.linuxmi.comint main(){ float x,y,z,k; scanf("%f %f %f",&x,&y,&z); if(x>y) {k=x;x=y;y=k;} if(x>z) {k=x;x=z;z=k;} if(y>z) {k=y;y=z;z=k;} printf("%5.2f,%5.2f,%5.2f\n",x,y,z); //2023.2.1渔火 Linux迷 www.linuxmi.com return ;}
//2023.2.1渔火 Linux迷 www.linuxmi.comint main(){ int x,y,z,max; scanf("%d %d %d",&x,&y,&z); if(x>y) if(x>z) max=x; else max=z; else if(y>z) max=y; else max=z; printf("max=%d\n",max); //2023.2.1渔火 Linux迷 www.linuxmi.com return ;}
在C语言中还提供了一种switch语句也可以实现多分支的选择。switch的一般形式为:switch(表达式){case 常量表达式1;语句1;break;case 常量表达式2;语句2;break;···case 常量表达式n;语句n;break;default:语句n+1;break;}
注意:1、switch后的表达式可以是任何表达式,其值只能为整型、字符型、枚举型。2、每个case后面的常量表达式的值互不相同,否则会出现互相矛盾的现象。3、各个case和default的出现次序不影响执行结果。4、可以让多个case共用一组执行语句。5、switch语句允许嵌套使用。
相关链接:
https://www.linuxmi.com/learn-c-language-from-scratch-1.html
https://www.linuxmi.com/learn-c-language-from-scratch-2.html
https://www.linuxmi.com/learn-c-language-from-scratch-3.html
https://www.linuxmi.com/learn-c-language-from-scratch-4.html
-
https://www.linuxmi.com/learn-c-language-from-scratch-5.html
相关文章