C语言,循环控制系列

for 循环控制

基本介绍:听其名而知其意,就是让你的代码可以循环的执行。

基本语法

循环变量定义

for(①循环变量初始化;②循环条件;④循环变量迭代){ 
	③循环操作(多条语句); 
}

使用 for 循环完成 打印五个相同的古诗!

#include<stdio.h>

void main() {
	int i;

	for (i = 1; i < 6; i++) {
		printf("\n坐地日行八万里!");
	}
}

注意事项和细节说明

1)循环条件是 返回一个表示真(非 0)假(0) 的表达式
2)for(;循环判断条件;) 中的初始化和变量迭代可以不写(写到其它地方),但是两边的分号不能省略。
3)循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量 迭代语句,中间用逗号隔开。

for 循环练习题

1)打印 1~100 之间所有是 9 的倍数的整数的个数及总和

#include<stdio.h>

void main() {
	
	int i; //定义初始化 
	int count = 0; //记录个数 
	int sum = 0; //记录总和 

	for (i = 0; i <= 100; i++) {

		//判断是否是9的倍数
		if(i % 9 == 0){
			count++;
			sum = sum + i;
		} 
	}
	printf("\nsum=%d,count=%d",sum,count);
}

2)完成下面的表达式输出
在这里插入图片描述

#include<stdio.h>

void main() {
	
	int num = 0;
	printf("请输入一个整数");
	
	scanf("%d",&num);
	int i = 0;
	for(i = 0; i <= num ;i++){
		printf("\n%d + %d = %d",i,num-i,num);
	}
}

在这里插入图片描述

while 循环控制

基本语法

①循环变量初始化; 
while(②循环条件){ 
	③循环体(多条语句); 
	④循环变量迭代; 
}

在这里插入图片描述
2) 使用 while 循环完成前面的题(打印 1~100 之间所有是 9 的倍数的整数的个数及总和)

#include<stdio.h>
void main(){
	
	int i = 0;
	int count = 0;
	int sum = 0; 
	
	while(i <= 100){
		if(i % 9 == 0){
			count++;
			sum = sum + i;	
		}
		i++;
	}
	
	printf("个数为:%d,总和为:%d",count,sum);
		
} 

注意事项和细节说明

1) 循环条件是返回一个表示真(非 0)假(0) 的表达式
2)while 循环是先判断再执行语句

课堂练习题

1)打印 1—100 之间所有能被 3 整除的数

#include<stdio.h>
void main(){
	
	//打印 1—100 之间所有能被 3 整除的数
	int i = 1;
	int max = 100; 
	
	while(i <= max){
		if(i % 3 == 0){
			printf("\n i=%d 能被 3 整除", i);	
		}
		i++;
	}
		
} 

2) 打印 40—200 之间所有的偶数

#include<stdio.h>
void main(){
	
	//打印 1—100 之间所有能被 3 整除的数
	int i = 40;
	int max = 200; 
	
	while(i <= max){
		if(i % 2 == 0){
			printf("\n 偶数 : %d", i);	
		}
		i++;
	}	
} 

3)不断输入姓名,直到输入 “exit” 为止

#include<stdio.h>
#include<string.h> 


void main() {

	//不断输入姓名,直到输入 "exit" 为止[使用 while 完成]
	//1. 需要接受用户的输入,字符串[字符数组]
	//2. 提示: <string.h> 有一个 strcmp 函数,判断两个字符串是否相同
	//int strcmp(const char *str1, const char *str2)
	//返回 0 表示相等,非 0 表示不相等
	
	char name[10] = "";
	while( strcmp(name,"exit") != 0) { // exit = > 0 != 0
		printf("\n 请输入名字");
		scanf("%s", name); // 这里不需要 加 &name, 因为 数组的名称就是地址
		printf("\n 你输入的名字是=%s", name);
	}
	printf("\n退出 while");

}

do…while 循环控制

基本语法

①循环变量初始化; 
do{ 
	②循环体(多条语句); 
	③循环变量迭代; 
}while(④循环条件); 

注意:do – while 后面有一个 分号,不能省略

do…while 循环执行流程分析

在这里插入图片描述
1)使用 do…while 循环完成前面的题(打印 1~100 之间所有是 9 的倍数的整数的个数及总和)

#include<stdio.h>

void main(){
	
	int i = 1;
	int max = 100;
	int count = 0; //个数
	int sum = 0; //总和 
	
	do{
		if(i % 9 == 0){
			count++;
			sum = sum + i;
		}
		i++;
		
	}while(i <= max);
	
	printf("个数为:%d,总和为:%d",count,sum);	
}

在这里插入图片描述

注意事项和细节说明

1) 循环条件是返回一个表示真(非 0)假(0) 的表达式
2) do…while 循环是先执行,再判断

课堂练习题

1)打印 1—100

#include<stdio.h>

void main(){
	
	int i = 1;
	int max = 100;
	
	do{
		printf("\n%d",i);
		i++;
		
	}while(i <= max);
			
}

2)计算 1—100 的和

#include<stdio.h>

void main(){
	
	int i = 1;
	int max = 100;
	int sum = 0; //总和 
	
	do{
		sum = sum + i;
		i++;
				
	}while(i <= max);
	
	printf("总和为 %d",sum);		
}

3)统计 1——200 之间能被 5 整除但不能被 3 整除的个数

#include<stdio.h>

void main(){
	//统计 1——200 之间能被 5 整除但不能被 3 整除的个数
	int i = 1;
	int max = 200;
	int count = 0; //个数
	
	do{
		if(i % 5 == 0 && i % 3 != 0){
			count++;
		}
		
		i++;
		
	}while(i <= max);
	
	printf("个数为 %d",count);
			
}

4) 如果老公同意老婆购物,则老婆将一直购物,直到老公说不同意为止 [printf(“老婆问:我可以继续购物吗?y/n”)]

#include<stdio.h>

void main(){
	/*
		如果老公同意老婆购物,则老婆将一直购物, 
		直到老公说不同意为止 [printf("老婆问:我可以继续购物吗?y/n")]
	*/
	
	char answer = ' ';
	do{
		printf("老婆问:我可以继续购物吗?y/n");
		scanf("%c",&answer);
		getchar();
	}while(answer == 'y');

	printf("老婆终于退出购物~~~~");	
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值