首页 > 编程知识 正文

循环结构与选择结构的区别,顺序选择循环三种基本结构的程序

时间:2023-05-06 19:06:29 阅读:9951 作者:4957

程序结构在c语言程序中有序列结构、选择结构(分支结构)、循环结构三种程序结构

1,http://www.Sina.com/:必须按照实物本身的特性,一个接一个地完成。

2,http://www.Sina.com/:到达某个节点后,根据一次判断结果,决定之后去哪个分支。

3,http://www.Sina.com/:循环结构中有循环体,循环体为编码。 对于循环结构来说,重要的是根据判断的结果来决定循环体执行多少次。

顺序结构:对于顺序结构,将执行以下指令,无需进行判断: 关于循环和选择的机制,需要做出判断。 然后根据判断结果决定怎么办。 逻辑上有被称为bool类型(又写为boolean类型,中文中是眼睛大的乌冬面类型)的类型。 大眼睛的乌冬面类型只有两个值。 是真的和假的。

c语言包含以下判定运算符

==等于!=不以下=以上=以下通过使用这些判定运算符,可以写出最终值为bool型的判定式。 此判定式的bool值决定了选择结构的方式和循环结构的循环方式。

选择结构

c语言的选择结构共有两种。

第一个:

if else部署关键字: ifelseelseifif(bool值)/bool值为真时执行代码段1,否则执行代码段2 )代码段1 ) else (代码段2 )分析: else 如果bool值1为真则执行代码段1如果为真则执行代码段2代码段1//否则,直接以执行代码段3}elseif(bool值2 ) /开头的if和结尾的else都只有一个代码段2 ) else )代码段3 )练习题:

规则: 90分以上为优,80分以上为良,60分以上为合格,以下为不合格,输入学生的分数,打印“you”“Liang”“jige”“bu jige”

#includestdio.hintmain(void ) {int grade; grade=97; if (等级=90 ) printf(you.n ); }elseif(grade 90(/) grade=80 ) (grade 90 ) ) printf('liang.n ' ); } else if (等级=60 ) printf(Jige.n ); (else ) printf ) ) buJige.(n ); }返回0; //if(100=grade=100 )//C语言不受支持。 应该写如下//if ) (grade=90 ) () ) ) ) /如果逻辑和运算符,其连接两侧都为真,则最后的结果为真。 如果两边//一方为假,则最终结果为假。 第二个:交换机情况

相关c语言关键字: switch case break default

switch (变量)//执行到此语句时,变量的值已经知道) {//switch case语句执行时,用该变量的值一次与各case常数1://case后的常数进行比较,找到第一个匹配项代码段1; //如果找到匹配项,则执行与该case对应的代码段break; //如果找不到,则继续下一个case直到default。 如果case常数2://前一个case不匹配,则default匹配。 代码段2; 布雷克; default:代码段n : 布雷克; } 循环结构

1、在case中必须是常数且整形(也可以是int char而不是float double )。

2、一般情况下,每个case的代码段后面都需要break; 否则,结果可能会让你吃惊

3、case之后一般都有default。 语法上允许没有default,但建议您在编写代码时一定要写。

http://www.Sina.com/http://www.Sina.com/z

intmain(void ) {int num; num=7; 使用switch case语句执行相同功能: switch(num ) case1:printf(an ); 布雷克; case 2:打印(b (n ); 布雷克; case :打印(c (n ); 布雷克; case4:printf(d(n ); 布雷克; case5:printf(e(n ); 布雷克; case6:printf(f(n ); 布雷克; case7:printf(g(n ); 布雷克; dfault:printf(--------(n ) ); 布莱尔

k;}/*if (num == 1){printf("an");}else if (num == 2){printf("bn");}else if (num == 3){printf("cn");}else if (num == 4){printf("dn");}else if (num == 5){printf("en");}else if (num == 6){printf("fn");}else if (num == 7){printf("gn");}else{printf("------n");}*/return 0;}

switch case和if else对比:
1、if else适合对比条件比较复杂,但是分支比较少的情况;switch case适合那种对比条件
不复杂,但是分支数很多的情况。
2、所有的选择结构,其实都可以用if else来实现。但是只有部分才可以用switch case实现。
一般的做法是:在适合使用switch case的情况下会优先使用switch case,如果不适合使用switch case,则不得不使用if else。
2、C语言中的循环结构
C语言中常用的循环结构有三个:for循环、while循环、do while循环。
2.1、for循环

for (循环控制变量初始化; 循环终止条件; 循环控制变量增量)
{
循环体
}

for循环的执行步骤:
1、先进行循环控制变量初始化
2、执行循环终止条件,如果判断结果为真,则进入第3步;如果为假则循环终止,退出。
3、执行循环体。
4、执行循环控制变量增量,转入第2步。

注意:
1、for循环中()中三部分可不可以省略?
标准的for循环,应该把循环控制变量的初始化,增量都放在()当中,并且在循环体中绝对不应该更改循环控制变量(可以引用它的值,但不应该改变它)。
练习题目:
规则:计算10!

#include <stdio.h>int main(void){int i, val;/*for (i=1,val=1; i<=10; i++){val *= i;printf("i = %d.n", i);// 使用printf进行调试}*//*for (i=1,val=1; i<11; i++){val *= i;// 这种写法更普遍// val = val * i;// 这种写法也可以,但是一般除了新手不采用printf("i = %d.n", i);// 使用printf进行调试}*/for (i=10,val=1; i>=1; i--){val *= i;printf("i = %d.n", i);// 使用printf进行调试}printf("val = %d.n", val);return 0;}

2.2、while循环

i = 1;sum = 0;// 循环初始化while (i < 100)// 终止条件{printf("i = %d.n", i);sum += i;// 循环体i += 2;// 循环控制增量,属于循环体的一部分}

while循环的执行步骤:
0、首先是循环初始化。这一部分其实不属于while循环本身。
1、先判断终止条件是否满足。如果是真,则进入第2步;否则直接退出。
2、执行循环体,然后转入第1步。
练习题目:
规则:计算100以内所有奇数的和

#include <stdio.h>int main(void){int i, sum;i = 1;sum = 0;while (i < 100){printf("i = %d.n", i);sum += i;i += 2;}printf("sum = %d.n", sum);return 0;}

2.3、do while循环

i = 1;sum = 0;// 初始化条件do{printf("i = %d.n", i);sum += i;i += 2;// 增量,循环体的一部分}while (i < 100);// 终止条件

do while循环的执行步骤:
0、首先是循环初始化。这一部分其实不属于do while循环本身。
1、执行循环体(循环控制变量的增量是循环体的一部分)
2、判断终止条件。若成立,则转入1;若不成立则退出

总结:不管哪种循环结构,都不能缺少一些要素:循环控制条件初始化,终止条件,循环控制变量增量,循环体。不同的循环方式(for和while和do while)都有这些,只是格式不同,表现形式不同,放的地方不同,可读性不同,看起来和设计起来难度不同。

while循环和do while循环哪里不同?while循环是先判断后执行,do while循环是先执行后判断等循环开始转了之后,其实是一样的。

由于还有其他的程序结构,暂时只是先介绍这些,之后如果有学习到会继续更新。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。