美文网首页算法程序员C语言
C语言/C++编程学习代码训练

C语言/C++编程学习代码训练

作者: 小辰带你看世界 | 来源:发表于2018-03-23 22:43 被阅读60次

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

    C和C++的区别:

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

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

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

    我在文章中讲的东西他们都看懂了

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

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

    我一再强调

    学编程没有捷径

    只有老老实实地敲代码

    接下来以训练为主

    1. 例题

    今天我们先来讲解一道C语言的经典例题,也是从零开始系列中的一道课后练习题。

    请用控制台程序绘制如下图案。

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

    循环经典例题

    2. 分析

    这个题目是要求打印30行"*",每行打印的个数不同。通过这个信息,我们应该立刻反映出运用循环来完成。那么我们想想,在循环部分我们都学到了什么。

    关于循环,我首先会想到一些例题:

    2.1 例题1

    打印30个"*",每个"*"占一行。

    2.2 例题2

    打印一行"*",个数为30

    这两个题目的代码只差一个 ,结果却完全不同。掌握了这两个例题,我们自然能够完成下面这个例题了。

    2.3 例题3

    打印一个由"*"组成的30行30列的矩阵。

    执行结果如下:

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

    30*30矩阵

    我们再把例3的要求改一改,要求如下

    2.4 例题4

    打印30行“*”。第一行打印1个“*”,第二行打印3个“*”,第三行打印5个“*”,... ,第三十行打印59个“*”。

    在前面的程序中,我们用变量i控制行的循环,变量j控制列的循环。i的范围0~29,j的范围0~29。那么在例题4中,i和j有什么样的关系呢?

    找规律

    第一行i = 0;j循环1次

    第二行i = 1;j循环3次

    第三行i = 2;j循环5次

    .........

    第三十行i = 29;j循环59次

    于是得到这样一个关系:

    规律

    第n行i = n - 1;j循环2i + 1次

    那么如何实现循环2i + 1次呢,就是让j从0到2i + 1。

    按照这个思路,可以得到下面的代码:

    执行结果如下:

    例题4

    这里要说一个问题,其实for循环有两种常见形式:

    for (i = 0; i < n; i++)

    for (i = 1; i <= n; i++)

    这种写法执行的次数相同,可以相互代替。大部分C语言程序员喜欢第一种方式,因为数组的下标访问是从0开始的,这样写更方便。目前大家可以选择自己喜欢的方法。

    好了,回到例题中来。现在我们的代码距离目标输出已经很接近了,缺少的是在每行“*”之前需要输入不同数量的空格。我们分析i和空格数量,可以得到如下关系:

    每行输出LINE - i个空格

    于是,我们得到了最终的实现程序。

    3. 答案

    运行一下这段代码,你会看到打印结果就是最前面的那张图。

    4. 课后练习

    自己编写代码,打印出下面这张图。

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

    菱形

    下一篇会讲解这个程序,请大家先做练习。

    这些是C/C++能做的

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

    相关文章

      网友评论

        本文标题:C语言/C++编程学习代码训练

        本文链接:https://www.haomeiwen.com/subject/cypiqftx.html