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语言程序设计第五章循环结构程序设计总结

例5.1

#include<stdio.h>
#include<math.h>
int main()
{
	int n = 13, year;
	double number, rate = 0.02;
	for (year = 1; year <= 10; year++)
	{
		number = n * pow((1 + rate), year);
		printf("%2d年后,人数为:%.2f亿\n", year, number);
	}
	return 0;
}

?例5.2

#include<stdio.h>
#include<math.h>
int main(void)
{
	double sum, item, flag, denominator;
	sum = 0; item = 1; flag = 1; denominator = 1;
	while (fabs(item) >= 1e-6)
	{
		sum = sum + item;
		flag = -flag;
		denominator = denominator + 3;
		item = flag / denominator;
	}
	printf("sum=%f\n",sum);
	return 0;
}

?5.2 使用for语句实现循环结构

5.2.1 for语句的基本语法

for 语句的一般形式为:
for(表达式1;表达式2;表达式 3)
循环体语句:
for 语句的执行过程如下:
①首先计算表达式 1
②判断表达式 2,若其值为真(非0),则执行循环体语句,然后
执行第③步;若值为假(0),结束循环,转到第⑤步执行。
③ 计算表达式 3。
④返回第②步继续执行。
⑤ 循环结束,继续执行 for 语句的下一条语句。
大部分情况下,循环体语句为一复合语句。
例5.3

#include<stdio.h>
int main(void)
{
	int i, n, sum;
	scanf_s("%d", &n);
	sum = 0;
	for (i = 1; i <= n; i++)
		sum = sum + i;
	printf("由1到%d的和是:%d\n",n,sum);
	return 0;
}

?例5.4

#include<stdio.h>
int main(void)
{
	int i, n;
	double factorial;
	printf("输入n的值:");
	scanf_s("%d", &n);
	factorial = 1;
	for (i = 1; i <= n; i++)
		factorial = factorial * i;
	printf("%d!=%.0f\n", n, factorial);
	return 0;
}


2. for 语句的一般形式中省略表达式 1
格式如下:
for(;表达式2;表达式 3)
循环体语句;
说明:省略表达式1时,可以将循环变量赋初值放在for之前。
例如,例5.3的循环语句:

for(i=1;i<=n;i++)? ? ? ? ? ? ? ? ? ? ? ?/*循环执行n次*/
sum=sum+i;? ? ? ? ? ? ? ? ? ? ? ? ? ?/*累加器,反复累加i的值*/

等价于

i=1;
for(;i<=n;i++)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*循环执行n次*/
sum=sum+i;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*累加器,反复累加i的值*/

例5.5

#include<stdio.h>
int main(void)
{
	int n, i, denominator, flag;
	float sum, item;
	printf("输入n的值:");
	scanf_s("%d", &n);
	flag = 1;
	denominator = 1;
	sum = 0;
	for (i = 1; i <= n; i++)
	{
		item = flag * 1.0 / denominator;
		sum = sum + item;
		flag = -flag;
		denominator = denominator + 3;
	}
	printf("Sum=%.2f\n",sum);
	return 0;
}

例5.6

#include<stdio.h>
int main(void)
{
	int i;
	float x,max;
	printf("请输入第1个数:");
	scanf_s("%f", &x);
	max = x;
	for (i = 1; i <= 9; i++)
	{
		printf("请输入第%d个数:", i + 1);
		scanf_s("%f", &x);
		if (x > max)
			max = x;
	}
	printf("10个数的最大值是:%.0f",max);
	return 0;
}

?例5.7

#include<stdio.h>
int main(void)
{
	int number, a, b, c;
	for (number = 100; number <= 999; number++)
	{
		a = number / 100;
		b = number % 100 / 10;
		c = number % 10;
		if (number == a * a * a + b * b * b + c * c * c)
			printf("%5d", number);
	}
	return 0;
}

?例5.8

#include<stdio.h>
int main(void)
{
	int number, sum,i;
	printf("请输入一个正整数:");
	scanf_s("%d", &number);
	sum = 0;
	for (i = 1; i <= number - 1; i++)
		if (number % i == 0)
			sum = sum + i;
	if (number == sum)
		printf("%d是完数\n", number);
	else
	    printf("%d不是完数\n", number);
	return 0;
}

?例5.9

#include<stdio.h>
int main(void)
{
	int upper,lower,digit,i,other;
	char ch;
	upper = lower = digit = other = 0;
	printf("输入10个字符:");
	for (i = 1; i <= 10; i++)
	{
		ch = getchar();
		if (ch >= 'a' && ch <= 'z')
			lower++;
		else if (ch >= 'A' && ch <= 'Z')
			upper++;
		else if (ch >= '0' && ch <= '9')
			digit++;
		else
			other++;
	}
	printf("小写字母%d个,大写字母%d个,数字%d个,其他字符%d个\n",lower,upper, digit, other);
	return 0;
}

例5.10

#include<stdio.h>
int main(void)
{
	int i;
	char ch;
	for (i = 1; (ch = getchar()) != '\n'; i++)
		putchar(ch - 32);
	return 0;
}

?例5.11

#include<stdio.h>
int main(void)
{
	int n=0,i;
	char ch;
	printf("输入3个数字:");
	for (i = 1; i <= 3; i++)
	{
		scanf_s("%c", &ch);
		n = n * 10 + ch - '0';
	}
	printf("%d\n", n);
	return 0;
}

?例5.12

#include<stdio.h>
int main(void)
{
	int i,flag,number;
	printf("请输入一个正整数:");
	scanf_s("%d", &number);
	flag = 1;
	for (i = 2; i <= number - 1 && flag; i++)
		if (number % i == 0)
			flag = 0;
	if (flag)
		printf("%d是素数\n", number);
	else
		printf("%d不是素数\n", number);
	return 0;
}

?5.3 使用while语句实现循环结构

5.3.1 while语句的基本语法

while(表达式)

? ? ? ? 循环体;

1步:计算表达式的值,若表达式的值为“真”,则执行第
2步;若表达式的值为“假”,则转到第4步。
第2步:执行循环体语句。
第3步:返回第1步。
第4步:结束循环,执行 while 语句的下一条语句。
注意,while 语句的特点是先判断循环条件,后执行循环体。

5.3.2? ? ? ? while循环使用示例

例5.13

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

?例5.14

#include<stdio.h>
int main(void)
{
	int n=0,i;
	char ch;
	printf("输入3个数字:");
	for (i = 1; i <= 3; i++)
	{
		scanf_s("%c", &ch);
		n = n * 10 + ch - '0';
	}
	printf("%d\n", n);
	return 0;
}

例5.15

?

#include<stdio.h>
int main(void)
{
	int digit, letter, other = 0;
	char ch;
	digit = letter = other = 0;
	printf("请输入一串字符:");
	while ((ch = getchar()) != '\n')
		if ((ch >= "0") && (ch <= '9'))
			digit++;
		else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
			letter++;
		else
			other++;
	printf("数字%d个,字母%d个,其他%d个\n",digit,letter,other);
	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-12-05 11:51:56  更:2021-12-05 11:54:19 
 
开发: 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年4日历 -2024/4/20 11:35:57-

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