扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
文章目录
成都创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为五华企业提供专业的成都网站设计、做网站,五华网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
目录
前言
九、分支循环语句
2.分支语句
3.循环语句
总结
欢迎大家和我一起学习C语言,一同进步。
支持一起学习,合作。
今天我们继续来学习C语言的基础部分:分支和循环语句、
九、分支循环语句
1.C语言是一门结构化的程序设局语言。
C语言中由一个分号隔开的就是一个语句(注:存在空语句、不是所有的一行最后都要加分号)
分为三个结构:顺序结构,循环结构,选择结构。
2.分支语句分为if语句和switch语句。
(1)if语句
第一种结构:
if(表达式)
语句;
如图所示:当表达式内部为真,则执行{ }内部的语句。
#includeint main()
{
int a = 1;
if (a == 1)
{
printf("Hello world\n");
}
}
第二种结构:
if( 表达式)
语句1;
else
语句2;
如图所示:当表达式内部为真,则执行if的代码块,不为真,则执行else的代码块内容。
其中的两个等于号(==)为判断前后两个数是否相等。图中a=6不等于1所以执行了else的语句。
第三种结构:(用于多分支)
if(表达式1)
语句1;
else if(表达式2)
语句2;
..........(此处省略n个else if)...........
else
语句3;
如图所示:(其中的else可以省略)
第四种结构:(分支语句可以嵌套使用)
if(表达式1)
{
if(表达式2)
语句1;
}
else
语句2;
如果是一个 if 要执行多条语句时,要用{ }括起来。
下面时一个 if 分支语句的例子:
#includeint main()
{
int age = 20;
if (age< 18)
{
printf("未成年人\n");
}
if (age >18 && age< 28)
{
printf("青年\n");
}
else
{
printf("壮年及老年\n");
}
return 0;
}
此时,打印的结果为青年。
(2)switch语句(常用于多分支)
下面用一个例子引出吧。
#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;
}
switch后面的括号里面必须是整型,case后面的一定为整型常量表达式。
switch后面括号里的内容相当于是选择进入的入口,而case是不同的入口,图中的day就是去选择要从哪里进入。注意,switch语句里的内容,不是许多个门一起摆在面前去判断,而是选择了之后要一直走下去,例如,day=2,则会从case 2:进入,并且直到执行完case 7:的内容后才结束。
所以break就派上了用场,case比作入口,那么break就是出口。
如图,当给每一个case加上break;之后与之前对比。
可见break的用处。
一个星期中不是工作日,就是休息日,所以我们还可以把代码简化。
int main()
{
int day = 0;
scanf("%d", &day);
switch(day)
{
case 6:
printf("休息日\n");
break;
case 7:
printf("休息日\n");
break;
default:
{
printf("工作日\n");
}
}
return 0;
}
default是在输入的数据不在case的范围内时,执行default内的语句。
例如,我们输入3,在case中找不到入口,就执行了default,打印了工作日。这样也简化了代码。有时候也可以防止用户输入的字符不在范围内而不执行的事故。我们可以在default中输入 : printf(“输入错误”);的代码,当用户输入错误是,会打印出输入错误四个字。
3.循环语句(1)while循环语句
while( 表达式)
{
n条语句;
}
下面是一个while循环的例子:
如图,打印了无数个hehe。
while后面的括号内是用来判断的,因为1在C语言中代码真,所以一直循环。
下面是另一个例子:
i++中的++符号,代表 i 加1;在循环中就代表,每循环一个 i 加一个1。
第一次循环之后 i =1,打印了一个hehe,第二次循环之后 i =2,打印了第二个hehe,此时 i<2不成立,所以不再进行循环,循环结束。总共打印2个hehe。
下面给大家带来一个输入密码的小程序:
#include#includeint main()
{
int password[20] = { 0 };
while (scanf("%s", password) != EOF)
{
getchar();
if (strcmp(password, "123456") == 0)
{
printf("恭喜,密码正确\n");
break;
}
else
{
printf("密码错误,请重新输入 \n");
}
}
}
(2)for循环(我们最常用的循环)
当我们学完这个就可以简单定义可以输入密码的次数了。
for循环的结构:
for(表达式1;表达式2;表达式3)
{
n条语句;
}
其中表达式1:初始化i,表达式2:判断,表达式3:调整。
下面是for循环的例子:
如图,打印了4遍HELLO WORLD
原理:i=0,中间的为判断,i<4成立,进入循环,打印HELLO WORLD,i++,判断i<4,在循环,循环4次后,i=4,i<4不成立,结束循环。
不可以在for循环内修改变量,防止for循环失去控制,
建议for循环的循环控制变量采取”前闭后开”的写法。{例:( i=1;i<9 ;表达式3 ) }
下面是错误的写法。
if后的( )为赋值操作,令i=2;在每次打印前,都让i变成了2,循环后i+1变成了3,进入循环又赋值为2,所以i始终小于4,程序一直循环,打印了无数个2 。
所以要注意区分==和=的区别。
总结今天就将道这里了,学了分支和循环结构。明天我们继续学习数组,操作符。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流