1到100分之⼀的和⽤C语⾔,C语⾔菜鸟基础教程之求1到100的
题⽬:求1+2+3+……+98+99+100
(1)⽤数学⽅法求解
(2)编写C语⾔程序求解
解:
(1)数学⽅法
S = 1+2+3+……+98+99+100
= (1+100) + (2+99) + (3+98) + …… + (49+52) + (50+51)
= 101 * 50
= 5050
(2)C语⾔编程
#include
int main()
{
int sum = 0; // 赋初值
for(int i = 1; i <= 100; i++)
{
sum = sum + i;
}
printf("total is %d\n", sum);
}
运⾏结果:
total is 5050
分析:
c语言和c++区别
(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,运⾏结果
#include
int main()
{
int sum = 0; // 赋初值
for(int i = 1; i <= 100; i++)
{
sum += i;
}
printf("total is %d\n", sum);
}
(3)在纸上默写这个程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。