濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁惧墽绮换娑㈠箣閻戝棛鍔┑鐐村灦閻燂箓宕曢悢鍏肩厪濠电偛鐏濋崝姘舵煟鎼搭喖寮慨濠冩そ瀹曟鎳栭埞鍨沪闂備礁鎼幊蹇曞垝瀹€鍕仼闁绘垼妫勯拑鐔兼煏婢舵稓鐣遍柍褜鍓涢弫濠氬蓟閵娿儮鏀介柛鈩冧緱閳ь剚顨婇弻锛勨偓锝庡亞閵嗘帞绱掓潏銊ユ诞闁糕斁鍋撳銈嗗笒鐎氼剛澹曢崗鍏煎弿婵☆垰鐏濇禍褰掓煕閻愬灚鏆柡宀嬬秮閹晠鎮滃Ο绯曞亾閸愵喗鍋i柍褜鍓熼弫鍐焵椤掆偓瀹撳嫰姊洪崨濠勨槈閺嬵亜霉濠婂嫮鐭掗柡灞诲姂瀵潙螖閳ь剚绂嶆ィ鍐╁€垫繛鍫濈仢閺嬫稑顭胯闁帮綁鐛幋锕€顫呴柣姗嗗亝閺傗偓闂佽鍑界紞鍡樼鐠烘í缂氬┑鐘叉处閳锋垹绱撴担鍏夋(妞ゅ繐瀚烽崵鏇㈡偣閾忚纾柟鐑橆殔缁犳盯鏌eΔ鈧悧鍐箯濞差亝鈷掗柛灞炬皑婢ф稓绱掔€n偄娴鐐寸墵楠炲洭顢橀悩娈垮晭闁诲海鎳撴竟濠囧窗閺嶎厾宓侀柡宥庡幗閻撶喖鏌ㄥ┑鍡樺櫣婵¤尙绮妵鍕敃閿濆洨鐣奸梺鍦嚀鐎氫即骞栬ぐ鎺撳仭闁哄娉曢鍥⒒閸屾艾鈧娆㈠璺虹劦妞ゆ帒鍊告禒婊堟煠濞茶鐏¢柡鍛板煐鐎佃偐鈧稒岣块崢鐐繆閵堝繒鐣虫繛澶嬫礈閼洪亶宕稿Δ浣哄帾闂佹悶鍎崝灞炬叏瀹ュ棭娈介柣鎰綑濞搭喗顨ラ悙宸剶闁诡喗绮撳畷鍗烆潨閸℃﹫绱欓梻鍌氬€搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇氱秴闁搞儺鍓﹂弫宥夋煟閹邦厽缍戦柍褜鍓濋崺鏍崲濠靛顥堟繛鎴炶壘椤e搫顪冮妶鍐ㄥ姕鐎光偓閹间礁钃熸繛鎴旀噰閳ь剨绠撻獮瀣攽閸モ晙绨┑鐘殿暯閸撴繆銇愰崘顔藉亱闁规崘顕ч拑鐔兼煥閻斿搫孝缂佲偓閸愵喗鐓冮柛婵嗗閳ь剚鎮傚鍐参旈崨顔规嫼婵炴潙鍚嬮悷褏绮旈鈧湁婵犲﹤楠告晶鐗堜繆閸欏濮嶆鐐村笒铻栭柍褜鍓氶崕顐︽煟閻斿摜鐭婇梺甯到椤曪綁骞庨挊澶屽幐闂佸憡鍔︽禍鐐烘晬濠婂牊鐓涘璺猴功婢ф垿鏌涢弬璺ㄐч挊鐔兼煕椤愮姴鍔滈柣鎾寸☉闇夐柨婵嗙墱濞兼劗鈧娲栭惌鍌炲蓟閳╁啯濯撮悷娆忓绾炬娊姊烘潪鎵妽闁圭懓娲顐﹀箻缂佹ɑ娅㈤梺璺ㄥ櫐閹凤拷 [闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞妞ゆ帊绀侀崜顓烆渻閵堝棗濮х紒鐘冲灴閻涱噣濮€閵堝棛鍘撻柡澶屽仦婢瑰棝宕濆鍡愪簻闁哄倸鐏濋顐ょ磼鏉堛劍宕岀€规洘甯掗~婵嬵敄閽樺澹曢梺鍛婄缚閸庢娊鎯屽▎鎾寸厱闁哄洢鍔岄悘鐘电磼閻欌偓閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� | 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸ゅ嫰鏌ら崫銉︽毄濞寸姵姘ㄧ槐鎾诲磼濞嗘帒鍘$紓渚囧櫘閸ㄨ泛鐣峰┑鍠棃宕橀妸銉т喊闂備礁鎼崯顐︽偋婵犲洤纾瑰┑鐘崇閻撱垺淇婇娆掝劅婵″弶鎮傞弻锝嗘償椤旂厧绫嶅┑顔硷龚濞咃絿鍒掑▎鎾崇閹兼番鍨虹€氭娊姊绘担铏广€婇柡鍛洴瀹曨垶寮堕幋顓炴闂佸綊妫跨粈渚€宕橀埀顒€顪冮妶鍡樺暗闁哥姵鎹囧畷銏ゎ敂閸涱垳鐦堥梺姹囧灲濞佳勭濠婂牊鐓熼煫鍥ㄦ⒒缁犵偟鈧娲樼换鍌烇綖濠靛鍤嬮柣銏ゆ涧楠炴劙姊绘担鍛靛綊寮甸鍕┾偓鍐川椤旂虎娲搁梺璺ㄥ櫐閹凤拷]

    • 明解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实用程序
        猜数游戏
    致谢
    作者简介