主题:c语言入门很简单
lili456
[专家分:0] 发布于 2012-05-09 13:23:00
内 容 简 介
本书是一本与众不同的C语言学习读物,是一本化繁为简,把“抽象”问题“具体”化,把复杂问题简单化的书。在本书中,避免出现云山雾罩、晦涩难懂的讲解,代之以轻松活泼、由浅入深的剖析,这必将使每一个阅读本书的读者少走弯路,快速上手,从而建立学习C程序设计的信心。
本书15章,分为5篇,从实用出发,由遇到的问题引出解决问题的方法来系统讲述C语言的各个特性及程序设计的基本方法。本书内容主要包括常量、变量、程序结构、数组、字符串、指针、结构体、共同体、枚举类型、函数、局部变量和全局变量、预处理命令和文件等一些非常重要的知识。通过阅读本书,读者可以在较短的时间内理解C程序设计的各个重要概念和知识点,为进一步学习打好基础。
本书配带1张DVD光盘,收录了本书重点内容的教学视频和涉及的源代码,光盘中还赠送了大量超值的C语言进阶视频。
本书最为适合没有基础的C语言入门新手阅读;对于有一定基础的读者,可通过本书进一步理解C语言的各个重要知识点和概念;对于大、中专院校的学生和培训班的学员,本书不失为一本好教材。
最后更新于:2012-05-09 13:25:00
回复列表 (共40个回复)
21 楼
lili456 [专家分:0] 发布于 2012-05-09 13:55:00
2.3.4 常量的使用
常量用来表示各种不变的东西。在C语言中,提供了好些常量的表示方法,先来学习其中最简单的两种。
1.直接表示
这种方法最简单,就是直接用数字、字母来表示就可以了。
像发工资的那个例子,税前工资3000,税率为5%,要求计算税后应该拿多少的薪水?其中数字常量有工资3000和税率5%,我们就可以直接使用整型常量3000和浮点型常量0.05来表示。C语言不能直接使用百分数,没有这样的分数类型,所以用浮点型0.05来表示5%。
2.const变量表示
const变量也是一个变量,只不过是一个很特殊的变量。它的特殊之处在于不用来表示变量,而只用来表示常量。
const变量就是告诉计算机,“我要一个变量,而且我往变量里放了东西以后就不准拿出来再放其它东西了,这个变量被我这个东西永久性独占!”是不是太霸道了?!因此,const变量拥有了常量的一切特性,用来表示常量,人们也不把它叫变量了,干脆直接叫常量。
C语言中const常量使用const关键字+变量定定义的形式,具体如下:
const 变量类型名 变量名=变量要赋的值;
工资3000和税率5%的const常量表示形式如下所示:
const int salary = 3000;
const float tax_rate = 0.5;
通过这两种方式,就可以告诉计算机一个在程序中保留一个一直不变的常量了。
22 楼
lili456 [专家分:0] 发布于 2012-05-09 13:56:00
2.4 小结
在这一章中主要了解了几个计算机中的概念:数据、变量和常量,以及进行计算机编程的作用。本章的重点就是理解这几个概念的含义,难点是如何进行变量的命名、定义,还有就是常量的使用形式。在下一章中将继续深入,看看C语言中的简单数学运算,看看这些运算是如何使用变量和常量来操作数据的。
23 楼
lili456 [专家分:0] 发布于 2012-05-09 14:01:00
2.4 小结
在这一章中主要了解了几个计算机中的概念:数据、变量和常量,以及进行计算机编程的作用。本章的重点就是理解这几个概念的含义,难点是如何进行变量的命名、定义,还有就是常量的使用形式。在下一章中将继续深入,看看C语言中的简单数学运算,看看这些运算是如何使用变量和常量来操作数据的。
24 楼
lili456 [专家分:0] 发布于 2012-05-09 14:02:00
2.5 习题
【题目1】“地球”是不是一个数据?
【分析】要成为一个数据的话,必须满足三个条件:首先,数据是事物元素;其次,数据必须包含有用信息;最后,数据应该是个符号。“地球”要想成为一个数据,就得满足这三个条件,在描述银河系的时候,“地球”算得上是一个事物元素。地球是银河系的一员,具有一定有用的信息。我们可以在计算机中使用汉字符号“地球”来表示。所以,对于描述银河系这件事情上来说,“地球”是一个数据。但是,对于其他事物上,地球就不见得是数据了!
【题目2】从精度上来说,浮点型的精度比整型精确,从表示范围上来说,浮点型表示的范围比整型表示的范围大。那么,为什么还需要整型呢?
【分析】“尺有所长,寸有所短!”,使用雕刻刀去森林里砍木材,不是不可以,但是总觉得很别扭,有的整数浮点型是表示不出来的!每种数据类型都有优缺的,有的时候可以互相代替,但是有的时候就非得某种类型不可了。至于这些特殊时候,深入理解了各种数据类型之后,自然就会发现的。
【题目3】假设,要在程序中表示一个班学生的身高信息,你是打算使用常量还是变量呢?
【分析】判断该使用常量还是该使用变量的依据是在计算过程中,要表示的数据是一直变化还是一成不变的。我们要表示一个班学生的身高信息,从整个班级来看,这是一个变化的数据,得使用变量来表示。从具体某个学生上来看,这个数据是一成不变的,得使用常量来表示!所以,要使用变量还是要使用常量看你针对的是什么具体的事物了。就像身高这个数据,如果你想一下把全班的身高在程序中都表示了,就使用变量吧,如果你只是表示某个学生的身高,常量就够了!
【题目4】在C语言中,能不能使用5%、1/4、6‰这样的数字表示作为常量呢?
【分析】C语言有三种基本数据类型:整型、浮点型和字符型。整型是用来表示整数的,浮点型是用来表示小数的,字符型是用来表示字母或者符号的。5%、1/4、6‰准确的来说都是分数,虽然分数可以化成小数,但是它们毕竟不是小数,所以不可以使用浮点型来表示,更不用说是整型和字符型了。所以,既然5%、1/4、6‰不属于任何类型,那么,它们就不可以作为常量出现在C语言的代码中。
【题目5】声明定义一个变量,表示6月8号,街道上的人数。
【分析】街道上的人数,是一个整数,而且数目估计会比较大,因为这天天气不错,风和日丽!另外,人数总不可能是负的吧?!因此,就可以使用unsigned long int类型来表示人数了,这个类型可以表示的整数确实大的可以,绝对超过64亿了,不会全世界的人都集中在这条街吧?!
C语言中,要给变量命名得用英文字母和数字,6月8号的人数,翻译一下,有这些单词和数字6、8、month、day、person和number。另外,C语言规定数字不能作为变量名的首部,我们可以写出这样的名字person_number_6_month_8_day,这个变量名是符合C语言要求的,就是太长了,再压缩一下,会比较好看点,persons_6_8。
【核心代码】
unsigned long int persons_6_8;
【题目6】要定义一个类型为char型,名字为案例的变量,该怎么给它取名字呢?
【分析】要给变量取名字,就得遵循C语言变量命名规范了!首先组成必须是字母、数字和下划线,案例的单词是case,完全符合C语言命名规范,而且首部不是数字,是不是我们就可以使用它来给这个变量命名了?不行,case是C语言中的一个关键字,C语言规定关键字是不能作为变量名的!那该怎么办呢?很简单,只要和关键字case不一样就可以了,如Case、CASE、case_、_case、_case_、case1都是可以的。
【核心代码】
char Case;
25 楼
lili456 [专家分:0] 发布于 2012-05-09 14:03:00
第5章 数组
在程序设计中,有的时候需要保存很多同样类型的数据。如果都声明定义成简单类型的数据,会显得非常的麻烦,而且当数据量大到一定的程度的时候,仅仅依靠使用简单类型是根本没法实现的。C语言提供了一种更简单、更方便的数据类型——数组,它可以用来保存多个同样数据类型的数据。
5.1 数组简介
作为C语言中的一种高级数据类型,数组有比整型、浮点型和字符型这些简单数据类型更强大的用途。但是,同时也与这些基本数据类型有密不可分的关系。这章就来让我们剖析一下数组,这种高级数据类型。
26 楼
lili456 [专家分:0] 发布于 2012-05-09 14:11:00
5.1.1 数组的用途
看数组的用途之前,先来看这样的一个例子。例如,你要计算你们一家人的平均年龄。假设你的家庭成员有父亲、母亲、弟弟、妹妹和你。用程序实现的时候,可以简单的定义如下几个变量来保存你亲人的年龄。
int father;
int mother;
int brother;
int sister;
int myself;
好,完全可以这样实现,定义好变量并赋值以后,相加,然后除以家庭成员的个数,就可以完成任务了。但是,要是让你去计算你们村的所有人的平均年龄,你还可以这样做吗?要是计算的是全市、全省,乃至全国人口的平均年龄呢?难道要定义13亿个变量吗?如果你不嫌麻烦你可以试试!
当你需要保存很多同样类型的数据的时候,数组就是最好的选择。它生来就是干这种事情的,不用白不用。
可以打个比方,我们每天需要从家里把书带到学校去。起初的时候,上学只需要几本书就可以了,直接可以夹在咯吱窝带去学校,后来发现要带的书越来越多了,这个时候就需要一个书包了。
这里“书本”就相当于程序中的“数据”,用“咯吱窝”夹着带书,就相当于程序中用“简单数据类型”保存数据。书多了,也就类似于要保存的数据多了,“咯吱窝”也就是简单数据类型不能满足需要了。这个时候,书包,也就是数组就出现了。图5.1展示了带书和保存数据之间的关系,体现了数组的作用。
说了那么多,只需要大家记住一点就好,数组的作用就是用来保存相同类型数据的。如果要保存不同类型数据的话,就要用到另外一个知识点了——结构体,这里先不介绍,后面会详细讲解的。
知道了数组是用来保存同样类型数据的一种数据类型,那接下来就看看三个问题:
 数组类型用C语言是如何表示的?
 如何把同样类型的数据保存到数组类型的变量中去?
 又是如何使用保存到数组变量中的数据呢?
带着这三个问题,开始我们的数组之旅吧
27 楼
lili456 [专家分:0] 发布于 2012-05-09 14:17:00
5.1.2 数组变量的定义
数组也是一种数据类型,也可以像基本数据类型那样定义数组变量。当然,与基本数据类型不同的是数组没有常量的说法,因为不能直接写出类似于基本数据类型常量3、3.4、’a’这样的数组常量。
现在看看C语言中的数组变量是如何声明定义的,其声明定义如下:
数据类型 数组名[表达式]
在这个变量声明定义表示中,“数据类型”就是一种数据类型的关键字,如int、float、char等等。“数组名”和之前所讲的变量名一样,只要遵循标识符的命名规范就行。“[]”(中括号)是C语言数组表示和运算的固有符号,不能改变。中括号中的“表达式”,可以是一个常量或者常量表达式,其值必须固定,不能使用值不固定的变量或者变量表达式。
例如,下面就是一些合法的C语言数组的声明定义:
int radius[20];
float result[100];
char name[5];
看完了数组声明定义的表示以后,来看看数组的声明定义中,各个部分都是做什么的!
 数据类型:用来表示数组中可以保存的数据的类型。因为在数组声明定义的时候,这个类型已经固定了,所以数组只能保存同样类型的数据。
 数组名:类似于之前所讲的变量名。当我们要使用数组中的元素的时候,就需要这个变量名了。
 表达式:这个表达式的值表示定义的数组中将来最多可以保存多少个数据。所以,它必须是一个有固定值的常量或者常量表达式。就像你买书包的时候,书包中可以装多少书就是固定的了。
对于,声明一个保存半径的整型数据的数组:
int radius[20];
它的作用就是,声明一个叫做“radius”的整型数组变量。这个数组只能用来保存整型数据,而且最多只能保存20个整型数据。
28 楼
lili456 [专家分:0] 发布于 2012-05-09 14:18:00
5.2 数组变量初始化和赋值
知道了如何声明定义一个数组变量以后,接下来的事情就是如何使用这个数组来保存数据了。这就好比你买了个新书包,接下来的事情就是考虑如何把书装进去了,到底是竖着放,还是横着放?随你的便!
C语言中给数组中放数据可没有横着放和竖着放一说。但是,它有两种方式可以完成保存数据到数组的工作,分别是数组初始化和数组赋值。
5.2.1 数组的初始化
先来看看数组变量的初始化。数组变量的初始化的C语言表示如下:
数据类型 数组名[表达式] = {值,值,值,….,值};
例如,要给一个可以保存5个整型数据的整型数组变量radius初始化的时候,就可以使用下面的C语言表示了:
int radius[5] = {0, 1, 2, 3, 4} ;
在进行数组初始化的时候,数组声明定义形式中的“表达式”就可以省略了。也就是上面的数组变量初始化的C语言表示可以简化成下面的样子了:
数据类型 数组名[ ] = {值,值,值,….,值};
之所以可以这样用,是因为进行数组初始化的时候,往数组中保存的数据的个数就是上面大括号中的值的个数,已经确定了。数组声明定义形式中的“表达式”就可以省略不写了。
int radius[ ] = {0, 1, 2, 3, 4} ;
这样的数组初始话在C语言中也是合法的。
注意:数组的这两种初始化的形式只能在数组声明定义的时候和数组的声明定义一起使用,在其他地方使用都是不对的。
29 楼
lili456 [专家分:0] 发布于 2012-05-09 14:18:00
5.2.2 数组的下标
在C语言中,要给数组进行赋值的时候,不能像给数组初始化那样使用一个大括号一次性给数组中的元素全都赋值了,而应该给数组中的每个元素一个一个的赋值。要给数组中的某一个元素赋值,必须先找这个元素,用什么找呢?用数组的下标。
所以,在将给数组进行赋值之前,先来看看一个新的概念——数组的下标。C语言中找数组中的某一个元素的表示如下:
数组名[下标]
这个表示中,“数组名”就是已经声明定义的数组的数组名称。“[]”(中括号)和数组声明定义中的中括号意义不同,这里的中括号是一个取数组元素的运算符。“下标”表示要取的数组元素在数组中的位置,它可以是一个整型常量、整型变量或者是一个具有整型值的表达式。“数组名[下标]”这个表示被叫做取数组元素运算表达式。
数组是按照图5.2所示的线性顺序的结构来保存数据的。图5.2中每个类似于格子的小方框就是用来存放数据的地方,每个数据就是数组中的元素,小方框下边的数字0、1、2、…、n-1、n就是数组的下标,上面取数组元素表达式中的“下标”表示的就是图5.2中的下标0、1、2、…、n-1、n。
注意:C语言中数组的下标是从0开始的,而不是从1开始的。下标为0的数组元素其实就是数组中的第一个元素。
30 楼
lili456 [专家分:0] 发布于 2012-05-09 14:19:00
其实,数组初始化也是一种赋值,只不过是在数组刚声明定义的时候就用大括号一次性给所有的“格子”中都放入了数据。下面的初始化表示:
int radius[5] = {0, 1, 2, 3, 4} ;
和数组赋值语句
int radius[5];
radius[0] = 0;
radius[1] = 1;
radius[2] = 2;
radius[3] = 3;
radius[4] = 4;
完成的事情都是一样的,都是往数组radius的所有格子中依次放入0、1、2、3、4,其效果如图5.4所示。
我来回复