C++程序设计实践学材
迂者-贺利坚
烟台大学计算机学院教师,坚持教育情怀,持续进行教学改革。和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,追求快乐与激情的大学。著书《逆袭大学:传给IT学子的正能量》,帮助迷茫中的大学生。
展开
-
读懂冒泡排序
在很多问题的处理中,要处理的数据是有序的,这是一个基本的前提。以此前提,以二分查找为代表的高效算法得以应用。 于是,排序成为算法中的一个基本问题。 本文档展示了一种常见的“冒泡排序”的原理,以此帮助初学者建立对排序的感性认识。 在排序中,基本的操作无非是:比较、交换。 文档需要到资源中下载,其中的特殊效果,在网页中呈现不出来。需要1个积分,无意而为之,忘记改成0就点了提交。借此要求读者,给原创 2013-12-09 16:32:52 · 2459 阅读 · 1 评论 -
C++程序设计实践学材系列(18)——1.4.1 用if语句实现判断
回到系列文章的目录——[系列文章目录]1.4.1 用if语句实现判断 我相信读者已经读懂了程序员买包子的段子中类似C++代码的两段文字,这样的表述,比随后用语言的解释更清楚。 能对这些有感觉的,可以为学会用if语句解决判断问题增加信心了,你能学会。 在利用编程序解决问题的过程中,有大量问题需要类似的判断。问题的描述常是: 如果 (条件)那么 ……(动作1) 否则 ……原创 2013-12-31 10:06:09 · 3036 阅读 · 0 评论 -
C++程序设计实践学材系列(23)——1.5.3 体会“自顶向下,逐步求精”思想
回到系列文章的目录——[系列文章目录]1.5.3 体会“自顶向下,逐步求精”思想 接下来,我们的胃口开始大了。 提出来一种考虑问题的思路,其实已经蕴涵在例1.7输出7行星号的程序中了。 这种解决问题的思维方式是——“自顶向下,逐步求精”。 要输出的是: 写出的程序(例程ch1-13.cpp),循环7次。每次的循环,输出1行。因此,输出了7行,如下面左侧的代码所示。 for(i=原创 2013-12-31 09:57:49 · 3325 阅读 · 0 评论 -
C++程序设计实践学材系列(26)——1.7 实践“项目”提示
回到系列文章的目录——[系列文章目录]1.7 实践“项目”提示 【项目1.1】 将例程ch1-1.cpp中第5行“hello world!”换为“C++,我会爱上你!”即可 【项目1.2】 在项目1.1基础上,再加如下一句 cout 【项目1.3】 只是多了几行而已。可以使输入法中的“软键盘”输入★和☆符号。 【项目1.4】新建一个项目(project),将为项目1.1写的程序输入原创 2013-12-31 09:51:53 · 2896 阅读 · 0 评论 -
C++程序设计实践学材系列(27)——1.8 实践“项目”参考解答
回到系列文章的目录——[系列文章目录]1.8 实践“项目”参考解答【项目1.1】#include using namespace std; int main( ){ cout,我会爱上你!" return 0;}【项目1.2】#include using namespace std;int main( ){ cout,我会爱上你!" cout爱你千回终不悔!"再用cout多输出一行原创 2013-12-31 09:48:19 · 2533 阅读 · 0 评论 -
C++程序设计实践学材系列(2)——目录
C++程序设计实践学材目录(随写作进展更新)第1章 初识C++程序设计1.1 最简单的程序1.2 分支/判断的程序1.3 开启实践之旅1.3.1 集成开发环境1.3.2 写程序的基本规范初步1.3.3 程序开发的过程1.4 循环与循环思维1.4.1 玩转星号图1.4.2 自顶向下逐步求精的问题求解思路1.5 “即时检验”答案1.6 “实践项目”提示第2章 分支结构程序设计第3章 变量、表达式第4章原创 2013-12-05 01:51:06 · 4332 阅读 · 2 评论 -
C++程序设计实践学材系列(14)——1.3 能计算的程序
回到系列文章的目录——[系列文章目录]1.3 能计算的程序 计算机是能计算的机器。 可是,我们设计的简单程序,只会输出一些固定的信息。玩得再花,也是玩花的。 帮助人们进行数值计算,这可是计算机的老本行。导弹运行轨迹、天气变化趋势,建筑结构受力、机械设备参数,企业经营情况统计、社会发展预测,都离不开计算。 现在,可以让计算机干点实事,帮我们计算点什么了。 先做些最简单的计算体验体验。真正的原创 2013-12-31 10:10:10 · 2818 阅读 · 0 评论 -
C++程序设计实践学材系列(16)——1.3.2 完成简单计算的程序的一般“套路”
回到系列文章的目录——[系列文章目录]1.3.2 完成简单计算的程序的一般“套路” 在做项目之前,我们看能完成简单计算的程序的一般“套路”。有了这个套路,模仿着写程序更顺利一些。 程序的通用套路是: #include using namespace std; int main( ) { //此行开始写完成特定功能的代码 return 0; } 要进行计算,原创 2013-12-31 10:08:24 · 2958 阅读 · 0 评论 -
C++程序设计实践学材系列(17)——1.4 能作判断的程序
回到系列文章的目录——[系列文章目录]1.4 能作判断的程序 有一个令人悲伤的故事。 老婆给当程序猿的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。” 可是,当晚,程序猿老公手捧一个包子进了家门…… 老婆怒道:“你怎么就买了一个包子?!” 程序猿老公答曰:“因为看到了卖西瓜的。” 老婆的指示是: 买1斤包子; if (有卖西瓜的) 买1个(西瓜);原创 2013-12-31 10:07:01 · 2738 阅读 · 0 评论 -
C++程序设计实践学材系列(19)——1.4.2 输出两数中大值程序的其他写法
回到系列文章的目录——[系列文章目录]1.4.2 输出两数中大值程序的其他写法 例1.4 输入两个整数,求这两数中的大者并输出采取的思路是: 输入a、b的值 根据a、b的大小关系,为m赋值其中的大者 输出m的值 还可以写出下面的程序: //例程ch1-7.cpp #include using namespace std; int main( ) { int a,b;原创 2013-12-31 10:04:54 · 3549 阅读 · 0 评论 -
C++程序设计实践学材系列(20)——1.5 用循环解决问题
回到系列文章的目录——[系列文章目录]1.5 用循环解决问题 愚公移山的故事很有名。 为了将山移走,愚公和他的子孙们将山石“箕畚运于渤海之尾”,可以想见他们跑了一趟又一趟的辛苦,他们在重复地做着同一件事情。面对河曲智叟的质疑,愚公说:“虽我之死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙;子子孙孙无穷匮(kuì)也”,这又是家族繁衍意义上的重复。“而山不加增,何苦而不平?”则又告诉我们,原创 2013-12-31 10:02:06 · 2723 阅读 · 0 评论 -
C++程序设计实践学材系列(21)——1.5.1 引入循环——输出星号图
回到系列文章的目录——[系列文章目录]1.5.1 引入循环——输出星号图 例 1.5 编程序,输出8个星号(即'*'),如下图 这个容易,也就输出一行信息。 可以写出程序: //例程ch1-9.cpp #include using namespace std; int main() { cout return 0; } 现在问题变为,输出50个呢?你可原创 2013-12-31 10:00:54 · 3544 阅读 · 0 评论 -
C++程序设计实践学材系列(22)——1.5.2 循环深入——输出多行星号
回到系列文章的目录——[系列文章目录] 例1.7 编程序,输出如下的星号图 有人写出程序: //例程ch1-11.cpp #include using namespace std; int main() { cout cout cout cout cout cout cout return 0;原创 2013-12-31 09:59:34 · 4305 阅读 · 0 评论 -
一本希望获得突破的C++"学材"
构思的一本让学生无师也可自学c++的“学材”,指导学生以实践为主线展开程序设计的学习。基于三年教学工作的积累,又制作了不少好玩的“微课件”。试写了第一章,请大家品味,提出宝贵意见。原创 2013-12-31 18:00:02 · 4328 阅读 · 7 评论 -
C++程序设计实践学材系列(15)——1.3.1 帮电气工程师计算电阻值
回到系列文章的目录——[系列文章目录]1.3.1 帮电气工程师计算电阻值 例1.3 电阻串联值 小明(怎么又是小明)是位电气工程师,他设计的工作中,常要计算电阻串、并联后的值。请编一个程序,计算两个电阻串联后的阻值。 分析:由物理知识知道,设要串联的两个电阻值分别是R1和R2,串联后的电阻值R=R1+R2。解决这个问题,程序需要具备表示数据的能力了。 下面是编出来的程序,阅读程序时,请原创 2013-12-31 10:09:19 · 4162 阅读 · 0 评论 -
C++程序设计实践学材系列(12)——1.2.4 Code::Blocks运行程序的两种方式
回到系列文章的目录——[系列文章目录]1.2.4 Code::Blocks运行程序的两种方式 微课件1.2展示的程序运行方式,只要连编(Build)成功了,一点运行(Run)按钮,看结果就可以了。 目的达到了。但是程序是如何执行的,作为学习者,我们需要知道“内幕”。作为开发者,尤其是当程序执行结果与预期的不一样时,需要找到问题究竟出在什么地方。 Code::Blocks提供了另外一种运行程序原创 2013-12-31 10:12:15 · 6164 阅读 · 3 评论 -
读懂C/C++递归
递归在计算学科中是一种非常重要的方法,计算理论中到处都有用递归进行表述的问题及求解方法。 在程序设计中,数据描述和算法表达也常用递归,通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 掌握递归,计算机类专业的学生必须要做到。 本文基于一个C++递归程序,分步骤进行演示,帮助你知道原创 2013-12-09 16:24:40 · 4581 阅读 · 6 评论 -
C++程序设计实践学材系列(1)——前言
回到系列文章的目录——[系列文章目录]前言 这是一个想过很久但一直不敢开始的写作计划,要将已经带领三个年级的学生以实践为主线学习C++的材料整理到一起,成为比“C++课堂在线”专栏更加系统、全面的“学材”。 何为学材?在学校里,学习一门课程,常会有教材。教材是教师在带领学生学习过程中需要用到的材料。教材是以教为中心的,学生在课堂上听讲,预习和复习都要看教材,学生的学是围绕着教师的教开展的。学材原创 2013-12-05 01:47:55 · 3163 阅读 · 2 评论 -
C++程序设计实践学材系列(3)——第1讲 初识C++程序设计
回到系列文章的目录——[系列文章目录]第1章 初识C++程序设计 计算机,传统的包括台式机、笔记本,移动计算时代加进来了手机、平板电脑等移动设备,还有更传统的大型机、中型机,以及数不清的刷卡机、智能家电、工业产品等称之为“专用计算机”。这些可以称为计算机的设备在工作时,自动执行程序是其共同的特征。 程序,是这些占据了世界上各个角落的设备的灵魂和主宰。这个世界,由掌握了程序设计的人员所创造。正在原创 2013-12-05 01:56:34 · 3393 阅读 · 1 评论 -
C++程序设计实践学材系列(6)——1.1.2 程序中可以加上给人看的注释
回到系列文章的目录——[系列文章目录]1.1.2 程序中可以加上给人看的注释 现在我们要提的第一个问题:这个程序中写出来的那么多文字,究竟是什么意思?回答了这个问题,目的在于写出自己的程序。 我们将给出另一个版本的输出“hello world”的C++程序。 例1.2 为输出“hello world”的C++程序加上注释 #include //包含头文件iostream usin原创 2013-12-31 10:20:59 · 3106 阅读 · 0 评论 -
C++程序设计实践学材系列(4)——1.1 写出第一个C++程序
回到系列文章的目录——[系列文章目录]1.1 写出第一个C++程序 学炒菜,先下厨房,捡最简单的菜,炒一盘出来感受一下。 学C++程序设计,就先写出一个C++程序来,在计算机上“跑”一下,感性认识有了,有利于以后的理性思考。 “‘跑’程序”,是专业人员的口头语,正式的书面语,应该叫“‘运行’程序”,在英文界面的编程环境里,用的词是“run”或“go”。 下面的程序是学习C++的绝大多数人遇原创 2013-12-31 10:24:33 · 3532 阅读 · 0 评论 -
C++程序设计实践学材系列(8)——1.2 让程序“跑”起来
回到系列文章的目录——[系列文章目录]1.2 让程序“跑”起来 把程序写在纸上,有思考,有实践,这种方式可以有。 把程序输入到计算机,让计算机“跑”程序,这种方式最直观。这也是让程序工作的方式。 学习编程序,要能写出来,也要能让程序跑起来。 跑火车,要铁路。跑程序,要运行环境,要开发环境。 初学C++,本书选用Code::Blocks。回到系列文章的目录——[系列文章目录]原创 2013-12-31 10:16:59 · 3154 阅读 · 0 评论 -
C++程序设计实践学材系列(5)——1.1.1 观摩一个C++程序
回到系列文章的目录——[系列文章目录]1.1.1 观摩一个C++程序 先看一个程序,这是绝大多数学C++的人见过的第一个程序。 例1.1 输出“hello world”的C++程序 //例程ch1-1.cpp #include using namespace std; int main( ) { cout return 0; } 这个程序运行的结果是:原创 2013-12-31 10:22:03 · 3050 阅读 · 2 评论 -
C++程序设计实践学材系列(25)——1.6 写程序的行规
回到系列文章的目录——[系列文章目录]1.6 写程序的行规 家有家法,行有行规。进入一个新的领域,就需要知道这道这个领域的规矩,并按规矩行事。不要想着挑战规矩,挑战规矩应该是在行业中立足以后的事,行规中不少需要写出来的规矩约束的实际就是小学徒。在规矩中成长起来的老手,却常想不起行规怎么说的,但他却真正在照规矩办事。 编程序有编码规范。几乎在每家公司,都会采用一定的编码规范要求开发团队。有些人不原创 2013-12-31 09:54:57 · 2689 阅读 · 0 评论 -
C++程序设计实践学材系列(10)——1.2.2 在Code::Blocks下编辑、运行第一个程序
回到系列文章的目录——[系列文章目录]1.2.2 在Code::Blocks下编辑、运行第一个程序 初学编程,第一个、每一次、第一步很多,享受这个全新的世界。 要编辑、运行程序C++程序,启动Code::Blocks,首先要建立一个C++项目。Code::Blocks可以做很多的事情,作为编程的初学者,从完成控制台应用(Console application)开始学编程。 现在,请下载并学习原创 2013-12-31 10:14:52 · 3914 阅读 · 0 评论 -
C++程序设计实践学材系列(13)——1.2.5 选择Code::Blocks的理由
回到系列文章的目录——[系列文章目录]1.2.5 选择Code::Blocks的理由 Code::Blocks可以用来创建项目、编写C++程序,支持C++程序的运行、调试。Code::Blocks作为工具软件,可以归类为集成开发环境。 集成开发环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器原创 2013-12-31 10:11:23 · 3696 阅读 · 1 评论 -
C++程序设计实践学材系列(24)——1.5.4 输出各种星号图
回到系列文章的目录——[系列文章目录]1.5.4 输出各种星号图 我们实践“自顶向下,逐步求精”的思维,设计和实现一些更好玩的星号图,也进一步建立循环的概念。 例1.8 编程序,输出如下的星号图 对这个“囫囵”的星号图,我们略加分解一下,可以发现一个星号图是由若干行构成,于是“求精”的结果是“输出一个星号图就是要输出若干行”,接下来再考虑的“输出某一行”的问题。 在“顶层”,输出如图的原创 2013-12-31 09:56:41 · 5934 阅读 · 0 评论 -
C++程序设计实践学材系列(11)——1.2.3 见识编程中的“低级”错误
回到系列文章的目录——[系列文章目录]1.2.3 见识编程中的“低级”错误 在自己编程序时,缺个符号,错个表达,这很常见。介绍一个学习方法——撞错。刚学编程,在已经能正确运行的程序基础,故意捣乱,将对的改错了观察一下,这是个非常好的学习方法。 用这种故意捣乱的方法,会见识到各种低级的错误。以后编程中真的出现了一时的疏忽,你可以给出轻蔑的一撇:“小样,见过你了。” 不少问题,只是初学者初涉编程原创 2013-12-31 10:13:52 · 3352 阅读 · 0 评论 -
C++程序设计实践学材系列(9)——1.2.1 下载、安装Code::Blocks
回到系列文章的目录——[系列文章目录]1.2.1 下载、安装Code::Blocks Code::Blocks是一个开源的自由软件。 下载Code::Blocks,到其官网(http://www.codeblocks.org),可以找到最新的版本,以及以往的版本。 可以下载Code::Blocks的源代码(Download the source code),这样,就可以测试、修改和扩充Cod原创 2013-12-31 10:15:56 · 4629 阅读 · 0 评论 -
C++程序设计实践学材系列(7)——1.1.3 简单程序的一般“套路”
回到系列文章的目录——[系列文章目录]1.1.3 简单程序的一般“套路” 考察例1.1提供的程序,期望的运行结果是 hello world. 与之直接相关的语句是: 5 cout 其中: cout代表用于输出(Output)的“控制台”(Console)(——cout的由来可以视作为console output) "Hello World."称作为“字符串”,表示要输出字符串原创 2013-12-31 10:19:14 · 3491 阅读 · 0 评论