题目:求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

分析:

(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)在纸上默写这个程序。

1至100之和用c语言表达方式,C语言菜鸟基础教程之求1到100的和相关推荐

  1. C语言编写程序求1到100的和,C语言菜鸟基础教程之求1到100的和

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

  2. c语言求a1到an的和,C语言菜鸟基础教程之a++与++a

    (一)a++ 在C语言或其它语言中,++符号表示"自加",就是变量在原来的基础上加1. 例1: a = 0; a++; 则此时a的值为1. 同样的道理,--表示"自减&q ...

  3. c语言菜鸟编译器,C语言菜鸟基础教程之Hello World

    搜索热词 首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++. 编写第一个程序:Hello World! @H_50 ...

  4. c语言编辑器菜鸟,C语言菜鸟基础教程之Hello World

    首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++. 编写第一个程序:Hello World! #include i ...

  5. c语言程序设计菜鸟教程,C语言菜鸟基础教程之a++与++a

    (一)a++ 在C语言或其它语言中,++符号表示"自加",就是变量在原来的基础上加1. 例1: a = 0; a++; 则此时a的值为1. 同样的道理,--表示"自减&q ...

  6. 菜鸟c语言编程,C语言菜鸟基础教程之Hello World

    首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++. 编写第一个程序:Hello World! #include i ...

  7. c语言教程for,C语言菜鸟基础教程之for循环

    先看程序: #include int main() { for(int i = 0; i < 5; i++) { printf("i = %d\n", i); } print ...

  8. c语言循环菜鸟,C语言菜鸟基础教程之for循环

    先看程序: #include int main() { for(int i = 0; i < 5; i++) { printf("i = %d\n", i); } print ...

  9. 1 4c语言表达方式,表达方式、表现手法、说明方法都在这里了。

    一.表达技巧主要包括: ①表达方式(记叙.描写.抒情.议论.说明一共五种,古诗中常用前四种): ②表现手法(托物言志写景抒情 叙事抒情 借物喻人 直抒胸臆 欲扬先抑 欲抑先扬 顺叙 倒叙 插叙 对比 ...

最新文章

  1. AI开发人员使用频率最高的10个机器学习平台!
  2. python最高版本-Python学习路线图(2020年最新版)
  3. 定时调度框架:Quartz.net
  4. SAP CRM settype的传输原理
  5. osgi:install_OSGi服务测试助手:ServiceCollector
  6. html中可以自定义属性,,,妈的竟然才知道..
  7. 在html页面中使用模板继承,HTML静态模板的继承
  8. mybatis 报错: Invalid bound statement (not found)
  9. 学python还有机会吗_此时此刻,拥有一套全方面学习Python的机会是怎样一种体验?...
  10. jest单元测试-作用域
  11. BZOJ2160 拉拉队排练【Manacher】
  12. mp4 文件中的h264 avc1格式介绍
  13. shiro原理_Shiro-实战(二)-身份认证
  14. laravel Excel 3.1 列宽设置不起作用
  15. 面试题:你让工人为你工作7天,给工人的回报是一根金条...
  16. Python3的unichr()消失了?不,升级了!
  17. 【Windows】【VS】error C2220: 以下警告被视为错误
  18. GUID 分区表详解
  19. 笔记本式计算机处理器,问答:笔记本电脑如何选择处理器
  20. layui table动态选中_ODME与动态交通分配——DTALite使用测评

热门文章

  1. PLCrashReporter使用
  2. pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
  3. scala函数式编程 educoder
  4. JS 对象(Object)和字符串(String)互转方法
  5. sobel算子_边缘检测算法4.-教你动手实现kirsch和robinson算子
  6. qt中实现左右分割线_一种快速刷新richedit中内嵌动画的方法的实现
  7. shell循环读文件 Linux脚本读文件
  8. 存储设备映射Linux服务器,青云oss对象存储映射至linux服务器
  9. 图灵机器人调用数据恢复_python:用itchat打造属于自己的微信聊天机器人,24小时运行...
  10. oracle不显示表和过程,oracle表连接——处理连接过程中另外一张表没有相关数据不显示问题...