-
第一章从问题到程序
任何事情在开始的时候,都需要先试试水。本章就带领大家认识C语言,如何把问题变成程序,尝试一下简单的C语言编程。
-
●1.1认识C语言
为什么要学习C语言,而不是B语言。
-
●1.2简单C程序
通过几个简单的C语言程序,让学生抄写模仿程序,迅速上手。
-
●1.3从现实问题到程序
通对几个经典的算法问题切入,概括了问题解决的基本方法和步骤。同时通过实际编写C程序来解决几个典型的问题,从而体会到问题解决的思路和应用。
-
●1.4世界上有两种人——了解二进制
通过趣味手势教学,让学生简单了解二进制。
-
第二章师傅领进门——数据类型、运算符、表达式
计算机程序就是一系列的操作步骤,我们掌握编程本领,让计算机遵照你的意愿来工作,就可以成为它真正的主人。学习C语言编程,先来学习C语言中的“单词”、“短语”以及如何写句子。本章将学习各种数据和运算符用C语言怎么说、怎么写,学习表达式及输入输出函数,编写简单小程序。
-
●2.1爱上编程 — 程序设计基础
计算机的任何功能都是通过程序来完成的,没有程序,计算机就不能够做任何工作。本节着重介绍C语言程序结构的特点,如何使用VC++6.0编译器编写C程序并且编译、调试、运行。最后介绍简单的程序编写要点。
-
●2.22+3+6 — 两量、三型、六式
本节重点讲解永不变的常量和储物功能的变量。讲解C语言中整型、实型、字符型和字符串四种数据类型怎样表示。学习各种运算符功能用法,怎样建立表达式应用常用算法。
-
第三章一站到底——顺序结构程序设计
无论那种方式使用计算机,必须面对键盘鼠标显示器。键盘鼠标输入,显示器屏幕查看内容。如果只有主机的计算机是没人能用的,同样没有输入输出的程序也是无意义的。本章重点讨论数据的输入和结果的输出,只要在程序中做到输入输出运用自如,便可奠定高手基础。
-
●3.1一个一个来和去——字符输入输出
单个字符输出就如向屏幕开火;单个字符输入就如一口一口来吃饭。想要运用单个字符输入输出函数有效,必须要先拿到库函数仓库的钥匙。
-
●3.2结果展示设计大师——printf输出
相较单个字符的输入输出来说,成串的字符输入输出实现起来更加过瘾。多个字符形成字符串输出重点在于字符串输出的格式。本节重点介绍字符串的格式化输出。
-
●3.3优秀的快递员——scanf输入
为使程序功能强大,就要能处理键盘输入的数据。我们要找到一个优秀的快递员,将键盘输入的数据值成功的运送到对应变量的家中。本节重点设计快递员—----格式化输入函数。
-
●3.4数学函数嗨起来——常用数学库函数
能够编写简单的程序之后,首先想解决数学问题,C语言提供了math库,有丰富的数学函数,我们一起将这些函数用起来。
-
第四章选择结构
程序并不会总是执行同样的处理。例如,按下某个键的时候执行A处理,按下其他键的时候执行B处理……像这样,程序通过条件判断的结果选择性第执行某种处理的情况是非常多见的。
本章将会带领大家学习根据条件改变程序流程的基本方法。 -
●4.1如果——if语句
遇见如果就选择,if语句会根据对某个条件的判断结果,将程序的流程分为两支。
-
●4.2 多路开关——switch语句
本节将介绍的switch语句,则会将程序分为多个分支。
-
第五章循环结构
人生就是日复一日地不断重复,既有相同的事情,也有相似的事情,却无论如何也无法回到最初。要想在生活的每一刻都能有新的发现,恐怕只是一个美好的愿望。
本章将会为大家介绍程序中的重复流程——循环。 -
●5.1看好了情况再出手——while语句
C语言中提供了3种循环执行语句。首先我们来看一下while语句。
-
●5.2先出手干了再说——do...while语句
和上一节介绍的while语句不同,在执行循环体后再判断的do语句。
-
●5.3按劳分配——for语句
比起使用while和do语句,使用for语句实现循环会使程序更加简洁、易读。本节就来学习for语句。
-
●5.4循环里的循环——循环的嵌套
将循环语句的循环体作为循环语句,就可以进行二重、三重循环。这样的循环称为多重循环,即循环的嵌套。本节就来学习多重循环。
-
●5.5埋头干活中的抬头看路——continue语句和break语句
本节介绍两个在循环体中改变循环执行的两个特殊语句。
-
第六章高楼大厦任你盖——数组
单个变量可以被看做是一栋平房,只能住一户人家,但现代城市已经很少能见到平房了,大多是高楼大厦。相对于平房,楼房的优势是可以分层,占用相同土地面积的楼房可以居住更多的人。楼房层数越多,能居住的人也越多,这就相对缓解了城市土地资源缺少的问题。
在C语言中也有类似楼房的变量,这就是数组。在许多实际应用中,需要存储与处理大量的数据。例如,在数值计算中,向量和矩阵的运算,它们不但有多个数据,而且各数据间有一定的次序。像这样,数据量大、数据间有一定次序关系的问题,如果用简单的变量来表示,不仅十分烦琐,而且很难描述它们之间的顺序关系。为了提高处理效率而把具有相同类型的数据有序地组织起来的一种形式就是数组。 -
●6.1 直线升级
把平房变楼房,把简单变量换成数组变量,我们从最简单的一维数组说起。
一维数组是由数字组成的以单纯的排序结构排列的结构单一的数组,就像我们排队一样,一维数组是计算机程序中最基本的数组。 -
●6.2逻辑挑战——一维数组
知识要学以致用,学以致用最根本的是要把理论的知识和实际的应用要联合起来,由浅入深地达到熟能生巧的目的。
-
●6.3立体升级——二维数组
一维数组只有一个下标,其下标只能在一个方向上变化,它能处理的数据是队列式的;而二维数组有两个下标,即其下标在两个方向变化,所以二维数组处理类似表格这样有行有列的数据,它可以看作是一维数组的二次叠加产生的。
-
●6.4逻辑挑战——矩阵转置
学到的东西要经常揣摩,融会贯通,真正地理解其含义(包括使用的方法,注意的事项),然后按照理论的要求在实践过程中应用,解决实际生活中的问题。
-
●6.5 字符的妙用——字符数组
数值型数据可以用一维数组或二维数组来处理,那么字符型数据怎么办呢?本节的字符数组就是用来存放字符或字符串的数组,字符数组中的一个元素存放一个字符,多个连续的元素就可以存放字符串。
-
●6.6综合逻辑挑战
培根曾说过:一个人不能为读书而读书,读书的最终目的是为了用。从生活中遇到的问题,用学习新的知识来解决,这样相互促进学习,逐步加深自己的理论知识与实践应用。
-
第七章探索神秘的黑箱——函数
小到手表、收音机、电脑,大到火车、飞机、航母,都包含了许多元器件,它们可以分别被维修、更新或替换,而不影响其他部分。类似地,在程序中我们也可以制造和使用自己的“元器件”——就是函数,一个个函数可被看做是“蒙着面干活”的“黑箱”,它们分别用于实现不同的功能,并随时听候我们的调用,而我们在调用时根本不必关心其内部细节。有了函数,不仅可以大大简化编程的复杂度,还可以使程序逻辑更为清晰。
-
●7.1从讲故事开始——函数概述
在一个程序的编写过程中,随着代码量的增加,如果把所有的语句都写到 main 函数中,一方面程序会显得的比较乱,另外一个方面,当同一个功能需要在不同地方执行时,我们就得再重复写一遍相同的语句。此时,如果把一些零碎的功能单独写成一个函数,在需要它们时只需进行一些简单的函数调用,这样既有助于程序结构的清晰条理,又可以避免大块的代码重复。为了能更好的学习函数,我们先从一个故事开始。
-
●7.2给黑箱解剖
一个个函数可被看做是“蒙着面干活”的“黑箱”, 虽然我们在调用时根本不必关心其内部细节,但在编写程序时还是需要我们一步一步编写出来的。那么我们就把它解剖开来,看看里面到底有什么。
-
●7.3不能随意摆放黑箱
要想让编写好的函数发挥其功能,并不是什么位置都可以摆放的,如果位置摆放不对,那也是不能完成它的使命的。
-
●7.4 黑箱里的“黑箱”
为什么第二个黑箱用双引号括起来呢?因为它不是真正意义上的黑箱里可以再放黑箱含义,就好比一个抽屉里放另一个抽屉的钥匙一样,想要打开抽屉就要打开下一个抽屉,也许下一个抽屉里面又是另一把抽屉的钥匙,直到找到要打开抽屉的钥匙为止,即一个函数调用另一个函数。
-
●7.5变量的时空范围
世间万物,皆有生灭,变量也不例外,变量从其空间被开辟,到该空间被释放所经历的时间就是变量的生存期,具体体现在变量的存储类别上,即存储类别反映了变量在时间上的作用范围。
变量在程序中能够起作用的地域范围则是变量的作用域。具体有两种:一种是变量只在局部范围内起作用,另一种是变量在整个程序中都起作用。本节我们就学习变量的作用域和变量的存储类别。
-
第八章游戏环节
本章通过几个简练的游戏小程序,带领大家一边接触实用性编程一边学习。
-
●8.1猜数游戏
本节要编写的是“猜数游戏”程序。我们先做一个测试版本,之后再逐步为其增加其他功能。
-
●8.2寻找幸运数字
本节将带领大家编写一个训练软件“寻找幸运数字”,程序会从1到9中抽掉一个数字,玩家则需要瞬间找出该数字。