时间:2021-05-20
首先,这里所提到的类C语言指的是如C、C++、C#和Java等语法和C语言一样或类似的程序设计语言。这些语言中,for语句的语法和执行流程都是一样的。本文将就这一语句的用法进行一个较为深入的讨论。
for语句:
复制代码 代码如下:for (表达式1;表达式2;表达式3)
{
循环语句
}
表达式1 给循环变量赋初值
表达式2 为循环条件
表达式3 用来修改循环变量的值,称为循环步长。
for语句的执行流程:
例:编程计算:1+2+3+...+99+100的结果。
这是累加问题,累加问题的通用表达式为:S = S + T;
其中,S是一个变量,用来存储累加最后的结果,称之为累加器;T是一个表达式,代表每次需要加入累加器的中的值。
累加一般是通过循环结构实现的。循环之前要设置累加器S的初始值为0。
累加项T可以是很简单的表达式,也有可能是一个通过分析得到的较复杂的表达式。
注意:
1)对于已经确定是累加算法的题目,首先确定累加项与循环变量的关系;
2)然后,考虑第一个累加项的值是多少,以确定循环变量的初值;
3)其次,确定最后一个累加项的值,确定循环条件;
4)最后,考虑每个累加项之间的关系,以确定循环变量的变化(步长值)。
例:编程计算S = a + aa + aaa + aaaa + ... 的前n项之和。
例如:如果a = 3,n = 5,则表达式为:S = 3 + 33 + 333 + 3333 + 33333。
累加算法也可以演化为连乘的形式:S = 1 * 2 * 3 * ... * n。
连乘的算法和累加算法相似,循环体实现的是S = S * T的形式。需要注意的S的初值不是0,而是要设为1。
在求连乘时,由于每乘一次结果增长都非常快,所以应该注意是否会出现溢出的问题。
循环程序设计思路:
(1)输入是什么?用来确定原始值。
(2)输出是什么?确定应该输出的结果。
(3)从输入转换为输出需要怎样的步骤,是否需要重复(确定是否需要使用循环语句以及循环语句的内容)。
(4)如果需要重复,能否提前预知重复的次数?用来确定使用while、do while、for中的哪种循环语句。
(5)何时不再需要重复?用来确定循环条件以及循环体中使循环条件趋近于0的语句。
例:水仙花数、四叶玫瑰数、五角星数、六位数的问题。
水仙花数:每位数字的3次幂之和等于它本身。例:1^3 + 5^3 + 3^3 = 153。
四叶玫瑰数:每位数字的4次幂之和等于它本身。
五角星数:每位数字的5次幂之和等于它本身。
六位数:每位数字的6次幂之和等于它本身。
最后我用例子来总结一下吧! 下面的例子是一个对1-10这10个数求和的例子。
复制代码 代码如下:
int i, sum = 0, num = 10; // 声明几个变量:i 计数, sum 存储最后的总和, num 表示多少个数,用来控制边界。
for(i = 1; i <= num; i++) // for语句包含三个语句,用;隔开。
{ //1设置初始值,2边界控制,3通常用来调整计数值。
sum += i; // 相当于 sum = sum + i; 表示不断地加i。 {}内的语句均为循环体,用4表示。
} // for循环的执行顺序为 1-2-4-3-2-4-3-2-4-3-2................直到i > num.这时,将退出循环。
printf("The sum from 1 to 10 is ", sum); // 打印输出sum值。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C语言中qsort函数的用法实例详解快速排序是一种用的最多的排序算法,在C语言的标准库中也有快速排序的函数,下面说一下详细用法。qsort函数包含在中qsort
break语句在C编程语言中的break语句有以下两种用法:当在循环中遇到break语句,循环立即终止,程序控制继续循环语句的后面(退出循环)。它可用于终止在s
C语言中memcpy函数的用法详解memcpy(内存拷贝函数)c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n
在C语言或C++中,有一种特殊的语句,称为空语句。在C语言中或C++中,如果一个语句只有一个分号“;”,则称该语句为空语句。空语句是什么
同C语言、Java一样,Python中也存在条件选择和循环语句,其风格和C语言、java的很类似,但是在写法和用法上还是有一些区别。今天就让我们一起来了解一下。