总结篇C入门基础系列综合案例解析

C++第一阶段学习,我们主要完成了如下目标:

1、学习并强化基础程序框架,包括:输入输出语句,变量的概念及应用;

2、学习各种运算符及其优先级,特别是算术、逻辑和关系等;

3、学习条件及其嵌套结构,主要有if和switch两种结构及其异同点;

4、学习循环及其嵌套结构,包括:while、do-while和for循环三种基础结构;

5、学习应用库函数,包括:精确小数位数、求平方根和产生随机数等内容。

通过以下五个案例,强化对知识点的综合应用。

01案例一:实现数字反向输出

问题:输入一个正整数(大于0的数),然后反向输出。比如:

输入:

输出:

解析:其实,我们在前面学习了算术运算符后,就通过取余(%)和整除(/)符号,实现过两位数、三位数的拆解。

现在的问题是,对于一个不确定长度的正整数,该如何处理呢?

我们可以结合循环结构,对数字进行不停的变化。先分离一次个位数,输出,然后将这个个位数从原有的数字中剔除出去;如此反复,直到这个数字变为0后,结束循环。

参考视频:「案例分享」C++入门基础系列:给定一个正整数,实现反向输出?

02案例二:求指定范围的所有质数

问题:求-之间的所有质数。

质数是只能被1和它本身整除的数;需要用到嵌套双重循环。

解析:首先,我们要能够解决“如何判断某一个数是否为质数的问题?”通过循环,让这个数依次去除以从2到它本身(不包含)的每一个数字,这个过程中,如果找到了一个能够被整除的数,就可判断该数不是质数;否则结论相反。

第一个问题解决了,就可以在上述代码的最外围嵌套一层循环,将循环的每一个值作为判断质数的数据进行测试。

参考视频:「案例分享」C++入门基础系列:求指定区间范围内的所有质数

03案例三:求连续范围的阶乘和

问题:求1+2!+3!+4!+…+10!的和。

!为阶乘符合,比如:3!(3的阶乘)为1+2+3的和。

解析:类似第2题的解决思路。首先,需能够解决某个数的阶乘问题;然后,在上述代码的外围,再嵌套一重循环,将循环条件作为内层循环,计算阶乘的目标数值。

参考视频:「案例分享」C++入门基础系列:双重嵌套循环,实现阶乘求和问题

04案例四:根据规律打印图形

问题:编写程序,打印如下图案:

解析:打印平面图形,需采用嵌套双重循环。提示如下:

1、数字(ASCII)转字符,可以进行强制转换;

语法:(char)数字;

比如:(char)65

如图(上):根据ASCII值,循环打印了前七个字母。

2、这是一个等腰三角形图案,前面需要打印空格占位。

框架结构如下:

具体分析,请参照教学视频:

「案例分享」C++编程基础系列之:采用嵌套双重循环构造字母三角形

05案例五:斐波那契数列

斐波那契数列,又称黄金分割数列。据说是数学家斐波那契以兔子繁殖为例而引入,也称为“兔子数列”。

问题:编写程序,用于产生斐波那契数列的前20个数。

数列:1、1、2、3、5、8、13…..

规律:第一项、第二项是1,从第三项开始,其值为前两项数字之和。

解析:首先,初始化第一项、第二项,分别用变量n1、n2表示。根据题目要求,只需要前20项的数字,所以循环20次。

在循环体中,先输出第1项,然后累加前两项的和;接着,将第2项的值赋值给变量n1,将前两项的和赋值给变量n2,如此反复,不断的改变n1、n2的位置值,这样就实现了我们的目标要求。

06总结

相关思维导图:请参考作者动态信息。同学们,也可以自行尝试绘制。

本篇结合四个综合视频案例+一个经典思维案例,总结这一阶段所学知识点,希望同学们加强训练,多实践,多思路,多练习、多分享。#少儿编程#,一起来体验编程的快乐吧。




转载请注明:http://www.aierlanlan.com/tzrz/3484.html