时间:2021-05-20
题目:求1+2+3+……+98+99+100
(1)用数学方法求解
(2)编写C语言程序求解
解:
(1)数学方法
(2)C语言编程
#include <stdio.h>int main(){ int sum = 0; // 赋初值 for(int i = 1; i <= 100; i++) { sum = sum + i; } printf("total is %d\n", sum);}运行结果:
total is 5050
分析:
(1)第一次循环
i = 1, sum = sum + i = 0 + 1 = 1,这里右边的sum的值为初值0,将1赋给左边的sum后,sum的最新值变成了1
(2)第二次循环
i = 2, sum = sum + i = 1 + 2 = 3, 这里右边的sum的值已经通过上一步的计算变成了1。把3赋值给左边的sum后,sum的最新值
就成了3
(3)第三次循环
i = 3, sum = sum + i = 3 + 3 = 6, 这里右边的sum的值已经通过上一步的计算变成了3。把计算结果6赋值给左边的sum后,sum的最新值就成了6
(4)第四次循环
i = 4, sum = sum + i = 6 + 4 = 10, 这里右边的sum的值已经通过上一步的计算变成了6。把计算结果10赋值给左边的sum后,sum的最新值就成了10
(5)……这样执行一百次后,得到的结果为5050
新知识点:
sum = sum + i可以写成sum += i,都是让sum和i相加后,把新的值赋给sum。
以后编程尽量使用+=这种方式。
理由:C语言要通过编译器编译,在编译器没开启优化的情况下,两种写法是完全等价的;编译器开启了优化后,+=的执行速度可能会快一点。(这个先有点印象即可,目前不用深入了解)
作业:
(1)调试上面的程序。每次运行到右大括号时,把鼠标悬在sum上面,观察sum的值。
上面的程序会循环100次,调试的时候,循环10次左右就可以step out了。
(2)
把sum = sum + i改成sum += i,运行结果
(3)在纸上默写这个程序。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C++基础教程之指针拷贝详解指针是编程人员的梦魇,对C语言的开发者是如此,对C++的开发者也是如此。特别是在C++中,如果不注意处理类中的指针,非常容易出问题。
基础教程介绍了基本概念,特别是对象和类。进阶教程对基础教程的进一步拓展,说明Python的细节。希望在进阶教程之后,你对Python有一个更全面的认识。之前我们
Kotlin基础教程之操作符与操作符重载Kotlin操作符的使用方法与其他语言差不多,最大的特点就在于infixfunctioncall(事实上infixfun
Kotlin基础教程之数组容器ArraysKotlin标准库提供了arrayOf()创建数组,**ArrayOf创建特定类型数组valarray=arrayOf
Kotlin基础教程之反射概述反射是语言与库中的一组功能,可以在运行时刻获取程序本身的信息.在Kotlin中,不仅可以通过发射获取类的信息,同时可以获取函数和属