循环结构程序

循环结构就是在给定条件成立时,反复执行某段程序,给定的条件称之为循环条件,反复执行的程序称之为循环体。

常见的循环语句为3种

1.while语句

2.do-while语句

3.for语句

还有goto与if嵌套的语句也能构成循环。

#include"stdio.h"
int main()
{
        int i,sum=0;

        i=1;

loop:   if(i<=100)

          {sum=sum+i;

           i++;

           printf("%d\n",sum);
           goto loop;}

         printf("%d\n",sum);
		 return 0;
} 

01--while语句

一般形式: while(表达式)语句

其中表达式为循环条件,语句为循环体

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

#include <stdio.h>
int main(){
    int n=0;
    printf("input a string:\n");
    while(getchar()!='\n') n++;
    printf("%d",n);
	return 0;
}

#include <stdio.h>
int main(){
    int a=0,n;
    printf("\n input n:    ");
    scanf("%d",&n);
    while (n--)
      printf("%d  ",a++*2);
	return 0;
}

02--do-while语句

一般形式为:

do

语句

while(表达式)

先执行一次循环体语句,为真则继续循环,为假则退出循环,即至少执行一次循环语句

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



03--for语句

一般形式:

for(表达式1;表达式2;表达式3) 语句

先求表达式1;再求表达式2,若为真,执行语句,再执行表达式3,再求表达式2,如此循环,若为假,则结束循环

可以理解为

for(循环变量赋初值;循环条件;循环变量增量) 语句

for语句可以与while语句相互转化

例:

for(i=1;i<100;I++) sum=sum+i;

相当于

i=1;

while(i<100)

{sum=sum+i;i++;}

#include <stdio.h>
int main()
{
 int i, j, k;
 printf("i j k\n");
 for (i=0; i<2; i++)
    for(j=0; j<2; j++)
       for(k=0; k<2; k++)
           printf("%d %d %d\n", i, j, k);
 return 0;
}

04--break和continue语句

break语句通常用于循环和Switch语句中

用于switch语句时,跳出switch语句而执行后面的语句,用于循环时则跳出循环语句

#include <stdio.h>
int main()
{
   int i=0;
   char c;
   while(1)                 
   {
      c='\0';             /*变量赋初值*/
      while(c!=13&&c!=27) /*键盘接收字符直到按回车或Esc键*/
        {
         c=getchar();
         printf("%c\n", c);
        }
      if(c==27)
         break;          /*判断若按Esc键则退出循环*/
      i++;
      printf("The No. is %d\n", i);
    }
    printf("The end");
	return 0;
 }

在多层循环语句中,一个break语句只能向外跳一层

continu语句是跳过循环中剩余的语句而强行执行下一次循环。用在for、while、do-whie语句中

#include <stdio.h>
int main()
{
  char c;
  while(c!=13)      /*不是回车符则循环*/
      {
         c=getchar();
         if(c==0X1B)
            continue; /*若按Esc键不输出便进行下次循环*/
         printf("%c\n", c);
       }
  return 0;
}

 

#include <stdio.h>
int main()
{
  int c=0;
  while(c<13)   
      {
         scanf("%d",&c);
         if(c==5)
            continue; 
         printf("%d\n", c);
       }
  return 0;
}

题目:求1-100之间的全部质数(素数)

#include <stdio.h>
#include<math.h>
int main()
{
	int m,i,k,n=0;
	for(m=1;m<=100;m=m+2)
	{
		k=sqrt(m);
		for(i=2;i<=k;i++)
		{if(m%i==0)
		    break;}
		if(i>=k+1)
		{
		    printf("%d ",m);
		    n=n+1;
		}
	}
	printf("\n");
	return 0;
}

题目:输入一个数字,判断是否为质数

#include <stdio.h>
#include<math.h>
int main()
{
	int m,i,k;
	scanf("%d",&m);
	k=sqrt(m);
	for(i=2;i<=k;i++)
	{if(m%i==0)break;}
	if(i>=k+1)
	printf("%d is a prime number\n",m);
	else
	printf("%d is not a prime number\n",m);
    
	return 0;
}

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值