欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 明解C语言(实践篇双色印刷)/图灵程序设计丛书
      • 作者:(日)柴田望洋|责编:魏勇俊|译者:洪育彬
      • 出版社:人民邮电
      • ISBN:9787115624970
      • 出版日期:2024/01/01
      • 页数:303
    • 售价:35.92
  • 内容大纲

        本书围绕C语言编程学习和开发实践中经常遇到的问题和重点,结合大量代码和图表,从容易出现的错误(ERROR)开始讲起,到类型转换、字符串和指针、结构体和共用体、文件处理、在程序运行时动态生成必要大小的对象(变量)的方法,再到线性表的应用、二叉查找树的应用、控制台画面的控制等,详细介绍了C语言中的众多技巧,目标在于提高读者解决实际问题的能力。本书适合有一定C语言基础的读者阅读。
  • 作者介绍

        柴田望洋,日本福冈工业大学信息工程学院副教授。编写了一系列富有影响力的计算机教材和参考书,如《明解C++》《明解Java》等。本书于2000年荣获日本工学教育协会著作奖。
  • 目录

    第1章  看不见的错误输入
      1-1  看不见的错误
        看不见的错误
        难以察觉的错误
        容易忽略的错误
        预处理指令中的空白字符
        #if指令和注释
        头文件保护符
        函数式宏及其运行效率
        函数式宏的副作用
        C++中max2的实现
      1-2  初始化
        初始化和赋值
        对象
        自动存储期
        静态存储期
        标识符的有效范围和初始化
        数组的初始化
        多维数组的初始化
        使用typedef名的数组的初始化
    第2章  类型转换
      2-1  类型转换
        -1和1哪个大?
        if语句的求值
        关系运算符和关系式
        相等运算符和等式
        if语句的控制表达式
        隐式类型转换
        普通算术类型转换
      2-2  有符号整数和无符号整数
        无符号整数在内存中的表示
        有符号整数在内存中的表示
        整型提升
        有符号整数和无符号整数之间的类型转换
        问题的解决
        补码表示的有符号整数到无符号整数的类型转换
    第3章  关于指针
      3-1  指针和地址
        地址和取址运算符
        指针和间接运算符
      3-2  指针和函数调用
        值传递
        传递指针给函数
        传递指针的指针给函数
      3-3  指针和数组
        数组的传递
        表示数组末尾的哨兵
        指针、数组和数据类型
      3-4  指针和多维数组
        数据类型的派生和多维数组

        多维数组和指针
      3-5  动态对象的生成
        动态存储期
        void指针
        单个对象的生成
        数组对象的生成
        多维数组对象的生成
    第4章  字符串和指针
      4-1  字符和字符串
        字符和字符串
        字符和字符常量
        字符的值
        字符串
        字符串字面量
        字符串字面量和字符串常量
        用指针实现的字符串的操作
        指向字符串的指针
        字符串数组
      4-2  字符串的处理
        字符串的复制
        字符串不能为空?
        使字符串为空的两种方法
        使字符串为空的错误方法
        问题的解决
        存储空间的清空
        字符串的动态生成
        字符串数组的动态生成
    第5章  NULL
      5-1  空指令、空字符和空语句
        null
        空指令
        空字符
        空字符串
        空语句
      5-2  空指针和NULL
        空指针
        空指针常量
        返回空指针的函数
        空指针在内存中的表示不一定为
    第6章  函数的定义和声明
      6-1  函数的定义和调用
        函数定义的顺序
        调用未声明的函数
        默认的int型
        未声明的函数的处理
        老式风格的函数声明
        老式风格的函数声明的陷阱
      6-2  函数原型声明
        函数原型声明
        默认参数提升

        参数名
        可变参数的声明
        va_start宏:访问可变参数前的准备
        va_arg宏:取出可变参数
        va_end宏:结束对可变参数的访问
        vprintf函数vfprintf函数:输出到流
    第7章  结构体和共用体
      7-1  结构体
        结构体的基础
        成员的访问
        结构体对象的初始化
        结构体和宏
        结构体和typedef声明
        相互引用的结构体
      7-2  结构体与字节对齐
        代码优化
        结构体和字节对齐
        offsetof宏
      7-3  共用体
        共用体
        共用体对象的初始化
        公共初始序列
    第8章  文件处理和文本文件
      8-1  文本文件
        文件和流
        文件的打开和关闭
        FILE型
        输入输出库函数
        问题和解决方法
        解决方法一:添加无效数据
        解决方法二:优化程序
      8-2  作为字符的数据
        数值的读取
        数值和字符串
        使用sprintf函数将数据写入字符串
        使用sscanf函数从字符串中读取数据
    第9章  文件的应用
      9-1  流和缓冲区
        调用的函数未被执行?
        缓冲区的刷新
        流的缓冲区
        问题的解决
      9-2  文本文件和二进制文件
        文本和二进制
        文件的转储
        二进制文件的访问
        字节序
        换行符的处理
    第10章  栈溢出
      10-1  栈

        栈的实现
      10-2  栈溢出
        函数调用和栈
        数据和栈
        栈溢出
        检测栈溢出的原理
        如果栈被破坏
    第11章  库开发的基础
      11-1  源文件的分离和链接
        单字符输入输出库
        队列
        库的使用示例
        分离式编译
        链接性
      11-2  库开发
        源文件的分离
        正确的示例
    第12章  线性表的应用
      12-1  线性表
        线性表
        节点的实现
        线性表的特点
        线性表的实现
        线性表存储空间的动态分配
      12-2  用数组实现的线性表
        用数组实现的线性表
        删除的记录的管理
      12-3  带索引的线性表
        带索引的线性表
        索引表
    第13章 二叉查找树的应用
      13-1  二叉查找树
        二叉查找树
        二叉查找树和线性表
      13-2  非递归查找及其应用
        递归的过程
        递归函数的非递归实现
        问题的解决
    第14章  控制台的操作
      14-1  转义序列
        转义序列
      14-2  画面控制库
        Windows API的使用
        clearscreen实用程序
        setcolor实用程序
        猜数游戏
    致谢
    作者简介