零基础学c语言 第2版,零基础学C语言(第2版)(1张) 康莉 等 机械工业出版社 9787111372929...

商品描述:

基本信息

书名:零基础学C语言(第2版)(1张)

定价:59.00元

作者:康莉 等 著

出版社:机械工业出版社

出版日期:2012-04-01

ISBN:9787111372929

字数:

页码:424

版次:2

装帧:平装

开本:16开

商品重量:

编辑推荐

《零基础学C语言(第2版)》由浅入深,循序渐进,从零开始学C语言,一点都不难。       编程基础、编程进阶、编程应用、项目实战、上机练习、面试指南。       210个实例、41个练习题、24个面试题。

内容提要

《零基础学C语言(第2版)》站在零基础学习的角度,使初学者能尽快掌握C语言程序设计的精髓,并且少走弯路。在知识点讲解时,笔者采用由浅入深的逐级递进学习方式。本书一共分为4篇,循序渐进地讲述了C语言的语法规则和编程思想,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构和算法都进行了详细的阐述。主要内容包括数据的存储和获取、屏幕的输入与输出、运算符、表达式、分支语句、循环语句、函数、数组、指针、字符串处理、结构体、共用体、枚举、位运算、文件处理、作用域、预处理、数据结构等知识点。最后一章通过一些常见的C语言面试题的解析,为读者踏入职场提供参考资料。n  《零基础学C语言(第2版)》非常适合无C语言基础或基础薄弱的程序员阅读,并可作为开发人员的参考手册。

目录

前言n篇 C语言基础n第1章 踏上征程前的思想动员n1.1 为什么选择C语言n1.2 如何学好C语言n1.3 语言概述n1.3.1 什么是语言n1.3.2 什么是机器语言n1.3.3 什么是汇编语言n1.3.4 面向过程的语言n1.3.5 什么是C语言n1.4 深刻认识程序如何开发出来-程序开发周期n1.4.1 编辑C源代码n1.4.2 编译C源代码n1.4.3 连接目标文件n1.4.4 编译连接过程示例n1.4.5 运行程序n1.5 VC++、C++、C和TC-认识开发环境和语言的区别n1.6 小结n1.7 上机实践n第2章 跟我写Hello Worldn2.1 自己动手创建程序n2.2 认识LCC-Win32开发环境n2.2.1 为什么选择LCC-Win32n2.2.2 启动LCC-Win32n2.2.3 新建Hello World工程n2.2.4 定义新工程n2.2.5 添加源代码到工程n2.2.6 编译器设置n2.2.7 连接器设置n2.2.8 调试器设置n2.2.9 开始编辑代码n2.3 编译运行-欣赏你的杰作n2.4 查看代码如何一步一步被执行-调试排错(debug)n2.4.1 debug一词的由来n2.4.2 设置断点n2.4.3 调试运行n2.5 小结n2.6 上机实践n第3章 分解HelloWorld-最简单C程序的组成n3.1 C程序概貌n3.2 为何有必要在代码里留下程序员的解释-注释n3.3 从哪里开始,到哪里结束-main函数n3.4 如何在屏幕上显示文字-函数调用n3.5 编译器如何认识printf函数-#include预处理器指示符n3.5.1 函数声明及其作用n3.5.2 试验寻找#include的作用n3.5.3 #include的作用n3.6 计算1+1-有些小作为的程序n3.7 数据从哪里来,又到哪里去-变量n3.7.1 变量在内存中的表现形式n3.7.2 编译器使用变量符号表n3.7.3 变量及其使用n3.8 自己设计C函数n3.8.1 在main函数中计算3个整数的平均数n3.8.2 在main函数中分3次计算3个整数的平均数n3.8.3 自编函数实现计算3个整数的平均数n3.8.4 如何自编写函数n3.8.5 试验观察总结函数声明和函数定义的意义n3.9 语句构成程序n3.10 向好程序员看齐-代码风格n3.11 小结n3.12 上机实践n第4章 如何存储和获取数据-变量及数据类型n4.1 二进制、八进制、十六进制n4.2 计算机中如何表示数据-字节和位n4.3 内存是存储数据的“房间”-认识计算机内存n4.4 数据类型n4.4.1 整数类型n4.4.2 整数的正负-有符号和无符号n4.4.3 实数类型n4.4.4 字符类型n4.4.5 数据类型总结n4.5 常量n4.5.1 直接常量(字面常量)和符号常量n4.5.2 符号常量的优点n4.5.3 字面常量的书写格式n4.5.4 转义字符n4.5.5 字符串n4.6 变量n4.6.1 变量的声明n4.6.2 变量声明的意义n4.6.3 标识符和关键字n4.6.4 变量在内存中占据的空间和变量的值n4.6.5 变量赋初值n4.7 几个与变量相关的经典算法n4.7.1 累加和累乘n4.7.2 交换两个变量的值n4.8 小结n4.9 上机实践n第5章 用屏幕和键盘交互-简单的输出和输入n5.1 输入-处理-输出:这就是程序n5.2 向屏幕输出-printf函数详解n5.2.1 printf函数的一般形式n5.2.2 格式字符串的一般形式n5.2.3 %d-十进制形式输出带符号整数n5.2.4 %最小宽度d格式符n5.2.5 %ld格式符-以长整型方式输出n5.2.6 %o格式符-以八进制形式输出整数n5.2.7 %x格式符-以十六进制的形式输出整数n5.2.8 %u格式符-以十进制形式输出unsigned型数据n5.2.9 %c格式符n5.2.10 %s格式符-输出字符串n5.2.11 %f格式符-输出实型数据n5.2.12 %e格式符-以指数形式输出实数n5.2.13 %g格式符-自动选择%f或者%e形式输出n5.2.14 printf函数小结n5.3 字符输出putchar和字符串输出putsn5.3.1 putchar函数(字符输出函数)n5.3.2 puts函数(字符串输出函数)n5.4 接收键盘输入-scanf函数详解n5.4.1 一般形式n5.4.2 scanf函数的工作原理n5.4.3 多数据输入分隔规则n5.4.4 格式字符n5.4.5 scanf使用方法说明n5.4.6 使用scanf函数的注意事项n5.5 字符输入函数getcharn5.6 输入输出程序举例n5.7 小结n5.8 上机实践n第6章 程序的基本构成-运算符和表达式n6.1 认识C中的运算符和表达式n6.1.1 认识运算符和表达式n6.1.2 操作数、运算符和表达式n6.1.3 C运算符简介n6.2 算术运算符和算术表达式n6.2.1 基本的算术运算符n6.2.2 ++自增、--自减运算符n6.2.3 算术表达式和运算符的优先级及结合性n6.3 逗号运算符和逗号表达式n6.3.1 逗号表达式的一般形式n6.3.2 逗号表达式的优先级和结合性n6.4 关系运算符和关系表达式n6.4.1 关系运算符的种类n6.4.2 关系表达式的一般形式n6.5 逻辑运算符和逻辑表达式n6.5.1 逻辑运算符n6.5.2 逻辑真值表n6.6 赋值运算符和赋值表达式n6.6.1 赋值表达式n6.6.2 复合赋值运算符n6.6.3 类型转换n6.6.4 左值与程序实体n6.7 强制类型转换和自动类型转换n6.7.1 强制类型转换n6.7.2 自动类型转换n6.7.3 函数调用时的转换n6.8 运算符的优先级n6.8.1 优先级、结合性汇总n6.8.2 短路表达式n6.8.3 sizeof运算符与sizeof表达式n6.9 小结n6.10 上机实践n第7章 程序的最小独立单元-语句n7.1 5种语句类型n7.1.1 表达式语句n7.1.2 函数调用语句n7.1.3 空语句n7.1.4 复合语句(块语句)n7.1.5 流程控制语句n7.2 结构化程序设计n7.2.1 什么是算法n7.2.2 算法的表示n7.2.3 算法的伪代码表示n7.2.4 算法的流程图表示n7.2.5 3种控制结构n7.2.6 算法示例n7.3 小结n7.4 上机实践n第8章 条件判断-分支结构n8.1 简单的条件判断-if语句n8.1.1 判断表达式n8.1.2 花括号和if结构体n8.2 两条岔路的选择-if else结构n8.2.1 关键在elsen8.2.2 if else结构体n8.3 多分支语句和分支语句嵌套n8.3.1 多分支n8.3.2 多分支if结构n8.3.3 分支语句嵌套n8.4 开关语句-switch结构n8.4.1 一般形式n8.4.2 为什么叫开关语句n8.4.3 default语句n8.4.4 if结构和switch结构之比较n8.5 小结n8.6 上机实践n第9章 一遍又一遍-循环结构n9.1 构造循环n9.1.1 循环的条件n9.1.2 当型循环和直到型循环n9.2 简洁循环语句-while和do while结构n9.2.1 语法规则n9.2.2 代码块n9.3 最常用的循环语句-for结构n9.3.1 基本形式n9.3.2 表达式省略n9.3.3 循环终止和步长n9.4 循环嵌套n9.4.1 嵌套示例n9.4.2 嵌套的效率n9.5 与循环密切相关的流程转向控制语句n9.5.1 跳出循环-breakn9.5.2 重来一次-continuen9.5.3 随心所欲-goton9.6 小结n9.7 上机实践n第二篇 一窥C语言门庭n第10章 写程序就是写函数-函数入门n10.1 什么是函数-根据输入进行处理返回输出n10.1.1 分割n10.1.2 库函数和自定义函数n10.2 自定义函数n10.2.1 定义的语法n10.2.2 函数定义范例n10.2.3 不要重复定义n10.3 函数调用与返回n10.3.1 形参和实参n10.3.2 传址调用n10.3.3 函数返回n10.4 告诉编译器有这么一个函数-函数原型声明n10.4.1 函数声明的语法n10.4.2 声明不同于定义n10.4.3 标准库函数的声明n10.5 面向过程的程序结构n10.5.1 模块化n10.5.2 函数的调用过程-模块的配合n10.5.3 一个入口一个出口n10.5.4 自顶向下,逐步求精n10.5.5 封装和可重用n10.5.6 高内聚,低耦合n10.6 小结n10.7 上机实践n第11章 同一类型多个元素的集合-简单数组n11.1 什么是数组n11.1.1 数组是一大片连续内存空间n11.1.2 数组元素的访问n11.2 一维数组n11.2.1 一维数组的声明n11.2.2 一维数组元素的访问n11.2.3 数组的初始化n11.2.4 不合法的数组操作n11.3 二维数组n11.3.1 二维数组的声明n11.3.2 二维数组的初始化n11.3.3 二维数组应用举例n11.4 更高维的数组n11.4.1 高维数组的声明和元素访问n11.4.2 初始化n11.4.3 多维数组在内存中是如何排列元素的n11.5 小结n11.6 上机实践n第12章 C语言难点-指针初探n12.1 计算机中的内存n12.1.1 内存地址n12.1.2 内存中保存的内容n12.1.3 地址就是指针n12.2 指针的定义n12.2.1 指针变量的声明n12.2.2 指针变量的初始化n12.2.3 指针变量的值n12.2.4 取地址操作符&n12.2.5 指针变量占据一定的内存空间n12.2.6 指向指针的指针n12.3 使用指针n12.3.1 运算符*n12.3.2 指针的类型和指针所指向的类型n12.3.3 同类型指针的赋值n12.3.4 指针的类型和指针所指向的类型不同n12.4 指针的运算n12.4.1 算术运算之“指针+整数”或“指针-整数”n12.4.2 指针-指针n12.4.3 指针的大小比较n12.5 指针表达式与左值n12.5.1 指针与整型n12.5.2 指针与左值n12.5.3 指针与constn12.6 动态内存分配n12.6.1 动态分配的好处n12.6.2 malloc与free函数n12.6.3 calloc与free函数n12.6.4 free函数与指针n12.6.5 内存泄漏n12.6.6 释放已经释放了的内存会出问题n12.7 小结n12.8 上机实践n第13章 字符串及字符串操作n13.1 C风格字符串n13.1.1 C风格字符串的声明n13.1.2 C风格字符串在内存中的表示n13.2 字符数组的输入输出n13.2.1 字符数组可以进行整体输入输出n13.2.2 使用gets函数读入整行输入n13.2.3 访问字符数组中某个元素n13.2.4 更便捷的输出-使用puts函数n13.3 字符串处理函数n13.3.1 理解:数组名是常指针n13.3.2 strlen函数与size_tn13.3.3 字符串复制函数strcpyn13.3.4 字符串比较函数strcmpn13.3.5 字符串连接函数strcatn13.3.6 全转换为大写形式n13.3.7 链式操作n13.4 小结n13.5 上机实践n第14章 结构体、共用体、枚举和typedefn14.1 结构体n14.1.1 结构体的定义n14.1.2 声明结构体变量n14.1.3 初始化结构变量n14.1.4 访问结构体成员n14.1.5 结构体定义的位置n14.1.6 结构体变量赋值n14.2 特殊结构体n14.2.1 结构体嵌套n14.2.2 匿名结构体n14.3 共用体n14.3.1 什么是共用体n14.3.2 共用体的定义n14.3.3 声明共用体变量n14.3.4 共用体变量的初始化n14.3.5 共用体成员访问n14.3.6 共用体赋值n14.4 结构体和共用体的内存差异n14.4.1 结构体变量和共用体变量内存形式的不同n14.4.2 结构体变量的内存大小n14.4.3 字节对齐n14.4.4 最宽基本类型n14.4.5 共用体的大小n14.5 枚举类型n14.5.1 枚举类型的定义n14.5.2 声明枚举变量n14.5.3 枚举常量是什么n14.6 给类型取个别名-typedefn14.6.1 typedef基本用法n14.6.2 #define用法n14.7 小结n14.8 上机实践n第15章 如何节省内存-位运算n15.1 什么是位运算n15.1.1 开灯关灯n15.1.2 改变状态n15.2 位逻辑运算符n15.2.1 位取反操作n15.2.2 位与运算n15.2.3 位或运算n15.2.4 位异或n15.2.5 实例分析n15.3 移位运算n15.3.1 基本形式n15.3.2 移位举例n15.4 小结n15.5 上机实践n第三篇  C语言进阶n第16章 存储不仅仅局限于内存-文件n16.1 什么是文件n16.1.1 文件n16.1.2 流n16.1.3 重定向n16.1.4 文件的处理形式-缓冲区和非缓冲区n16.1.5 文件的存储形式-文本形式和二进制形式n16.2 C语言如何使用文件n16.2.1 文件型指针n16.2.2 文件操作的步骤n16.3 文件的打开与关闭n16.3.1 打开文件-fopenn16.3.2 打开是否成功n16.3.3 关闭文件-fclosen16.4 文件的读写n16.4.1 读写的相对参照n16.4.2 如何判断文件已经结束n16.4.3 字符读写函数-fgetc和fputcn16.4.4 字符串读写函数-fgets和fputsn16.4.5 块读写函数-fread和fwriten16.4.6 格式化文件输入输出-fprintf与fscanfn16.5 文件的定位n16.5.1 移到开头-rewindn16.5.2 得到当前位置-ftelln16.5.3 移动指针-fseekn16.6 小结n16.7 上机实践n第17章 灵活却难以理解-指针进阶n17.1 指针与数组n17.1.1 数组名指针n17.1.2 使用数组名常指针表示数组元素n17.1.3 指向数组元素的指针变量n17.1.4 指向数组的指针变量n17.1.5 指针数组n17.2 指针、结构体和结构体数组n17.2.1 两种访问形式n17.2.2 声明创建一个结构数组n17.2.3 结构数组的初始化n17.2.4 结构数组的使用n17.2.5 指向结构数组的指针n17.3 函数指针n17.3.1 函数名指针n17.3.2 指向函数的指针n17.3.3 函数指针类型n17.3.4 函数指针做函数参数n17.3.5 函数指针数组n17.3.6 指向函数指针的指针n17.4 小结n17.5 上机实践n第18章 更深入的理解-函数进阶n18.1 参数传递的副本机制n18.1.1 传值调用的副本机制n18.1.2 传址调用的副本机制n18.2 函数返回值的副本机制n18.2.1 return局部变量为什么合法n18.2.2 返回指针申请动态内存n18.2.3 不要返回指向栈内存的指针n18.2.4 返回指向只读存储区的指针n18.3 函数与结构体n18.3.1 结构体变量的传值和传址调用n18.3.2 结构体变量的成员作为函数参数n18.3.3 返回结构体的函数n18.3.4 返回结构体指针的函数n18.4 函数与数组n18.4.1 数组元素作为函数参数n18.4.2 数组名作为函数参数n18.4.3 多维数组名作为函数参数n18.4.4 数组名作为函数参数时的退化n18.5 递归n18.5.1 递归流程n18.5.2 递归两要素n18.5.3 效率与可读性n18.6 带参数的主函数n18.7 小结n18.8 上机实践n第19章 生存期、作用域与可见域n19.1 内存分配n19.1.1 内存分区n19.1.2 变量的存储类别n19.1.3 生存期n19.1.4 作用域与可见域n19.2 auto变量n19.2.1 定义格式n19.2.2 作用域和生存期n19.2.3 屏蔽n19.2.4 重复定义n19.2.5 初始化n19.3 register变量n19.3.1 定义格式n19.3.2 使用举例n19.4 extern变量n19.4.1 全局变量定义n19.4.2 全局变量声明n19.4.3 可见域n19.4.4 屏蔽n19.4.5 利与弊n19.5 static变量n19.5.1 定义格式n19.5.2 静态局部变量n19.5.3 静态全局变量n19.5.4 extern变量和static变量的初始化n19.6 函数的作用域与可见域n19.6.1 内部函数n19.6.2 外部函数n19.7 结构体定义的作用域与可见域n19.7.1 定义位置与可见域n19.7.2 允许重复定义n19.8 小结n19.9 上机实践n第20章 编译及预处理n20.1 编译流程n20.1.1 编辑n20.1.2 预处理n20.1.3 编译n20.1.4 连接n20.2 程序错误n20.2.1 错误分类n20.2.2 编译错误n20.2.3 连接错误n20.2.4 逻辑错误n20.2.5 排错n20.3 预处理命令之宏定义n20.3.1 宏定义n20.3.2 不带参数的宏定义n20.3.3 带参数的宏定义n20.3.4 #define定义常量与const常量n20.3.5 文件包含n20.3.6 条件编译n20.4 小结n20.5 上机实践n第21章 数据结构n21.1 链表n21.1.1 链表的结构n21.1.2 创建链表并遍历输出n21.1.3 链表的插入n21.1.4 链表结点的删除n21.1.5 链表的逆置n21.1.6 链表的销毁n21.1.7 综合实例n21.1.8 循环链表n21.1.9 双链表n21.2 栈和队列n21.2.1 栈的定义n21.2.2 栈的分类n21.2.3 栈的操作n21.2.4 函数与栈n21.2.5 队列n21.3 小结n21.4 上机实践n第四篇 C语言程序设计实例与面试题解析n第22章 C语言程序课程设计:游戏n22.1 黑白棋n22.1.1 程序功能要求n22.1.2 输入输出样例n22.1.3 程序分析n22.1.4 程序初始化n22.1.5 初始化图形设备n22.1.6 绘制棋盘n22.1.7 交替绘制黑白棋n22.1.8 游戏(同时判断是否有一方胜利)n22.1.9 小结n22.2 五子棋n22.2.1 程序功能要求n22.2.2 输入输出样例n22.2.3 程序分析n22.2.4 主函数程序设计n22.2.5 系统初始化n22.2.6 移动棋子模块n22.2.7 程序胜负判定n22.2.8 小结n22.3 扫雷游戏n22.3.1 程序功能要求n22.3.2 输入输出样例n22.3.3 程序分析n22.3.4 程序设计n22.3.5 初始化图形设备n22.3.6 事件处理模块n22.3.7 游戏处理部分n22.3.8 小结n22.4 速算24n22.4.1 程序功能要求n22.4.2 输入输出样例n22.4.3 程序分析n22.4.4 程序设计n22.4.5 扑克牌处理部分n22.4.6 程序运算部分n22.4.7 小结n第23章 面试题解析n23.1 基础知识n23.1.1 指针自增自减有什么不同n23.1.2 什么是递归n23.1.3 宏定义与操作符的区别n23.1.4 引用与值传递的区别n23.1.5 指针和引用有什么区别n23.1.6  什么是栈n23.1.7 main函数执行前还会执行什么代码n23.1.8 static有什么用途n23.1.9 定义int **a, 则变量占用的内存空间为多少n23.1.10 什么是预编译n23.1.11 int (*s)(int)表示什么意义n23.1.12 结构与联合有何区别n23.2 算法和思维逻辑知识n23.2.1 100美元哪里去了n23.2.2 将16升水平均分给四个人n23.2.3 算出小王买了几瓶啤酒、几瓶饮料n23.2.4 找出不同的苹果n23.2.5 找出不同的球n23.2.6 猜自己的帽子颜色n23.2.7 三筐水果各是什么n23.2.8 最后剩下的是谁n23.2.9 聪明的商人n23.2.10 红球和白球n23.2.11 乌龟赛跑n23.2.12 投硬币n附录 ASCII编码表n

作者介绍

序言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值