分支是编程中常用的控制结构,用于根据条件选择不同的执行路径。常见的分支有单分支、双分支和多分支。使用if、switch实现。
单分支的语法结构如下:
if (表达式)
语句;
单分支例子如下:
//如果是偶数则打印 Hello World
#include<stdio.h>
int main() {
int a;
scanf_s("%d", &a);
if (a%2==0) {
printf("Hello World\n");
}
return 0;
}
双分支的语法结构如下:
if (表达式)
语句;
else
语句;
例子如下:
//如果是偶数则打印 Hello World,奇数打印 你好,世界
#include<stdio.h>
int main() {
int a;
scanf_s("%d", &a);
if (a%2==0) {
printf("Hello World\n");
}
else
{
printf("你好,世界\n");
}
return 0;
}
多分支的语法结构如下:
if (表达式)
语句;
else if (表达式)
语句;
else
语句;
例子如下:
#include<stdio.h>
int main() {
int a;
scanf_s("%d", &a);
if (a%2==0) {
printf("余数是0\n");
}
else if(a % 2 == 1)
{
printf("余数是1\n");
}
else
{
printf("余数是其他的\n");
}
return 0;
}
if语句可以实现嵌套。
例子如下:
#include<stdio.h>
int main() {
int a;
scanf_s("%d", &a);
if (a%2==0) {
if (a%5==0)
{
printf("%d是2的倍数,同时也是5的倍数\n", a);
}
else
{
printf("%d只是2的倍数\n",a);
}
}
else
{
printf("%d不是2的倍数\n",a);
}
return 0;
}
注意:
#include<stdio.h>
int main() {
int a = 0;
int b = 2;
if (a == 1)
if (b == 2) printf("b=2\n");
else printf("a=0\n");
return 0;
}//else 与就近if结合,与if (b == 2) printf("b=2\n");
switch语法如下:
switch (expression) {
case value1: statement;
case value2: statement;
default: statement;
}//expression表达式,value1必须是整形常量表达式且与case有空格,statement后加break跳出分支,不加不跳出。
例子如下:
#include<stdio.h>
int main() {
int a;
scanf_s("%d", &a);
switch (a)
{
case 1: printf("%d\n", a); break;
case 2: printf("%d\n", a); break;
case 3: printf("%d\n", a); break;
case 4: printf("%d\n", a); break;
case 5: printf("%d\n", a); break;
case 6: printf("%d\n", a); break;
case 7: printf("%d\n", a); break;
default:printf("重新输入\n");break;
}
return 0;
}//不加break试试,
switch可以和if语言混合使用。
#include<stdio.h>
int main() {
int a;
scanf_s("%d", &a);
switch (a)
{
case 1: printf("%d\n", a); if (a==1)
{
printf("Hello World\n");
} break;
case 2: printf("%d\n", a); break;
case 3: printf("%d\n", a); break;
case 4: printf("%d\n", a); break;
case 5: printf("%d\n", a); break;
case 6: printf("%d\n", a); break;
case 7: printf("%d\n", a); break;
default:printf("重新输入\n");break;
}
return 0;
}