IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 循环结构(C) -> 正文阅读

[C++知识库]循环结构(C)

? ? ? ? 在C语言中,循环结构有三种:while循环、do...while循环、for循环。

1.while循环

? ? ? ? while语句一般形式为:

? ? ? ? while(表达式) 语句;

? ? ? ? 性质:

? ? ? ? (1)while后面的语句可以是单行语句,也可以是{}括起来的复合语句,这些语句是while循环的循环体。

? ? ? ? (2)while后面括号中的表达式一般是关系表达式或者逻辑表达式,用来控制循环体的执行次数。当表达式为真(非零)时,就执行循环体,否则就跳出循环。

? ? ? ? (3)先判断表达式,后执行循环体

? ? ? ? 实例:计算从1加到100的和并输出

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

? ? ? ? 运行结果:

2.do...while循环语句

? ? ? ? ?一般形式:

? ? ? ? do{

? ? ? ? ? ? ? ? 语句块

? ? ? ? }while(表达式);

? ? ? ? 与while循环的区别在于,do...while循环首先会先执行一遍循环体,才开始判断,也就是说do...while语句至少执行一次,而while语句有可能一遍都不执行。

? ? ? ? 实例:打印1到10,空格隔开

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

? ? ? ? 运行结果:

?3.for循环

? ? ? ? for循环是用的最多的循环,务必重视。

? ? ? ? 一般形式为:

? ? ? ? for(表达式1;表达式2;表达式3){

? ? ? ? ? ? ? ? 语句块

????????}

? ? ? ? 执行过程:

? ? ? ? (1)执行表示式1,该表达式只会被执行1次;

? ? ? ? (2)执行表达式2,若为真,则执行循环体,然后执行第(3)步;如果为假,直接结束for循环;

? ? ? ? (3)执行表达式3,然后跳回第(2)步重新执行。

? ? ? ? 性质:

? ? ? ? (1)三个表达式以分号隔开;

? ? ? ? (2)三个表达式都是可选项,即可以省略

? ? ? ? (3)表达式1一般是循环变量赋值;表达式2一般是循环条件;表达式3一般是循环改变量

? ? ? ? 实例:输出[10,20]间的偶数

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

? ? ? ? 运行结果:

????????常见错误:while循环和for循环圆括号后多加了分号,do...while循环少加了分号。

4.改变循环执行状态

? ? ? ?(1)?"break;"语句可以强制跳出循环,一般与if配合使用,不单独使用。在循环嵌套中,只强制结束离它最近的上一层循环。

? ? ? ?(2)有时在程序中并不希望终止整个循环,而是只希望终止本次循环,后面的循环接着进行此时使用break不合适,而continue可以起到这个作用。

? ? ? ? 实例:输出[10,20]间的偶数和

#include<stdio.h>
int main() {
	int sum = 0;
	for (int i = 10; i <=100; i ++) {
		if (i % 2 != 0) {//奇数的情况
			continue;
		}
		if (i > 20)
			break;
		sum += i;
	}
	printf("%d", sum);
	return 0;
}

? ? ? ? 运行结果:

5.实例 津津的储蓄计划 洛谷P1089

?输入 #1

290
230
280
200
300
170
340
50 
90 
80 
200
60 

输出 #1

-7 

?输入 #2

290 
230 
280 
200 
300 
170 
330 
50 
90 
80 
200 
60 

输出 #2

1580

?????????参考答案:

#include<stdio.h>
int main()
{
	int plan,b=0,mm=0,sign=1,answer;
	int i=0;
	for(i=0;i<12;i++)
	{
		scanf("%d",&plan);
		b+=300;
		if((b-plan)<0&&sign)
		{
			sign=0;
			answer=-(i+1);
		}
		mm+=(b-plan)/100*100;
		b=(b-plan)%100;
	}
	if(sign==1)
		printf("%d\n",(int)(b+mm*1.2));
	else printf("%d",answer);
	return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 15:39:53  更:2021-11-15 15:40:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:30:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码