C语言分支与循环结构的代码怎么写(一)

分支结构:对某个可变元素,在此元素的不同状态下执行不同的过程。

循环结构:在某一条件下重复执行某一过程,直到该条件不被满足。

C语言中分支结构的实现依靠两组关键字,分别是if-else 和 switch-case-break。下面先介绍if-else。

首先写

if(条件一)

表示在满足条件一时执行下面的一条语句,例如

if(a % 2 == 1)                                             printf(“a是奇数”);

表示在满足2除a的余数是1的条件下,打印“a是奇数”,即如果2除a余1,则打印“a是奇数”。上述操作符“==”表示判断该符号两边的值是否相等,若相等则为真(“真”的值是非零的数),即表示满足条件;若不相等则为假(“假”的值为0),即表示不满足条件。(⚠️:如果错将操作符“==”写成了“=”,则表达式的意义变为赋值而不是判断。)

所以“if(表达式)”的意义是:若表达式的值非零(表达式为真),则执行下面的一条语句;若表达式的值是零(表达式为假),则不执行(跳过)下面的一条语句。

如果想让“if(表达式)”控制多条语句,应在“if(表达式)”后面写“{}”,此时大括号里所有语句的执行与否都受“if(表达式)”的控制。

在实际问题中,有时会遇到需同时判断具有一定关系的多个表达式的情况。例如

if(表达式一 而且 表达式二)

if(表达式一 或者 表达式二 或者 表达式三)

这时就需要用到两个操作符“&&(且)”和“||(或)”了。在表示“而且”的时候,在表达式之间加上“&&”即可。例如

if(a <= 1 && a>= 1)                        printf(“a = 1”);

(注:上述操作符“<=”和“>=”均类似于“==”,表示判断成立则为真,判断不成立则为假)

同理,在表示“或者”的时候,在表达式之间加上“||”即可。

例一                                                           写一个程序判断一个1~10000的正数的数量级。

如果这样写

#include<stdio.h>

int main()

{int a = 0;

scanf(“%d”,&a);

if(a < 10)

printf(“0”);

if(a < 100 && a >= 10)

printf(“1”);

……

if(a<10000 && a >= 1000)

printf(“3”);

if(a == 10000)

printf(“4”);

return 0;}

注意到从第二步开始每一步都要写“&&”,而且“&&”后的表达式总是上一步的否定,比较麻烦,为了简化书写,我们引入关键字“else”。“else”表示若不满足其上面的if控制的所有条件,则执行下面的一条语句;否则不执行(跳过)下面的一条语句。例如:

if(a % 2 == 1)

printf(“a是奇数”);

else

printf(“a是偶数”);

同样地,如果想让else控制多条语句,应在else后面写“{}”,把要控制的所有语句写在大括号里即可。

这样,我们就可以通过“else if(表达式)”来实现对“不满足上面if控制的条件而且满足这个if控制的条件”的判断。例如例一可改写为:

#include<stdio.h>

int main()

{int a = 0;

scanf(“%d”,&a);

if(a < 10)

printf(“0”);

else if(a <100)

printf(“1”);

else if(a < 1000)

printf(“2”);

else if(a < 10000)

printf(“3”);

else

printf(“4”);

return 0;}

(作者已菜死)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值