零起点快速入门:C语言从入门到精通图书
人气:39

零起点快速入门:C语言从入门到精通

内容,由浅入深:本书涵盖了C语言课程中的所有知识点,从零基础语法开始讲解,从易到难,内容翔实,即适合没有任何C语言基础的初学者,又适用于一定基础但想精通C语言的人员。

内容简介

内容,由浅入深:本书涵盖了C语言课程中的所有知识点,从零基础语法开始讲解,从易到难,内容翔实,即适合没有任何C语言基础的初学者,又适用于一定基础但想精通C语言的人员。

视频教学,快速提高:本书配有同步教学视频录像,与书中内容紧密结合并相互补充,让读者更加直观体验实际应用环境,快速掌握编程技巧。

实例讲解,易于上手:本书打破传统教材按部就班讲解知识点的模式,重难知识点均配有典型例题,并给出实例的完整代码、运行结果及对实例深入分析,使读者可以轻松理解,易于上手。

结构精巧,贴心提示:本书每章章前均设有“章前导读”,读者在开始本章知识学习之前,可大致了解本章知识结构。另外,在各章节使用了很多“说明”、“注意”等小栏目,帮助读者更加清楚地理解基本概念,掌握应用技巧。

应用实践,学以致用:本书每章结束提供的“实战练习”是根据每章知识点精心设计的,读者可以自我实践,检查知识掌握情况,举一反三,学以致用。

《C语言从入门到精通》从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识。全书共分17章,包括概述、C语言程序的组成、C语言的基本构成元素和数据类型、运算符和表达式、用户与计算机交互——输入/输出、分支结构程序设计、循环结构与转移语句、数组、函数、指针、结构体和共用体、位操作、编译与预处理、文件、内存管理、网络编程以及通信录管理系统。

本书适合任何想学习C语言的读者,无论您是否从事计算机相关行业,是否接触过C语言,均可通过学习快速掌握C语言的开发方法和技巧。

作者简介

未来教育教学与研究中心是一家专门从事计算机教育类产品研发的机构,作者团队中不仅拥有丰富教学经验的高校教师,还有具有实战经验的一线研发人员。多年来,本中心一直致力于图书质量和品牌的建设,努力打造精品图书,努力建设团队,提升综合竞争力,为广大读者提供高质量的教育教学产品。

目录

第1章概述

1.1C语言的起源

1.1.1程序语言的简述

1.1.2C语言的发展史

1.2C语言的特点

1.3C语言的及时个例子

——Hello C's World

1.4认识常用开发环境

1.4.1C语言程序编写与

运行流程

1.4.2C语言常用开发环境

1.4.3Visual C 6.0

1.5实战练习

第2章C语言程序的组成

2.1进一步认识C语言程序

2.2声明区

2.2.1头文件

2.2.2函数声明

2.2.3变量声明

2.3主函数

2.4函数定义区

2.5注释

2.6代码的规范

2.7实战练习

第3章C语言的基本构成元素和

数据类型

3.1关键字

3.2标识符

3.3数据类型

3.4常量

3.4.1整型常量

3.4.2实型常量

3.4.3字符型常量

3.4.4转义字符

3.4.5符号常量

3.5变量

3.5.1整型变量

3.5.2实型变量

3.5.3字符型变量

3.6变量的存储类别

3.6.1静态存储与动态存储

3.6.2auto变量

3.6.3static变量

3.6.4register变量

3.6.5extern变量

3.7综合运用

3.8实战练习

第4章运算符和表达式

4.1表达式

4.2赋值运算符与赋值表达式

4.2.1变量赋初值

4.2.2自动类型转换

4.2.3强制类型转换

4.3算术运算符与算术表达式

4.3.1算术运算符

4.3.2算术表达式

4.3.3优先级与结合性

4.3.4自增/自减运算符

4.4关系运算符与关系表达式

4.4.1关系运算符

4.4.2关系表达式

4.4.3优先级与结合性

4.5逻辑运算符与逻辑表达式

4.5.1逻辑运算符

4.5.2逻辑表达式

4.5.3优先级与结合性

4.6位逻辑运算符与

位逻辑表达式

4.6.1位逻辑运算符

4.6.2位逻辑表达式

4.7逗号运算符与逗号表达式

4.8复合赋值运算符

4.9综合运用

4.10实战练习

第5章用户与计算机交互

——输入输出

5.1程序语句

5.2字符数据输入输出

5.2.1字符数据输出

5.2.2字符数据输入

5.3字符串输入输出

5.3.1字符串输出函数

5.3.2字符串输入函数

5.4格式输出函数——printf()

5.5格式输入函数——scanf()

5.6综合运用

5.7实战练习

第6章分支结构程序设计

6.1if语句

6.1.1单分支选择结构

——if语句

6.1.2双分支选择结构

——if…else语句

6.1.3多分支选择结构

——else if语句

6.1.4多分支选择结构

——if语句的嵌套形式

6.2条件运算符

6.3多重选择——switch语句

6.3.1switch语句的基本形式

6.3.2多路开关模式的

switch语句

6.4多分支语句的比较

6.5综合运用

6.6实战练习

第7章循环结构与转移语句

7.1循环结构

7.2当型循环语句

——while语句

7.3直到型循环语句

——do-while语句

7.4for语句

7.4.1for语句的使用

7.4.2for语句的变体

7.4.3for语句中的逗号应用

7.5循环语句的比较

7.6循环的嵌套

7.7转移语句

7.7.1goto语句

7.7.2break语句

7.7.3continue语句

7.8综合运用

7.9实战练习

第8章数组

8.1一维数组

8.1.1一维数组的定义和引用

8.1.2一维数组的初始化

8.1.3一维数组的应用举例

8.2二维数组

8.2.1二维数组的定义和引用

8.2.2二维数组的初始化

8.2.3二维数组的应用举例

8.3多维数组

8.4字符数组

8.4.1字符数组的定义和引用

8.4.2字符数组的初始化

8.4.3字符数组的结束标志

——'\0'

8.4.4字符数组的输入和输出

8.4.5字符数组的应用举例

8.5数组的排序算法

8.5.1选择法排序

8.5.2冒泡法排序

8.5.3交换法排序

8.5.4插入法排序

8.5.5折半法排序

8.5.6排序算法的比较

8.6字符串处理函数

8.6.1字符串复制

8.6.2字符串连接

8.6.3字符串比较

8.6.4字符串大小写转换

8.6.5获取字符串长度

8.7实战练习

第9章函数

9.1函数的概述

9.2函数的定义

9.2.1函数定义的形式

9.2.2函数的定义与声明

9.3函数的返回语句

9.3.1从函数体内返回

9.3.2函数的返回值

9.4函数的参数

9.4.1形式参数与实际参数

9.4.2函数参数的特殊情况

——数组

9.4.3main()函数的参数

9.5函数的调用

9.5.1函数调用的一般方式

9.5.2函数的嵌套调用

9.5.3函数的递归调用

9.6内部函数和外部函数

9.6.1内部函数

9.6.2外部函数

9.7局部变量和全局变量

9.7.1局部变量

9.7.2全局变量

9.8C语言库函数

9.9实战练习

第10章指针

10.1指针概述

10.1.1地址与指针

10.1.2变量与指针

10.1.3指针变量

10.1.4指针自加自减运算

10.2数组与指针

10.2.1一维数组与指针

10.2.2二维数组与指针

10.2.3字符串与指针

10.2.4字符串数组

10.3指向指针的指针

10.4指针变量作函数参数

10.5返回指针的函数和指向函数的

指针

10.6实战练习

第11章结构体和共用体

11.1结构体

11.1.1结构体类型的概念

11.1.2结构体变量的定义

11.1.3结构体变量的引用

11.1.4结构体变量的初始化

11.2结构体数组

11.2.1定义结构体数组

11.2.2初始化结构体数组

11.3结构体指针

11.3.1指向结构体变量的

指针

11.3.2指向结构体数组的

指针

11.3.3结构体作为函数参数

11.4结构体的嵌套

11.5链表

11.5.1链表概述

11.5.2创建动态链表

11.5.3输出链表

11.6链表相关操作

11.6.1链表的插入操作

11.6.2链表的删除操作

11.7共用体

11.7.1共用体的概念

11.7.2共用体变量的引用

11.7.3共用体变量的初始化

11.7.4共用体类型的

数据特点

11.8枚举类型

11.9实战练习

第12章位操作

12.1位与字节

12.2位运算操作符

12.2.1“与”运算符

12.2.2“或”运算符

12.2.3“取反”运算符

12.2.4“异或”运算符

12.2.5“左移”运算符

12.2.6“右移”运算符

12.3循环移位

12.4位段

12.4.1位段的概念与定义

12.4.2位段相关说明

12.5实战练习

第13章编译与预处理

13.1宏定义

13.1.1不带参数的宏定义

13.1.2带参数的宏定义

13.2#include指令

13.3条件编译

13.3.1#if命令

13.3.2#ifdef及#ifndef命令

13.3.3#undef命令

13.3.4#line命令

13.3.5#pragma命令

13.4实战练习

第14章文件

14.1文件概述

14.2文件基本操作

14.2.1文件指针

14.2.2文件的打开

14.2.3文件的关闭

14.3文件的读和写

14.3.1fputc()函数

14.3.2fgetc()函数

14.3.3fputs()函数

14.3.4fgets()函数

14.3.5fprintf()函数

14.3.6fscanf()函数

14.3.7fread()函数和

fwrite()函数

14.4文件的定位

14.4.1fseek()函数

14.4.2rewind()函数

14.4.3ftell()函数

14.5实战练习

第15章内存管理

15.1内存组织形式

15.2内存管理函数

15.2.1malloc()函数

15.2.2calloc()函数

15.2.3realloc()函数

15.2.4free()函数

15.3内存丢失

15.4实战练习

第16章网络编程

16.1计算机网络基础

16.1.1OSI七层参考模型

16.1.2IP地址

16.1.3网络地址解析

16.1.4域名系统

16.1.5TCP/IP协议

16.1.6网络字节顺序

16.2套接字概述

16.2.1有关套接字的概念

16.2.2TCP的套接字的

socket编程

16.2.3UDP的套接字的

socket编程

16.3套接字函数

16.3.1套接字函数介绍

16.3.2基于TCP的网络聊天

程序

16.4实战练习

第17章通信录管理系统

17.1需求及功能分析

17.2功能实现

17.2.1系统运行界面

17.2.2添加新的联系人

17.2.3显示联系人信息

17.2.4删除联系人信息

17.2.5查找联系人信息

17.2.6修改联系人信息

17.3本章小结

附录

在线预览

1.1.1程序语言的简述

程序是指可以被计算机连续执行的指令语句的集合。通常为了解决一个实际问题,人们预先将处理问题的步骤、方法等一系列的过程编写成程序,然后输入计算机,计算机只需要执行程序中的指令。所以,程序设计是用计算机解决一个实际应用问题的整个处理过程。

按照计算机语言的发展史来划分,计算机语言可以分为三个发展阶段:机器语言、汇编语言和高级语言。

1.机器语言

机器语言是低级语言,是用二进制代码表示的计算机能直接识别和执行的一种机器指令集合,每一条指令都是由0、1构成。机器语言的优点是计算机可以直接识别,不需要进行任何翻译,执行效率高;缺点是程序员需要熟记全部指令代码和代码含义,非常繁琐和困难。

2.汇编语言

汇编语言是在机器语言的基础上发展而来的,是面向机器设计的程序语言,属于符号标记语言。汇编语言相较于机器语言,便于阅读和理解,但是增加了稍许翻译的代价。

3.高级语言

由于汇编语言依赖于硬件体系,并且该语言中的助记符号数量较多,所以运用起来不够方便。为了使程序语言更贴近人类的自然语言,同时又不依赖于计算机硬件,便产生了高级语言。目前传统的高级语言有:Fortran、ALGOL、Basic、Pascal、C、C 、Java等。

1.1.2C语言的发展史

作为一种程序设计语言,C语言既具有汇编语言的特点,又具有高级语言的特点,可以作为系统设计语言来编写与硬件系统相关的应用程序,也可以作为应用程序设计语言来编写不依赖计算机硬件的应用程序,应用非常广泛。C语言的发展历程如图1.1所示。

A语言

CPL语言

BCPL语言

B语言

C语言

图1.1C语言的发展历程

1.A语言

C语言的发展非常有趣,它的原型是ALGOL 60语言,也称为A语言。ALGOL 60是一种面向问题的高级语言,不适合编写系统程序,其特点是具有局部性、动态性、递归性和严谨性。ALGOL 60是程序设计语言发展史上的一个里程碑,它标志着程序设计语言成为一门独立的科学学科。

2. CPL语言(Combined Programming Language)

1963年,剑桥大学将A语言发展成为CPL语言,CPL语言在ALGOL 60的基础上与硬件接近了一些,但规模仍然比较宏大,难以实现。

3.BCPL语言(Basic Combined Programming Language)

1967年,剑桥大学马丁 理查斯(Martin Richards)对CPL进行了简化,推出了BCPL语言。BCPL是一种结构化程序设计语言,它能够直接处理与机器本身数据类型相近的数据,具有与内存地址对应的指针。

4.B语言

在20世纪70年代初期,时任美国贝尔实验室的肯 汤普逊对BCPL进行了修改,设计出了B语言。B语言类似早期版本的C语言,它只有一种数据类型——计算机字,大部分操作都将其作为整数对待,还包括许多库函数,其作用类似于C语言中的标准输入输出函数库。

5.C语言

B语言过于简单,功能有限,美国贝尔实验室的丹尼斯 里奇在B语言的基础上设计了一种新语言——C语言。1972年,丹尼斯 里奇完成了C语言的设计,并成功使用C语言编写了操作系统,降低了作业系统的修改难度。

1983年,美国国家标准学会(ANSI)对C语言进行了标准化,当年颁布了及时个C语言标准草案(83 ANSI C);1987年又颁布了另一个C语言标准草案(87 ANSI C);1994年,国际标准化组织ISO修订了C语言的标准;1999年又颁布了C语言标准草案,并在2000年3月被ANSI采用,即C99,正式名称为ISOIEC9899:1999;2011年12月8日,ISO和国际电工委员会IEC再次颁布了C语言的新标准,简称C11标准,是目前为止C语言的近期标准。

1.2C语言的特点

C语言是一种通用的程序设计语言,主要有以下特点。

1.高效性

从C语言的发展历程可以看到,它继承了低级语言的优点,能产生非常高效的代码。一般情况下,C语言生成目标代码的执行效率只比汇编程序低10%~20%。

2.可读性

C语言本身属于高级语言,具有友好的编写性和可读性,它的语法形式和人们所使用的语言相似,书写自由,结构规范。C语言集合了低级语言和高级语言的优点。

3.灵活性

C语言有丰富的运算符,使得C语言的运算类型极其丰富,表达式类型多样化,可以灵活使用各种运算符实现其他高级语言难以实现的运算,给程序员更多的想象和发挥空间。

4.功能丰富

除了丰富的运算符,C语言还有丰富的数据结构,可以用来实现各种复杂数据结构的运算,指针的引入,让程序执行效率更高。

5.移植性好

C语言具有良好的移植性,使得C语言在不同的操作系统之间,简单的修改或不用修改就可以进行跨平台的程序开发。

可见,C语言的上述特点,使得它在程序员选择语言时倍受青睐,这也是C语言发展快速,目前仍处于不败地位的原因。

1.3C语言的及时个例子——Hello Cs world

在步入C语言世界之前,不要对它产生恐惧,觉得编程是一件很高大上的事情,只属于科研学者的专利。当你真正接触并学习C语言后,就会感觉它没有那么可怕,C语言是人类共有的财富,它跟数学、化学一样,只要努力学习就可以掌握。首先,我们通过一个简单的程序,来看看C语言程序的组成部分,在整体上有个认识。

[例1.1]一个简单的C语言程序。

1#include 23int main()4{5printf("Hello Cs world!\n"); //输出要显示的信息6return 0;7}在Visual C 6.0编译器上运行例1.1的程序,运行结果如图1.2所示(Visual C 6.0我们后面会详细介绍)。

图1.2简单的C程序的运行结果现在,来分析一下这个实例程序,当然,读者可能很多地方看不懂。不要紧,这里只是简单认识一下,随着后面的学习,再来熟悉这段代码,会觉得这真是一个很简单的程序。这段程序共有7行,及时印象就是其中包含着若干符号、空格、空行以及认识或不认识的英文单词。逐行来分析这段程序。

1.#include指令

例1.1中的第1行:#include

include在C语言中是文件包含命令,它的功能是进行有关预处理操作,以“#”开头,后面尖括号的内容是一个文件名,称为头部文件。这条语句的意思是在程序的预处理阶段,将文件stdio.h的内容包含到及时行的位置。

2.空行

例1.1中的第2行:空行

空行体现了C语言的灵活性。程序中的空格、空行、跳格并不影响程序的编译和运行,所以可以通过添加或删除空格、空行来改变程序的格式。如果在程序中不使用空格、空行等,程序就会显得特别拥挤,凌乱;相反,适当的空格、空行和制表符可以编写出更加美观、规范的程序,就像我们平常写作文一样,适当的标点和换行,可以让作文段落有序。整洁、规范的代码可以提高代码的可读性,便于代码后期维护。

不是所有的空格都没有作用。比如C语言的条件控制语句“else if”之间就必须有空格,如果将空格去掉,程序编译就通不过。

3.main函数

例1.1中的第3行:int main()

这一行代码的意思是main()函数是有整型返回值的函数。其中int是C语言的关键字,代表整数类型,关于整数类型和函数的内容后面会详细介绍。

这一部分称为函数的头部分。C语言的每个程序都会有一个main()函数,代表程序的入口,也就是说,程序都是从main()函数开始,然后执行main的函数体。

4.函数体

例1.1中的第4~7行:

{

printf("Hello Cs world!\n"); //输出要显示的信息

return 0;

}

C语言中函数分为两部分:一个是函数头,一个是函数体。在第3点中介绍了函数的头部分,简称函数头;程序中的第4~7行构成函数体,函数体也称为函数的语句块,必须由大括号括起来。例题中的函数体由两条语句构成,也是函数要执行的内容。

5.输出语句

例1.1中的第5行:

printf("Hello Cs world!"); //输出要显示的信息

这条语句是函数的执行语句之一。其中printf()也是函数,它的作用是向控制台输出小括号内的内容,括号内的内容也称为函数的参数,这里是指“Hello Cs world!\n”。在这个字符串中,我们可以看到是“\n”符号,在C语言中,称为转义字符,它的作用是换行。函数、字符串、转义字符在后面会详细介绍。

媒体评论

未来教育是国内较早致力于计算机类教育产品研发的文化出版机构之一,一直在该领域起着领跑者作用。

网友评论(不代表本站观点)

来自无昵称**的评论:

还可以的啊

2017-09-04 10:52:07
来自无昵称**的评论:

很务实的一本书

2017-09-05 09:08:42
来自殇千觞**的评论:

还不错,就是快递慢了些

2017-09-07 12:02:34
来自纳兰幽**的评论:

一本非常不错的书,只可惜当当的包装服务越来越不给力了

2017-09-10 15:32:45
来自童年之**的评论:

不错,挺好的书

2017-09-15 19:11:38
来自无昵称**的评论:

才看,内容很详细,需要下载的程序不是很好。

2017-09-18 07:39:06
来自无昵称**的评论:

很实用,C语言入门还是不错

2017-09-29 09:10:28
来自无昵称**的评论:

书上部有点皱

2017-10-02 19:43:13
来自无昵称**的评论:

还可以接受

2017-10-08 12:34:45
来自不***g(**的评论:

书很好,本来看到差评,还是很担心的哈哈

2017-10-10 12:19:03
来自灏虹几**的评论:

没给商品购物详情,你们工作态度不端正

2017-10-16 13:16:28
来自无昵称**的评论:

书很好不错

2017-10-17 13:35:43
来自匿名用**的评论:

不错:不错很不错

2017-10-23 19:26:13
来自无昵称**的评论:

书不错,好好看,自学一下了,多张个本事

2017-10-27 22:40:20
来自匿名用**的评论:

书不错,非常好。

2017-10-30 21:41:47
来自清澄秋**的评论:

像是二手书

2017-11-01 13:38:37
来自米萝卜**的评论:

资料全面,价格优惠,很有用

2017-11-02 13:53:03
来自无昵称**的评论:

很好的一本书,值得一看

2017-11-04 08:56:45
来自四季豆**的评论:

纸质很好,发货很快,内容详细,最后一本书封皮有瑕疵,整体可以

2017-11-04 17:40:30
来自江***(**的评论:

我是买了《Visua C++ 2013入门经典(第7版)》之后,才买的这本书,感觉更适合自己阅读和参考。讲得比较详细,不枯燥。全五分好评!不错的参考书!推荐购买。

2017-05-22 12:41:42
来自无昵称**的评论:

大学课本编排太乱,这本书挺系统的,就是比较基础的,基本符合大一课程吧

2017-10-19 10:16:40
来自无昵称**的评论:

同学推荐的这本书说质量很好,就买来看看,果然内容详细,主要是正版,希望一次通过

2016-12-21 10:12:01
来自无昵称**的评论:

高端大气上档次,内容很细致,菜鸟上手简单,值得信赖。

2016-12-21 11:38:56
来自未***号**的评论:

书籍质量很好,内容很详细,很适合学习,书里还送了电子资料,不错

2017-03-23 10:56:32
来自草***8(**的评论:

书本整体还可以,包装也不错的,就是书页不是很光滑!!不过内容还是写得可以的,下次还会再来当当买书的!!

2017-06-21 13:28:50
来自匿名用**的评论:

书很好,纸质不错,里面内容详细,讲解的也很细致,简单易懂,很方便自己学习

2017-03-09 13:38:54
来自无昵称**的评论:

对这个感兴趣,在网上看了一些资料,想来想去还是决定买一本书回来,这样才有学习的感觉!书不错,已经在学习中了。

2016-10-26 15:32:50
来自duang球**的评论:

宝贝收到了,真心不错,提高语言的的好帮手。发货速度很快!快递包装挺好的,书本也没有折坏,书本印刷清晰,很好很赞!~客服服务也很好,有需要时还会来你店购买,祝店家买卖兴隆!

2016-12-21 11:37:11
登录后即可发表评论

免责声明

更多相关图书
在线咨询