C语言-选择结构-创新互联
目录
创新互联:2013年开创至今为各行业开拓出企业自己的“网站建设”服务,为近千家公司企业提供了专业的网站制作、成都做网站、网页设计和网站推广服务, 定制网站设计由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。选择结构
一、if-else语句
1.单选择
2.双选择
3.多选择
二.switch语句
选择结构
选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程
一、if-else语句1.单选择
单选择通过if语句就可以实现,if语句的语法及执行流程如下:
if(表达式)
{
代码块(表达式返回值为真时执行)
}
当程序运行到if语句时,会由表达式进行判定,诺表达式的返回值为真,则进入代码块执行语句,为假便跳过代码块继续执行。(当代码块语句仅有一句时,可以省略大括号。)
举一个简单的例子
例:判断10是否为3的倍数
int main()
{
int i = 10;
if (i % 3 == 0) //表达式结果为假
printf("是");//代码块内 未执行
return 0;
}
2.双选择双选择通过if-else语句实现,if-else语句的语法及执行流程如下:
(else的匹配:else是和它相距的最近的if匹配的)
if(表达式)
{
语句一(表达式返回值为真时执行)
}
else
{
语句二(表达式返回值为假时执行)
}
当程序运行到if语句时,会由表达式进行判定,表达式的返回值为真,则执行语句1,为假便块执行语句2。
举一个简单的例子
例:判断学生分数及格
#includeint main()
{
int i = 0;
scanf("%d", &i);
if (i >= 60)
printf("及格");
else
printf("不及格");
return 0;
}
3.多选择通过else if语句实现的多选择,else if语句的语法及执行流程如下:
if(表达式1)
{
语句1 (表达式1返回值为真时执行)
}
else if(表达式2)
{
语句2 (表达式返回值为真时执行)
}
else if(表达式3)
{
语句3(表达式返回值为真时执行)
}
else
{
代码块(以上表达式均为假时执行)
}
当程序运行到if语句时,会由表达式进行判定,表达式1的返回值为真,则进入if下的代码块执行语句1,为假便进入表达式2。当然if-else可以实现的分支不止这四种,通过增加else if 语句的数量便可以实现更多的选择。
举一个简单的例子
例:年龄分段
#includeint main()
{
int age = 0;
scanf("%d", &age);
if (age< 18)
{
printf("少年\n");
}
else if (age >= 18 && age< 30)
{
printf("青年\n");
}
else if (age >= 30 && age< 50)
{
printf("中年\n");
}
else if (age >= 50 && age< 80)
{
printf("老年\n");
}
else
{
printf("老寿星\n");
}
return 0;
}
二.switch语句switch语句也是一种分支语句。 常常用于多分支的情况。else if 语句也能实现多分支情况,但在某些情况下使用else if来实现,会使代码过于复杂。
比如:
输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期日
如果使用else if
#includeint main()
{
int day = 0;
scanf("%d", &day);
if (1 == day)
printf("星期一");
else if (2 == day)
printf("星期二");
else if (3 == day)
printf("星期三");
else if (4 == day)
printf("星期四");
else if (5 == day)
printf("星期五");
else if (6 == day)
printf("星期六");
else
printf("星期日");
return 0;
}
那么这个代码便会太过复杂,而使用switch就会很多
switch语句的语法及执行流程如下:
switch(整型表达式)
{
//在一个 switch 中可以有任意数量的 case 语句。
case 整形常量表达式:
语句;
}
case 是一个入口,按照输入整型表达式的值进入,后按照顺序依次运行。
单使用switch语句是无法实现分支的,需要搭配break使用才能实现真正的分支。
举一个例子:
#includeint main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一\n");
case 2:
printf("星期二\n");
case 3:
printf("星期三\n");
case 4:
printf("星期四\n");
case 5:
printf("星期五\n");
case 6:
printf("星期六\n");
case 7:
printf("星期天\n");
}
return 0;
}
输入值分别为2 4时,输出结果如下:
与想要实现的效果相差甚远,而搭配break使用就能解决这个问题。
#includeint main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期天\n");
break;
}
return 0;
}
break语句 的实际效果是把语句列表划分为不同的分支部分。
switch除了搭配break语句使用,往往也会搭配 default语句
如果表达的值与所有的case标签的值都不匹配时,所有的语句都会被跳过。程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
诺并不想忽略不匹配所有标签的表达式的值时,可以在语句列表中增加一条default子句。
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
例如:
#includeint main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期天\n");
break;
default:
printf("输入错误");
}
return 0;
}
switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站题目:C语言-选择结构-创新互联
URL网址:http://pwwzsj.com/article/djjsph.html