2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 分支语句和循环语句(分支语句)

分支语句和循环语句(分支语句)

时间:2022-02-11 17:02:15

相关推荐

分支语句和循环语句(分支语句)

目录

1.什么是语句

2.分支语句(选择结构)

2.1 if语句

2.1.1练习

2.2 switch语句

分支语句:

ifswitch

循环语句:

whilefordo while

goto 语句

1.什么是语句

C语句可分为一下五类:

表达式语句函数调用语句控制语句复合语句空语句

在此我们只要讲解控制语句

C语言是一门结构化的程序设计语言

控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序语句,选择结果,循环结构)他们由特定的语句定义符组成,C语言有九种控制语句。

条件判断语句也叫分支语句:if语句、switch语句循环执行语句:so while语句、while语句、for语句转向语句:break语句、goto语句、continue语句、return语句

2.分支语句(选择结构)

如果你好好学习,校招时拿一个好offer,走上人生巅峰。

如果不学习,毕业等于失业,回家卖红薯。

这就是选择。

以上时双分支语句,我们还会学习到三分支和多分支。

2.1 if语句

单分支语法结构

if(表达式) 表达式的结果如果为真,语句执行

语句: 0表示假 非0表示真

双分支语法结构

if(表达式1)

语句1;

else

语句2;

多分枝语法结构

if(表达式1)

语句1;

else if

语句2;

else

语句3;

代码演示:

单分支的结构:

#include <stdio.h>int main(){int age = 0;scanf("%d", &age);if (age >= 18)printf("成年\n");return 0;}

如果年龄大于等于18

双分支结构:

#include <stdio.h>int main(){int age = 0;if (age >= 18)printf("成年\n");elseprintf("未成年\n");return 0;}

如果年龄大于等于18,否则打印未成年。

多分支结构:

#include<stdio.h>int main(){int age = 0;scang("%d",&age);if (age < 16)printf("少年\n");else if (age >= 16 && age < 30)printf("青年");else if (age >= 30 && age < 40)printf("中年");else if (age >= 40 && age < 56)printf("状年");else if (age >= 56 && age < 80)printf("老年");elseprintf("老寿星");return 0;}

如果条件成立,要执行多条语句,怎应该使用代码块。

if语句默认只能控制一条语句,如果想控制多条语句,那么要加上{}。

else是和最近的if匹配

2.1.1练习

1. 判断一个数是否为奇数

2. 输出1-100之间的奇数

思路:判断一个数是否为奇数

一个整数%上2余1,他就是奇数,否则他就是偶数,我们输入一个数字,利用if语句判断。

#include<stdio.h>int main(){int a = 0;scanf("%d",&a);//判断是否为奇数if (a % 2 == 1)printf("奇数");elseprintf("偶数");return 0;}

思路:输出1-100之间的奇数

首先我们要生成1—100的数字,再判断他是不是奇数,是奇数我们就打印

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

当然,我们还有另一种效率更高的方法,我们可以找到规律,每个奇数中间相差2。

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

2.2 switch语句

switch也是一种分支语句。

常常用于多分枝的情况。

比如:

输入1,输出星期一

输入2,输出星期二

输入3,输出星期三

输入4,输出星期四

输入5,输出星期五

输入6,输出星期六

输入7,输出星期日

#include<stdio.h>int main(){int day = 0;scanf("%d", &a);if (day == 1)printf("星期一\n");else if (day == 2)printf("星期二\n");else if (day == 3)printf("星期三\n");else if (day == 4)printf("星期四\n");else if (day == 5)printf("星期五\n");else if (day == 6)printf("星期六\n");elseprintf("星期日\n");return 0;}

我们可以写成if...elseif...elseif...else if...,但是太过于复杂,那么我们就可以视为switch语句。

switch(整形表达式)

{

语句项:

}

语句项是什么呢?

是一些case语句

如下:

case整形常量表达式:

语句:

#include <stdio.h>int main(){int day = 0;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("选择错误");break;}return 0;}

注:case是相当于入口,如果没有break停止的话去,程序还是依然会往后执行。

当所有的case不匹配的时候,就可以使用default字句

下面让我们来看这一段代码的运行结果是多少。

#include <stdio.h>int main(){int n = 1;int m = 2;switch (n){case 1:m++;case 2:n++;case 3:switch (n){//switch允许嵌套使用case 1:n++;case 2:m++;n++;break;}case 4:m++;break;default:break;}printf("m = %d, n = %d\n", m, n);return 0;}

这个是主要看大家有没有掌握switch语句的语法规则。

#include <stdio.h>

int main()

{

int n = 1;

int m = 2;

switch (n) n=1,进入case1

{

case 1:

m++; m=3,没有break进入case2

case 2:

n++; n=2,没有break进入case3

case 3:

switch (n) n=2,进入case2

{//switch允许嵌套使用

case 1:

n++;

case 2:

m++; m=4

n++; n=3

break;

}

case 4: 进入

m++; m=5

break;

default:

break;

}

printf("m = %d, n = %d\n", m, n); m=5,n=3

return 0;

}

通过这个我们要知道两点,第一是switch语句可以嵌套使用

第二是break只会跳出他所在的switch语句

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。