C语言循环结构整理

通过前面的学习,想要解决更多高质量的问题,必须要有使用循环结构。在C语言中,常见的循环语句有三种:while语句、do-while语句和for语句。

while循环
while语句的一般形式为:
while(表达式)语句;
其中,表达式是循环条件,语句为循环体。while语句的语义是计算表达式的值,当值为真(非0)时,执行循环语句,然后在判断表达式,直到表达式为假(0)时结束循环。
我们来看这样一个求取两数的最大公约数例子。思路如下:
第一步:令m为两个整数中的较大者,n为两个整数中的较小者;
第二步:用m除以n,用r表示余数;
第三步:若r不等于0,则令m=n,n=r,返回步骤二继续;若r等于0,则n 中的数值就是其最大公约数。
算法如下:
#include <stdio.h>
int main(){
int m;
int n;
int r;
int min;

		printf("请输入一个数字:");
		scanf("%d",&m);
		
		printf("请输入一个数字:");
		scanf("%d",&n);
		
		if(m<n){
			min=m;
			m=n;
			n=min;		
		}
		r=m%n;
		while(r!=0){
			m=n;
			n=r;
			r=m%n;
		}
		printf("最大公约数:%d",n);
	}

在这里插入图片描述

do-while循环

do-while 语句的一般形式为:
do语句;while (表达式);
其中,语句是循环体,表达式是循环条件。
do-while 语句的语义是,先执行循环语句一次,在判别表达式的值,若为真,则继续循环;否则中止循环。
do-while 语句和while语句和while语句的区别在于do-while 是先执行后判断,因此do-while 至少要执行一次循环体。而while是先判断后执行,如果条件不满足,则一次循环语句也不执行。
对do-while 语句还应注意一下几点:

  • 在if和while语句中,表达式后面附不能加分号,在do-while 语句的表达式后必须要有分号;
  • do-while 语句也可以组成多种循环,而且也可以和while语句互相嵌套;
  • 在do 和while之间的循环体由多个语句组成时,也必须用{}括起来组成一个符合语句;
  • do-while 和while语句相互替换时,要注意修改循环条件。

如下面的例子,讲一个正整数按反向输出。
#include <stdio.h>
int main(){
int n;
int r;

			printf("请输入整数:");
			scanf("%d",&n);
			
			do{
				r=n%10;
				printf("%d",r);
				n=n/10;  //n/=10;
			}while(n);
			printf(" ");
			
		}

在这里插入图片描述
for()循环
for语句的基本表达形式如下:
for(表达式一;表达式二;表达式三)
<语句s>
其中,表达式一给环境变量赋初值;
表达式二确定循环条件;
表达式三改变循环变量;
在使用for()循环时,应注意以下几点:

  • for语句个表达式都可以省略,但分号间隔符都不能少:for(;?;

  • 在循环变量已赋初值时,第一个表达式可省去;

  • 循环语句可以是空语句。
    如下例列出的9X9乘法表。
    #include<stdio.h>
    int main(){
    int i,j;
    for(i=1;i<=9;i++){

    for(j=1;j<=i;j++){
    	
    	printf("%dx%d=%2d\t",i,j,i*j);
    	//\t是水平制表符
    }
    printf("\n");
    

    }
    }
    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值