服务器之家

服务器之家 > 正文

C语言菜鸟基础教程之求1到100的和

时间:2021-06-04 15:25     来源/作者:翡翠森林Z

题目:求1+2+3+……+98+99+100
(1)用数学方法求解
(2)编写C语言程序求解

解:
(1)数学方法

?
1
2
3
4
S = 1+2+3+……+98+99+100
 = (1+100) + (2+99) + (3+98) + …… + (49+52) + (50+51)
 = 101 * 50
 = 5050

(2)C语言编程

?
1
2
3
4
5
6
7
8
9
10
11
12
#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,运行结果

?
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{
  int sum = 0; // 赋初值
  for(int i = 1; i <= 100; i++)
  {
    sum += i;
  }
  
  printf("total is %d\n", sum);
}

(3)在纸上默写这个程序。

原文链接:http://www.jianshu.com/p/cfd060d28b39

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部