算法程序员C语言

C语言/C++程序员编程学习代码训练—精讲

2018-03-23  本文已影响75人  小辰带你看世界

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

接昨天文章坚持学习打卡

你发现文章中讲的东西他们都看懂了

但具体到自己写代码的时候却完全不知道从何入手

其实看懂知识点例程和真正学会写代码之间相差了好几条街

我一再强调

学编程没有捷径

只有老老实实地敲代码

接下来以训练为主

1. 习题讲解

1.1上篇最后留下了这样一道题目

用代码打印出下面这幅图

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

菱形

1.2 分析

这个图形共31行,可以分成两个部分。上半部分是一个16行的正三角形,下半部分是一个15行的倒三角形。三角形的绘制方法我们上一篇已经讲过了,很容易,我们可以写出下面这段代码。

自己执行一下这段代码

功能倒是实现了,但是两部分用两组for循环实在有些累赘。把这段代码进行优化,得到最终结果

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

2. 例题

今天的例题也不算很难,是之前微信中朋友们提问中相当简单的一个题目,重点在于帮助大家了解程序设计的基本思路。题目如下:

请编程计算出x + 2y + 3z = 100这个方程的所有解。

3. 分析

遇到这种问题,我们需要有一个基本的思想就是穷举出所有的可能,就像密码试错一样。我们假设x,y,z的范围是0~100,那么总共有100 * 100 * 100种组合。只要我们依次判断所有的组合就能找到答案。这种排列组合有一个最基本的方法就是三重循环。

4. 答案

执行结果如下:

执行结果

当然,这个程序还有继续优化的空间,x的取值范围0~100,y的取值范围0~50,z的取值范围是0~34。这样就能大大提高程序运行的效率。请大家自己实现。

5. 课后练习

今天的练习题给点难度

请大家试着编程完成打印杨辉三角

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

上一篇下一篇

猜你喜欢

热点阅读