主题: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个回复)
沙发
lili456 [专家分:0] 发布于 2012-05-09 13:26:00
目录
第1篇 一切从基础开始
第1章 概述
1.1 C语言简介
1.1.1 C语言的位置
1.1.2 C语言的优缺点
1.1.3 C适合什么开发
1.2 C语言的开发环境
1.2.1 编辑器、编译器和链接器
1.2.2 集成开发环境
1.3 Visual Studio使用简介
1.3.1 Visual Studio版本
1.3.2 Visual Studio的安装
1.3.3 新建项目
1.3.4 编写代码
1.3.5 编译链接
1.3.6 运行可执行程序
1.4 如何学好C语言
1.5 小结
1.6 习题
第2章 开始C语言之旅
2.1 为什么要写代码
2.1.1 为什么要写程序
2.1.2 从本书开始学编程
2.1.3 从一个现实的例子开始
2.2 编程的核心——数据
2.2.1 数据从哪里来
2.2.2 数据的表示
2.2.3 数据类型面面观——精度和范围
2.2.4 C语言基本数据类型
2.2.5 数据的变与不变——变量、常量
2.3 使用变量和常量
2.3.1 变量的使用
2.3.2 命名的方式
2.3.3 关键字
2.3.4 常量的使用
2.4 小结
2.5 习题
第2篇 简单程序的构建
第3章 简单数学运算
3.1 什么是赋值
3.1.1 赋值的作用——把数据存起来
3.1.2 赋值运算的形式
3.1.3 赋值表达式
3.1.4 机动灵活的赋值——scanf()
3.1.5 看看我们的劳动成果——printf()
3.1.6 赋值的重要性
3.2 开始赋值——整型赋值
3.2.1 整数在计算机中的表示——二进制
3.2.2 更先进的表示方法——八进制和十六进制
3.2.3 进制之间的转化——以二进制为桥梁
3.2.4 给整型赋值
3.3 浮点型赋值
3.3.1 小数在计算机的表示
3.3.2 给浮点型赋值
3.4 字符型赋值
3.4.1 字符在计算机中的表示——ASCII
3.4.2 给字符赋值
3.5 类型转化
3.5.1 什么是类型转换
3.5.2 类型转换的利弊
3.5.3 隐式类型转化和显示类型转换
3.5.4 赋值中的类型转换
3.6 基本数学运算
3.6.1 数学运算和数学表达式
3.6.2 商与余数
3.6.3 位运算
3.6.4 优先级的奥秘
3.6.5 数学运算中的类型转换
3.7 复合赋值运算
3.7.1 复合赋值运算
3.7.2 自增自减运算——特殊的复合赋值
3.7.3 自增自减的使用
3.8 小结
3.9 习题
第4章 程序结构
4.1 语句和语句块
4.1.1 简单语句
4.1.2 语句块
4.2 变量的作用域
4.2.1 局部变量的声明定义位置规则
4.2.2 局部变量的作用域规则
4.2.3 嵌套语句块的同名变量作用域规则
4.3 最常见的语句执行顺序——顺序结构
4.4 判断结构
4.4.1 判断的基础——逻辑真假
4.4.2 基础的判断——关系运算
4.4.3 复杂的判断——逻辑运算
4.5 if判断结构
4.5.1 基本if结构
4.5.2 if…else…结构
4.5.3 另类的条件判断——?运算符的使用
4.5.4 if…else if…else结构
4.5.5 嵌套的if结构
4.6 switch判断结构
4.6.1 switch基本结构
4.6.2 果断结束——break的使用
4.7 循环结构
4.7.1 while循环结构
4.7.2 for循环结构
4.7.3 goto语句
4.7.4 循环嵌套
4.7.5 break和continue
4.8 真正的程序——三种结构的揉和
4.9 小结
4.10 习题
第3篇 复杂数据的表示
第5章 数组
5.1 数组简介
5.1.1 数组的用途
5.1.2 数组变量的定义
5.2 数组变量初始化和赋值
5.2.1 数组的初始化
5.2.2 数组的下标
5.2.3 给数组赋值
5.2.4 数组元素的引用
5.3 二维数组
5.3.1 数组的维
5.3.2 二维数组表示和含义
5.3.3 二维数组的初始化
5.3.4 二维数组的赋值
5.3.5 二维数组的引用
5.4 多维数组
5.4 小结
5.5 习题
第6章 字符的数组——字符串
6.1 字符数组
6.1.1 字符数组的表示
6.1.2 字符数组的初始化
6.1.3 字符数组的赋值和引用
6.2 字符串
6.2.1 字符串的C语言表示
6.2.2 使用字符串为字符数组初始化
6.2.3 字符串的保存形式
6.3 字符串的输入输出——scanf和printf字符串
6.3.1 输入输出字符串的C语言表示
6.3.2 scanf()函数对字符串的特殊处理
6.4 小结
6.5 习题
第7章 指针
7.1 地址的概念
7.1.1 地址的含义
7.1.2 为什么要用地址
7.1.3 地址的表示与取址运算
7.2 指针和指针变量
7.2.1 指针的含义和用途
7.2.2 指针类型
7.2.3 指针变量的定义和使用
7.2.4 void指针
7.3 指针运算
7.3.1 取指针元素
7.3.2 指针的自加自减
7.3.3 指针的类型转换
7.4 数组和指针
7.4.1 数组名也是指针
7.4.2 数组名是指针常量
7.4.3 使用数组名访问数组元素
7.4.4 三种访问数组元素的方法
7.4.5 数组指针和指针数组
7.5 多重指针和多维数组
7.5.1 多重指针
7.5.2 取多重指针元素运算
7.5.3 多维数组名和各维元素
7.5.4 使用指针访问多维数组
7.6 字符串和指针
7.6.1 字符指针
7.6.2 字符指针和字符串
7.6.3 scanf()、printf()函数和字符指针
7.7 小结
7.8 习题
第8章 结构体
8.1 结构体的含义
8.2 结构体类型的表示
8.2.1 结构体类型的一般格式
8.2.2 结构体的成员变量
8.2.3 复杂的结构体
8.3 结构体变量
8.3.1 结构体变量的声明定义
8.3.2 结构体变量初始化
8.3.3 取结构体成员运算
8.4 结构体数组
8.5 结构体指针
8.5.1 一重结构体指针
8.5.2 使用结构体指针取结构体数据
8.5.3 结构体指针例子
8.6 回到问题
8.7 小结
8.8 习题
第9章 共同体类型
9.1 共同体的含义与表示
9.1.1 共同体的用途
9.1.2 共同体的表示
9.1.3 复杂的共同体
9.2 共同体变量
9.2.1 共同体变量
9.2.2 共同体成员变量的相互覆盖
9.2.3 使用共同体变量
9.3 共同体数组
9.4 共同体的指针
9.4.1 一重共同体指针类型
9.4.2 共同体指针变量
9.4.3 完整的例子
9.5 小结
9.6 习题
第10章 枚举类型
10.1 枚举类型的含义与表示
10.1.1 枚举类型的含义
10.1.2 枚举类型的表示
10.2 枚举常量和枚举变量
10.2.1 枚举常量
10.2.2 枚举变量的定义
10.2.3 枚举变量的使用
10.3 枚举数组和指针
10.3.1 枚举数组
10.3.2 枚举指针
10.3.3 用枚举指针来访问枚举数组
10.4 typedef类型定义符
10.5 小结
10.6 习题
第4篇 复杂功能的实现
第11章 函数
11.1 函数的意义
11.2 函数的形式
11.2.1 函数的一般形式
11.2.2 函数的参数列表
11.2.3 函数的返回值类型
11.3 函数声明和定义
11.3.1 函数的声明
11.3.2 函数的定义形式
11.3.3 函数的形参
11.3.4 return返回值语句
11.4 自己动手写一个函数——加法函数
11.4.1 确定加法函数的样子
11.4.2 实现加法函数体
11.4.3 完整的加法函数定义
11.5 函数调用
11.5.1 函数的调用作用
11.5.2 函数调用表达式
11.5.3 函数的实参
11.5.4 简单函数的调用
11.6 复杂参数
11.6.1 数组参数
11.6.2 指针参数
11.6.3 结构体、共同体和枚举参数
11.7 小结
11.8 习题
第12章 特殊的函数——main()函数
12.1 main()函数的作用
12.2 main()函数的声明定义
12.2.1 main()函数的声明形式
12.2.2 main()函数的参数
12.2.3 main()函数的返回值
12.3 小结
12.4 习题
第13章 局部变量和全局变量
13.1 变量的作用域和生命周期
13.2 函数内的局部变量
13.2.1 局部变量的作用域
13.2.2 局部变量的生命周期
13.2.3 局部变量的覆盖作用
13.3 函数外的全局变量
13.3.1 全局变量的作用域
13.3.2 全局变量的生命周期
13.3.3 局部变量对全局变量的覆盖作用
13.4 变量修饰符
13.4.1 使用修饰符改变变量的作用域和生命周期
13.4.2 C语言中常用变量修饰符的作用
13.5 小结
13.6 习题
第5篇 C语言的高级内容
第14章 预处理命令、文件包含
14.1 预处理命令的作用
14.1.1 程序预处理
14.1.2 预处理命令
14.1.3 C语言的几类预处理命令
14.2 C语言中的宏定义
14.2.1 C语言的宏定义形式
14.2.2 不带参宏定义
14.2.3 带参数的宏定义
14.3 预编译控制
14.3.1 C语言预编译控制
14.3.2 三种预编译控制组合形式
14.3.3 一个简单的例子
14.4 文件包含
14.4.1 头文件和源文件的文件名
14.4.2 头文件和源文件的内容
14.5 include包含头文件
14.5.1 自定义头文件和系统头文件
14.5.2 文件包含的两种形式
14.5.3 完整的circle例子
14.5.4 C语言中的标准头文件
14.6 小结
14.7 习题
第15章 文件操作
15.1 文件
15.1.1 重新认识文件
15.1.2 计算机眼里的文件
15.1.3 开发人员能对文件干些什么
15.2 文件的打开关闭
15.2.1 文件指针
15.2.2 文件打开函数
15.2.3 文件关闭函数
15.3 文件读写
15.3.1 读写一个字符
15.3.2 读写一个字符串
15.3.3 读写一个数据块
15.4 文件的其他操作
15.4.1 随机读写文件
15.4.2 出错检验
15.5 小结
15.6 习题
板凳
lili456 [专家分:0] 发布于 2012-05-09 13:31:00
第2章 开始C语言之旅
从这一章开始我们就算真正进入了C语言的世界了!不过,不要着急动手写代码,欲速则不达。先从最基本的C语言概念开始打好基本功,本章先从数据有关的C语言基本概念开始
3 楼
lili456 [专家分:0] 发布于 2012-05-09 13:32:00
第2章 开始C语言之旅
从这一章开始我们就算真正进入了C语言的世界了!不过,不要着急动手写代码,欲速则不达。先从最基本的C语言概念开始打好基本功,本章先从数据有关的C语言基本概念开始
4 楼
lili456 [专家分:0] 发布于 2012-05-09 13:33:00
2.1.1 为什么要写程序
“工具都是给懒人发明的”。铁器时代之前,人们都是用手或者未经雕琢的木头来挖掘食物或者攻击猎物。人们发现这样很费力,然后就把石头进行打磨做出了石头工具。懒人可以用石头工具偷懒了。后来的青铜器时代、铁器时代也是如此。到了计算机时代,最伟大的发明就是计算机了。它可是很多懒人的福音啊!
呵呵…,开个玩笑。不一定用计算机的都是懒人了,不然我也是懒人一个了。不过计算机确实从各个方面给人们的生活带来很大的方便。
1.计算机很给力
买东西可以用淘宝,足不出户,就可以货比三家,挑出理想的宝贝。再也不用为一封家书,而苦苦等待好几个星期了,E-mail瞬间可以传递你的问候,或者收到家人的祝福。记录和保存文档再也不必费力的用草稿纸去手写,电子文档传输方便而且易于保管……。诸如此类计算机确实是个很给力的工具。
2.程序让计算机更给力
计算机是个又笨又努力的家伙,空有一身蛮力,但是不知道该干什么!需要程序告诉它,什么时候该做什么,什么时候不该做什么。
只有写出好的程序才可以发挥计算机最大的潜力,操作系统(如Windows)就是一个很实用的程序。但是,只有操作系统还不够,操作系统只是为各种优秀的软件提供一个公共的平台。你可以想想一下,要是Windows上没有装任何软件,要它有啥用?练习开机和关机吗?所以,类似于Word、QQ、浏览器、音乐播放器这些多姿多彩的应用程序配合操作系统使得计算机更加给力。
5 楼
lili456 [专家分:0] 发布于 2012-05-09 13:33:00
2.1.2 从本书开始学编程
有这样一群人,他们或许已经具备普通计算机使用的能力,或者连普通的计算机使用能力不具备,如不清楚QQ为何物。但是,他们立志做一个软件开发者,编写一个Office。如果你是这类人,那本书就非常适合你。
在书中,我们将会告诉读者,开发者是如何用语言告诉计算机自己的意思,来完成想要完成的目的。在这里,我们使用C语言来阐述我们的观点的,同时给出大量的C语言编程例子,来满足大家强烈的动手欲望。
我们所要达到的目标就是不仅仅是使初学者学会C语言的语法规则,还能够知道计算机语言是什么,以后遇到新的计算机语言学习时能够很快的搞定。当学习完本书,说出“C语言也就那样!”、“计算机程序设计语言也不过如此!”的豪言壮语,我们的目的就达到了。
6 楼
lili456 [专家分:0] 发布于 2012-05-09 13:35:00
2.1.3 从一个现实的例子开始
再远大的理想,还是需要一步步来走。这里先从第一个例子开始。例如,我们工作一个月,老板要给发薪水了。在合同中规定好了,每个月3000块钱,按照国家的法律,每个人要交5%的个人所得税。那么,我们辛辛苦苦一个月到底能够拿到多少血汗钱呢?
1.普通人的做法
聪明人脑瓜子一转,这么简单。3000乘以5%是150。3000去掉150就是2850了。反应稍微慢点的人可能会拿出一支笔,一张纸,写出如下的计算式子:
3000-3000×5%=?
3000
× 0.05
-----------------
150.00
3000
— 150
-----------------
2850
所以,3000-3000×5%=2850。
2.程序员的做法
那程序员是如何做的呢?咣、咣、咣…敲几行代码,然后按了几个按钮,弹出了一个黑色的窗口。窗口上面写着2850。如果你只惊叹的喊出一句:“哇,好牛啊!”,如图2.1所示。然后不去思考,不去查资料,不去学习那个如何做到的,恭喜你,你没有做一个软件开发者或者说程序员的潜质。呵呵,开个玩笑,我是希望大家都要有求知欲。
那我们求知一回,程序员咣、咣、咣…,敲了什么代码?代码的意思是什么?按下的那几个按钮干了什么?弹出的黑色窗口是什么?窗口上为啥会显示2850…?大家一下变成“十万个为什么”了。而本书主要就是解决这些问题的!
7 楼
lili456 [专家分:0] 发布于 2012-05-09 13:36:00
3.如何解决“十万个为什么”
敲的代码是什么?代码的意思是什么?黑色的窗口上为啥会显示2850?……?这些都是编程语言的问题了,将在本书中占大量篇幅。程序员按的那几个按钮是什么,干了什么?弹出的黑色窗口是什么?……?这些都是开发环境的问题了…这也是本书的一个重点来通过实例来满足大家的动手欲望。
带着这些问题,开始我们的C语言之旅!相信“旅游”回来时,会很好的回答这些问题,并且觉得这些问题好傻瓜啊!呵呵…,但是记住,这些问题现在并不傻瓜,而且还很有意义!
8 楼
lili456 [专家分:0] 发布于 2012-05-09 13:45:00
2.数据是包含有用信息的
那到底什么是有用信息呢?有没有用要看对什么而言。例如,一块橡皮,对于写错字的人可谓是雪中送炭,但是对于不写字的人,那简直都没有石头有用。信息的有没有用是相对于要描述的事物而言。例如,要计算税后工资,那3000的基本工资和5%的税率就是有用的信息。发工资的老板是谁,就不是有用信息了。再例如,要完成公司财务报表的打印,那发工资的财务经理的名字以及发工资的时间就是有用信息了,财务报表要填写这些信息的。对于这两种场景的有用信息的比较,如表2.1所示。
表2.1 有用信息
计算税后工资 报表打印
工资:3000 工资:3000
税率:5% 税率:5%
税后工资:2850 税后工资:2850
发工资时间:2010-1-12
9 楼
lili456 [专家分:0] 发布于 2012-05-09 13:45:00
3.数据应该是个符号
那到底什么是符号?符号就是具有一定意义的数字、字母、汉字、图片、声音等。例如,数字符号1、字母符号'A'、汉字符号“我”都是符号。
图2.3 发工资中的数据
以发工资为例,里面包含的数据如图2.3所示,有3000、5%和2850,分别是税前工资、税率和税后工资,都是数字符号。
10 楼
lili456 [专家分:0] 发布于 2012-05-09 13:47:00
2.2.2 数据的表示
在前面描述计算税后工资的例子中,要告诉计算机:工资是3000元、税率5%,计算它的税后工资。该怎么告诉计算机呢?而且,要确定告诉计算机工资是3000而不是2999.99,税率是5%而不是5‰,这就涉及到数据在C语言中的表示了。
为了数据能在C语言中容易表示,数据被分为了好多的类!每一类的数据被叫做属于同一种数据类型。对于每一种运算,不同的数据类型计算出来的结果都是不一样的。这就好比同样的化学纤维做出来的衣服类型不同使用就不同了。男士的西服让女士穿着就显着别扭,女士的裙子要是被男士穿着就要闹出尴尬了,更甚者总不能把裤子穿在头上吧!所以,得分清楚数据的数据类型然后才能正确的使用它们。
2.2.3 数据类型面面观——精度和范围
在了解C语言数据类型之前,先了解两个概念——精度和范围,这是讨论数据类型的重点。
1.精度
精度是用来说明可以表示数据的最小的粒度,也就是可以表示的精细程度。讲个笑话,一个人过收费站,过磅整车重4.29吨。然后司机上了一趟厕所,又过收费站,过磅,整车重4.20吨。一趟厕所下来,减少了0.09吨,共90公斤。电子称只能称到0.1吨,所以司机上不上厕所对于称重没有影响,因为电子称的精度不够。这个故事告诉我们不必憋尿来增加车重,没必要,呵呵…
2.范围
范围是用来说明可以表示的数据的最大尺度,也就是可以表示的广度。不同数据表示的要使用不同的广度,不然就会出现用游标卡尺去量万里长城的笑话了。游标卡尺虽然精度很细,但是范围远远不够,估计把长城量完也至少也得好几年吧。还不如用卫星直接去测呢,瞬间搞定!
我来回复