do while语句中while后边要有分号,break和continue的区别

do while语句是先执行一次do语句中的内容,接着判断while语句中的内容不成立时就不再执行do语句了,否则循环执行do语句,最后的while小括号后边要加分号

#include <stdio.h>
main(){
	int x,max;
	printf("enter -1 to end :\n");
	do{
		printf("enter x1:");
		scanf("%d",&x);
	}while(x<0&&x!=-1);
	max=x;
	while(x!=-1){
		printf("enter x2:");
		scanf("%d",&x);
		if(x>0&&x>max){
			max=x;
		}
	}
	if(max!=-1)
		printf("max=%d\n",max);
}
#include <stdio.h>
main(){
	int n=10;
	while(n>7){
		n--;
		printf("%d\n",n);
	}
}//n=10输出9,n=9输出8,n=8输出7,n=7不能输出
/*以下是输出内容
9
8
7
*/
#include <stdio.h>
main(){
	int x=3;
	do{
		printf("%3d",x-=2);
	}while(!(--x));//第一次输出x=1,然后--x=0是假,(!(--x))就是真,条件成立继续输出-2
}
/*以下是输出结构

1 -2

*/

1.break

(1)只能在循环体内和switch语句体内使用break;
(2)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。

2.continue

continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。
注意:continue语句并没有使整个循环终止。

#include <stdio.h>
main(){
	int x,i;
	for(i=1;i<=100;i++){
		x=i;
		if(++x%2==0)
			if(++x%3==0)
				if(++x%7==0)
					printf("%d",x);
	}
	printf("\n");//回车在for循环外边,最后输出
}
/*输出结构

2870

*/
#include <stdio.h>
main(){
	int x=2;
	while(x--);//注意此处的分号代表一个空语句,while后边没有分号。
	printf("%d\n",x);

}
/*输出结构

-1

*/

#include <stdio.h>
main(){
	double s=1.0;
	int k;
	for(k=1;k<=5;k++)
		s=s+1.0/(k*(k+1));
	printf("%f",s);
}
/*输出结构

1.833333

*/
#include <stdio.h>
main(){
	double s=0.0,d=1.0;
	int k=0;
	do{
		s=s+d;
		k++;
		d=1.0/(k*(k+1));
	}while(k<=5);
	printf("%f\n",s);
}
/*输出结构

1.833333

*/
#include <stdio.h>
main(){
	float x,amax,amin;
	scanf("%f",&x);
	amax=x;
	amin=x;
	while(x>=0){
		if(x>amax)
			amax=x;
		if(x<amin)
			amin=x;
		scanf("%f",&x);
	}
	printf("\namax=%f\namin=%f\n",amax,amin);
}
/*输出结构

amax=657.000000
amin=12.000000
输入-1结束程序

*/

//方法1计算(1 +5+9+13+17 +.... +101)-(3+7 +11 +15 +....+99)=51

#include<stdio.h>
void main()
{
    int i,j,sum1=0,sum2=0,sum;
    for(i=1;i<=101;i+=4)
        sum1 += i;
    for(j=3;j<=99;j+=4)
        sum2 +=j;
        sum=sum1-sum2;
        printf("1-3+5-7+....-99+101=%d\n",sum);
}

//方法2:符号交替变换计算1-3+5-7...-99+101的值

#include<stdio.h>
void main()
{
    int i,sum=0,flag=1;
    for(i=1;i<=101;i+=2)
    {
        sum =sum+i*flag; //控制符号交替变换
        flag=-flag;
    }
        printf("%d\n",sum);
}
/*运行结果:

1-3+5-7+....-99+101=51

*/
/* 编写程序,输入从公元1000年到2000年所有的闰年的年号,每输入3个年号换一行,判断公元年是否为闰年的条件
1、公元年数如果能被4整除,而且不能被100整除
2、公元年数能被100整除也是闰年
*/
#include <stdio.h>
main(){
	int i,k=0;
	for(i=1000;i<=2000;i++){
		if(i%4==0&&i%100!=0||i%100==0){
			printf("%5d",i);
			k++;//计数,输出了几个年号了
			if(k%3==0){
				printf("\n");
			}
		}

	}
}
/*输出结构

1000 1004 1008
1012 1016 1020
1024 1028 1032
1036 1040 1044
...
 
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值