[C语言]菜鸟的一些理解-选择结构

顺序结构:由上往下,执行程序。
比如:我们阅读文章一样,从开始到结尾。
代码:
#include<stdio.h>

int main(void)
{
int i = 9;
int j = 1;
int k = 0;
k = i + j;
printf("%d + %d = %d\n",i,j,k);
return 0;
}

选择结构也叫分支结构

if是C语言中实现选择结构最常用的方式

if语句的基本形式
if(判断表达式)
{
操作1;
操作2;
}
其顺序是判断是否为真,是则执行,否则退出。

if语言经常与else语言组合使用。

我的理解:把if  看成 “是” else 看成 “否”

if和else的搭配使用的形式如下:

if(判断表达式)
{
操作1;
}
else
{
操作2;
}
如果判断表达式为真,则执行操作1,否 则执行操作2。
例:
#include<stdio.h>

int main(void)
{
int i = 9;
if(i < 10)
printf("YES!\n");
else
printf("NO!\n");
return 0;
}

else if  的使用:

if(判断表达式1)
操作1;
else if(判断表达式2)
操作2;
else if(判断表达式3)
操作3;
else
操作n;

例1:
/*
计算工资税额。有一种工资纳税制度的规定为:
如果工资超过50000元交税的税额为工资的50%;
如果工资超过10000元交税的税额为工资的30%; 
如果工资超过7000元交税的税额为工资的20%; 
如果工资超过5000元,纳税比例为10%;
如果工资少于等于5000,不需纳税; 
试设计一个程序,按照资数额算出需要缴税的税额。
*/

#include<stdio.h>

int main(void)
{
int salary = 0;//工资
float ratio = 0.0;//比例

printf("请输入工资:");
scanf("%d",&salary);

if(salary > 50000)
ratio = 0.5;
else if(salary > 10000)
ratio = 0.3;
else if(salary > 7000)
ratio = 0.2;
else if(salary > 5000)
ratio = 0.1;
else
ratio = 0.0;
printf("所需缴税:%0.2f\n",salary * ratio);//输出结果保留两个小数点  %0.2  或   %.2
return 0;
}

例2:
/*
根据分数的输入,输出分数段。 
*/ 
#include<stdio.h>

int main(void)
{
float score = 0.0;
printf("请输入分数1~100:");
scanf("%f",&score);

if(score < 60)
printf("C\n");
else if(score < 85)
printf("B\n");
else if(score <= 100)
printf("A\n");
else
printf("你输入错误!\n");
return 0;
}


else if和 if  else 配对使用会使程序变的复杂,若不细心,就有可能出现一些错误,我们可以利用{}来配对。


switch语言的使用:

switch(判断表达式)
{
case 常量1: 操作1;
case 常量2: 操作2;
defaule: 操作n;//异常情况
}
例1:
/*
根据输入的月份,输出该月份的天数。 
*/

#include<stdio.h>

int main(void)
{
int month = 0;
printf("请输入你要查询的月份1~12:");
scanf("%d",&month);

switch(month)
{
case 2:
printf("该月有28天或29天。\n");
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("该月有31天。\n");
break;
case 4:
case 6:
case 9:
case 11:
printf("该月有30天。\n");
break;
default:printf("你输入错误!\n");
}
return 0;
}


break的重要性:

#include<stdio.h>

int main(void)
{
int i = 0;
printf("请输入你的选择1~3:");
scanf("%d",&i); 
printf("以下没有使用break\n");
printf("******************************\n");
switch(i)
{
case 1:
printf("你选择的是 1 \n");
case 2:
printf("你选择的是 2 \n");
case 3:
printf("你选择的是 3 \n");
default:
printf("你输入错误!\n");
}
printf("******************************\n");
printf("以下使用了break\n");
switch(i)
{
case 1:
printf("你选择的是 1 \n");
break;
case 2:
printf("你选择的是 2 \n");
break;
case 3:
printf("你选择的是 3 \n");
break;
default:
printf("你输入错误!\n");
}
return 0;
}

如果我没有理解到的或理解错误的请指出,谢谢!!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值