c语言从0->1入门——循环语句(一)

举报
叶明明 发表于 2022/05/15 23:34:39 2022/05/15
【摘要】 关于作者:2019NOIP退役成员,学习c语言已有多年经验,更懂得考试的题目,和初学者学习时所遇到的问题华为云享专家,以及CSDN的新星创作者,有写博客的一定能力 关于本栏目本栏目的宗旨是带你入门c语言,作者打算用题海+c语言的概念来完成本栏目,适用人群:面向广大的编程爱好者和大学生来进行创作学完本栏后你能达到的水平:计算机二级水平左右,入门c语言学习题目:主要来源于网络和c语言的入门算法...

关于作者:

2019NOIP退役成员,学习c语言已有多年经验,更懂得考试的题目,和初学者学习时所遇到的问题

华为云享专家,以及CSDN的新星创作者,有写博客的一定能力

关于本栏目

本栏目的宗旨是带你入门c语言,作者打算用题海+c语言的概念来完成本栏目,

适用人群:面向广大的编程爱好者和大学生来进行创作

学完本栏后你能达到的水平:计算机二级水平左右,入门c语言学习

题目:主要来源于网络和c语言的入门算法题目

写在前面的话(第七天)

记住我们的宗旨:努力去做,让一切交给时间来评判!

for语句

试想一个操作,我们定义一个数组大小为10,然后要给这个数组中存入数据,

int a[10];
a[0]=1;
a[1]=2;
...
...
a[9]=10;

此刻即可使用循环语句,for语句来实现这个操作

for(int i=0;i<10;i++)
{
	a[i]=i+1;
}

程序分析:

int i=0;为循环初始条件
i<10;为循环条件,当i<10时循环继续进行
i++;i每次循环自增1

for循环的几种变形

实际上for循环中的三个内容都可以省略,然后在{}中体现,下面我们来看:

int a[10];
int i=0;
for( ; i<10 ; i++)
{
	a[i]=i+1;
}
int a[10];
int i;
for(i = 0; ;i++)
{
	if(i>=10)
		break;
	a[i]=i+1;
}
int a[10];
int i;
for(i = 0;i<10; )
{
	a[i]=i+1;
	i++;
}

不难看出如果要使得一个循环正常执行,3个条件缺一不可,否则会成为死循环,像下面这个一样:

for( ; ; )
{
	printf("我是死循环\n")
}

continue语句

上一讲中我们提到了break语句,这次我们来看一下它的兄弟——continue语句

continue语句只在循环语句中
在循环体中的语句集合执行中,continue语句用于结束本次循环。

#include <stdio.h>

int main()
{
	int a[10] = { 0 };//全部置为0
	for (int i = 0; i < 10; i++)
	{
		if (i == 1)
			continue;
		a[i] = i + 1;
		printf("%d\n", a[i]);
	}
	
	return 0;
}

在这里插入图片描述
continue语句和break语句的区别是:

continue语句只结束本次循环体的执行,而不是中止整个循环,而break语句则是结束本循环语句,不再进行循环条件判断。

例题

今天的题较前几天比较难,我带着大家做几个,之后自己完成,坚持就是胜利!!!
Cantor 表
题解:
模拟,按照题意来写代码

#include<stdio.h>
int main() 
{
	int n,k=1;
	scanf("%d",&n);
	for(k=1;n>k;k++)
	{
		n=n-k;
	}
	if(k%2==0)
	{ 
		printf("%d/%d",n,(k+1-n));
	}
	else 
	{
		printf("%d/%d",(k+1-n),n);
	}
	return 0;
}

零花钱判断高兴

#include<stdio.h>
int main ()
{
    int a,b,s,max=0,i,day=0;  //a,b是津津
    for (i=1;i<8;i++)    
    {
        scanf("%d%d",&a,&b);    //输入a,b 
        s=a+b;   //计算一天的上课时间 
        if ((s>max)&&(s>8)) max=s,day=i;  //在超过8小时且比之前几天都大的s时,将s赋给最大值,并记录下JJ的这天 
    }
    printf("%d",day); 
    return 0;             
}

下面的题自行完成,不会的欢迎评论区留言:

明明的随机数
数字统计
哥德巴赫猜想

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。