第一个: C语言的学习过程中,基本会有这种感觉,学知识容易,用知识难。虽然大家已经掌握了 if、else、switch、case、while、for 的语法,但是还没有形成编程思维,没有足够的编程经验。编程不仅仅是语法,更重要的是解决问题的能力。那么,初学者该如何跨越这个障碍呢?貌似也没有捷径,只能多看多练(自己不断写代码,同时也参考别人的优秀代码),时间久了自然会养成编程思维;但是注意一些技巧能够提升效率,尽早让自己飞越。

真正的核心:所谓编程思维,就是专业经验,行业感觉。

例子:公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

题目分析:可以使用数学的方法来解决百钱买百鸡的问题,可以抽象成对应的方程组:

A:5x+3y+1/3z = 100
B:x+y+z = 100
C:0 <= x <= 100
D:0 <= y <= 100
E:0 <= z <= 100

具体代码实现:

#include <stdio.h>int main()
{int i, j, k;printf("百元买百鸡的问题所有可能的解如下:\n");for( i=0; i <= 100; i++ )for( j=0; j <= 100; j++ )for( k=0; k <= 100; k++ ){if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 ){printf("公鸡 %2d 只,母鸡 %2d 只,小鸡 %2d 只\n", i, j, k);}}return 0;
}

在练习C语言的时候,给大家的忠告是,先不要看答案,要尽量自己写代码:

原则1:如果自己能够顺利编写出代码,那么可以跟答案中的代码进行对比,看看自己的代码有哪些不足的地方,答案中的思路是否更好。

原则2:如果不能立即想到对策,那么也要先绞尽脑汁思考,想尽各种办法,查阅各种资料,最后实在扛不住了,再看答案,这个时候就会豁然开朗,受到很大冲击,原来答案中的思路如此巧妙。

第二点非常非常重要,大家一定要先自己思考,不管最后能不能得到答案,都要有一个独立思考的过程,这个过程就是培养编程思维的过程。只有经过缜密的思考,查阅答案时才能受到最大的冲击,这样形成的记忆和经验才是最深刻的。

记住,上来就看答案,一辈子也学不会编程。

第二个:编程思维的培养也没有那么难,往往就是一瞬间的事情,这个一瞬间,就是你独自并且巧妙地完成一道题目的时候。比如对于上面的实例,当你能够进行设计思路的简化,觉得非常欣喜和激动,当你查阅答案时,发现和答案的思路一样,甚至比答案的思路还棒,那么恭喜你,你终于突破了,你初步具备了编程思维,有了一点点经验,能够解决一些简单的问题了。

当你能够独自完成上面的一道题目时,将是一次很大的飞跃,它让你获得成就感,让你初步具备编程思维。

一名合格的程序员,不仅仅需要有理论基础和系统的知识,更重要的是大量编写代码、不断实践,丰富自己的经验,强化编程思维,只有这样,拿到项目才能立马想到解决方案。

内功心法:大家一定要养成独立思考的习惯,在学习和实践过程中遇到问题首先要自己解决,解决不了就借助搜索引擎,而不是先去看答案,或者直接问别人。

C语言初学之编程思维突破经典相关推荐

  1. c#语言cs模式编程,C#入门经典之ScriptCS:将C#转变为脚本语言

    在C#入门经典学习中,我们知道ScriptCS 支持开发者使用简单的文本编辑器编写 C# 应用,并通过 Roslyn 执行编译,使用 NuGet 进行包管理.希望对大家学习C#入门经典有所帮助. Wi ...

  2. c语言——试题库编程题_[经典例题——60道]

    目录: 1.(5分)利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 2.(10分)编写函数fun(),它的功能是:计算和输出 ...

  3. C语言编程编程思维培养的重要性,谈编程思维的培养

    学完了顺序结构.选择结构和循环结构的语法,大家就能将它们结合在一起写一些比较复杂.比较烧脑的程序了,就能解决一些实际问题了,比如输出九九乘法表.输出菱形图案.求素数.求最小公倍数等.但是,这对大部分初 ...

  4. 谈编程思维的培养,初学者如何实现自我突破(非常重要)

    学完了本章,大家就掌握了顺序结构.选择结构和循环结构的语法,将它们结合在一起就可以让程序变得复杂,变得烧脑:至此,大家终于能够编写一些简单的小程序来解决实际问题了,比如输出九九乘法表.输出菱形图案.求 ...

  5. C语言第一课————建立编程思维

    在学习编程的时候  一个好的思维很重要,我们想要建立一个好的思维首先就要清楚,什么是程序 上大学时,估计大部分人都学过C语言,我清楚的记得谭浩强的那本书在开篇里提到,程序 = 数据结构 + 算法.从专 ...

  6. c语言程序设计基础1千克,c语言学习知识编程经典编辑题汇总整编.doc

    c语言学习知识编程经典编辑题汇总整编.doc - C语言编程基础习题汇总1.设计一个由键盘输入三个整数,求这三个数的平均数的程序.2.编写一个程序,用于水果店售货员结账.已知苹果每斤2.50元,鸭梨每 ...

  7. 语言编程思维陈萌_这本书告诉你,计算机为何能读懂人类语言,编程思维让你更聪明...

    在这个互联网时代,我们出门购物.拍照.打电话.浏览信息,只需要带上一部智能手机就可以了.如果在20年前,要实现这些功能,需要带一大堆东西.如今,我们口袋里的这台计算机,和50年前送宇航员上月球的那台计 ...

  8. 世界读书日:带你走近Go语言编程思维

    经过十几年的演化和发展,Go语言在全世界范围内已经拥有了百万级别的拥趸,在这些开发者当中,除了一部分新入行的编程语言初学者之外,更多的是从其他编程语言阵营转过来的开发者.由于Go语言上手容易,在转Go ...

  9. c语言编程思维训练方法,编程思维训练题.pdf

    编程思维训练题 编程思维训练一 (学会用 C 语言运算符来表达你的想法) 用 C 表达式来表达下面的题目,比如判断一个整数 a 是不是等于 9,对应的表 达式为 a 9. 数学运算 1. 将数学表达式 ...

最新文章

  1. Numpy入门教程:练习作业01
  2. dijkstra 算法_最短路径问题Dijkstra算法详解
  3. 阿里巴巴DevOps实践指南 | 数字化转型下,DevOps的根本目标是什么?
  4. Method db.collection.distinct is not implemented
  5. Lucene学习笔记
  6. freebsd内核编译、优化
  7. 1709 - Index column size too large. The maximum column size is 767 bytes.
  8. sap权限激活_SAP产品的Field Extensibility
  9. redis 在windows 下的安装和使用
  10. 拓端tecdat|R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断
  11. 高等数学第七版同济大学课后习题讲解下册 pdf(免费)
  12. Revit二次开发——叠合板自动配筋(2)
  13. 我为什么放弃百词斩?
  14. 阿里云、百度云、腾讯云、AWS、微软Azure、华为云、金山云等云服务商产品的差异是啥?
  15. 光威猛将240固态掉盘开卡教程
  16. Flannel host-gw 和 vxlan
  17. 【Android开发】计算机网络基础知识点,如何完成网络请求过程?
  18. 参考文献名称怎么复制_[Zotero+Word]Zotero+Word2016参考文献中英文混排,解决et al和等的问题...
  19. 记一次查询超时的解决方案The timeout period elapsed......
  20. 第一个HTML页面如何写?—零基础自学网页制作

热门文章

  1. PHP网络开发设计建站工作室接单网站源码
  2. java 时区转换日期转换:东八区转为UTC零时区
  3. 游戏开发完整流程之美
  4. 迅睿CMS 网站表单管理
  5. 使用 Excel 数据透视表深入研究数据分析
  6. 【CQOI2017】bzoj4815 小Q的表格
  7. 天津大学计算机网络研究所,计算机#2019计算机考研究生天津大学先进网络技术与应用重点实验室简介...
  8. Kolin系列(一)—— 基本数据类型、数组、字符串
  9. 使用kolin开发你的android应用
  10. java基础知识大全