分支结构又称选择结构,选择结构分为:if结构和switch结构
分支结构--------if
一般形式(第一种结构):
if(表达式)
{
语句1
}
后续语句:
如果表达式为真,则执行语句1,反之不执行。
如
#include <stdio.h>
int main( int argc, char * argv){
int a;
if (a>5){
printf("你运气真好!");
}
printf("可惜了!");
return 0;
}
if 的第二种结构:
if(表达式)
{
语句1
}else
{
语句2
}
如果表达式为真则执行语句1,否则执行语句2。
如
#include<stdio.h>
int main(int argc, char *argv)
{
int num1,num2;
if(num1>num2)
{
printf("%d",num1);
}else
{
printf("%d",num2)
}
return 0;
}
if的第三种结构:
if(表达式1)
{
if(表达式2)
{
语句1
}else
{
语句2
}
}else
{
语句3
}
如果表达式1为真,则接着判断表达式2,如果表达式2为真,则执行语句1,否则执行语句2,如果表达式1为假则执行语句3。
如
#include <stdio.h>
int main( int argc, char *argv)
{
int a;
printf("请输入一个数字");
scanf("%d",&a);
if(a>4)
{
if(a<10)
{
a=8;
}else
{
printf("太大了!");
}
}else
{
a=2;
}
return 0;
}
if的第四种结构:
if(表达式1)
{
语句1
}else if(表达式2)
{
语句2
}else if(表达式3)
{
语句3
}else
{
语句4
}
如果表达式1为真,则执行语句1,否则判断表达式2,如果为真执行语句2,否则再判断表达式3,如果为真执行语句3,当表达式1、2、3都不成立时,会执行最后一个else语句。
如
#include<stdio.h>
int main(int argc, char *argv)
{
int score;
if(90<=score&&score<=100)
{
printf("A");
}else if(80<=score&&score<90)
{
printf("B");
}else if(70<=score&&score<80)
{
printf("C");
}else if(60<=score&&score<70)
{
printf("D");
}else if(0<=score&&score<60)
{
printf("E");
}else
{
printf("错误");
}
return 0;
}
if语句使用注意点:
1,if(条件)可以直接写分号“ ;”,表示空语句
2,if(条件)return 0;程序直接退出
3,if(1)、if(-1)表示永真、永假
4,if(条件)条件中比较大小,常量放左边,变量放右边
分支结构------switch
使用格式:
switch(表达式1)
{
case常量表达式1: 语句1; break;
case常量表达式2: 语句2; break;
case常量表达式3: 语句3; break;
...
case常量表达式n: 语句n; break;
default: 语句n+1;
break;
}
计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,如果表达式的值与所有case后的常量表达式都不不相同时,则执行default后的语句。
如
#include <stdio.h>
int main(int argc,const char*argv[])
{//1,提示用户输入
//2,进行转换打印结果
//40,20,30.....十位进行转换
//11,12,13......个位进行转换
//21,32,76....十位和个位同时进行转换
//10。。。。。
int a;
printf("请输入一个10到100之间的数\n");
scanf("%d",&a);
if (a==10)
{
printf("十");
}
else if (10<a&&a<20)
{
printf("十");
switch (int ge = a % 10)
{
case 1:printf("一");
case 2:printf("二");
case 3:printf("三");
case 4:printf("四");
case 5:printf("五");
case 6:printf("六");
case 7:printf("七");
case 8:printf("八");
case 9:printf("九");
break;
}
}
else
{
switch (int shi = a /10)
{
case 2:printf("二");
case 3:printf("三");
case 4:printf("四");
case 5:printf("五");
case 6:printf("六");
case 7:printf("七");
case 8:printf("八");
case 9:printf("九");
break;
}
printf("十");
switch (int g = a % 10)
{
case 1:printf("一");
case 2:printf("二");
case 3:printf("三");
case 4:printf("四");
case 5:printf("五");
case 6:printf("六");
case 7:printf("七");
case 8:printf("八");
case 9:printf("九");
break;
}
}
return 0;
}