由片语学习C程式设计(第二版)

由片语学习C程式设计(第二版) pdf epub mobi txt 电子书 下载 2025

图书标签:
  • C语言
  • 编程入门
  • 程序设计
  • 教学
  • 教材
  • 算法
  • 数据结构
  • 练习
  • 实例
  • 第二版
想要找书就要到 小特书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书主要针对高中与大学开始接触程式设计的初学者,及想学好程式设计的读者所设计。书中文字叙述力求浅显简洁,并以大量范例、片语、学习要点、风格要点等方式,逐步引导初学者进入程式设计的领域。

  二版新增C99语法,如bool类别、显示位元数整数类别、放宽变数宣告位置、stddef的offsetof及stdlib的二分搜寻bsearch等重点介绍。以更多完整范例、相关图示说明复杂的观念与方法,同时强化各范例间的关联性,让读者能从中反覆练习、更了解所学之实际应用。

本书特色

  1. 以片语为主,依据惯用写法来引导初学者进入C语言程式设计。

  2. 透过「学习要点」、「风格要点」、「特殊字元」等设计,随时提醒读者各项学习重点,以提升学习效率。

  3. 本书搭配专属网站(sites.google.com/view/c-programming-with-idioms-2ed/home),提供各章练习题、作业、教学投影片,并随时更新相关补充资料、程式码等资讯。

 

著者信息

作者简介

刘邦锋


  现任
  国立台湾大学电机资讯学院美光讲座教授、资讯工程系暨资讯网路与多媒体研究所教授

  学历
  美国耶鲁大学计算机科学博士

  研究专长
  平行分散式系统、演算法设计与分析

  讲授课程
  计算机程式设计、高等程式设计、物件导向程式设计、平行程式设计等。

 

图书目录

前言
二版前言
关于「批改娘」

1 程式设计
1.1 程式
1.2 设计
1.3 程式批改系统

2 基本程式架构
2.1 程式骨架
2.2 变数
2.3 输出
2.4 输入

3 运算
3.1 指定
3.2 算术运算
3.3 整数的范围
3.4 比较运算
3.5 逻辑运算

4 判断
4.1 if判断
4.2 判断式值
4.3 switch判断

5 回圈
5.1 while回圈
5.2 for回圈
5.3 do while回圈
5.4 使用break结束回圈
5.5 使用continue继续回圈
5.6 多重回圈
5.7 回圈范例

6 阵列
6.1 属性
6.2 一维阵列
6.3 多维阵列

7 浮点数
7.1 宣告
7.2 输出与输入
7.3 类别转换
7.4 计算

8 函式
8.1 唿叫函式
8.2 定义有回传值的函式
8.3 定义无回传值的函式
8.4 多个参数的函式
8.5 不定个数参数
8.6 参数传递
8.7 函式的优点

9 指标
9.1 用法
9.2 指标参数传递
9.3 指标与阵列
9.4 回传值
9.5 用途与限制

10 字元
10.1 宣告
10.2 输出
10.3 字元常数
10.4 输入
10.5 常用函式

11 字串
11.1 宣告
11.2 输出
11.3 字串常数
11.4 输入
11.5 字元指标
11.6 字串函式
11.7 简易BASIC直译器

12 宣告修饰
12.1 short、long及long long
12.2 signed及unsigned
12.3 C99
12.4 const
12.5 static

13 位元运算
13.1 位元且
13.2 位元或
13.3 位元互补
13.4 位元互斥或
13.5 移位

14 结构
14.1 定义
14.2 初始化
14.3 栏位
14.4 结构指标
14.5 参数传递
14.6 typedef
14.7 结构标头档
14.8 简易BASIC直译器

15 递回
15.1 定义
15.2 应用
15.3 效能考量

16 档案处理
16.1 开启与关闭档案
16.2 文字档案处理
16.3 二进制档案处理
16.4 EOF测试

17 资料结构
17.1 动态记忆体配置
17.2 assert
17.3 链结序列
17.4 二元树

18 物件
18.1 堆叠
18.2 堆叠的阵列实作
18.3 括号平衡
18.4 对称字串
18.5 堆叠的链结序列实作
18.6 物件的优点

19 前置处理
19.1 #include
19.2 #define
19.3 #if, #ifdef, #ifndef
19.4 #
19.5 _ LINE_ _ FILE_
19.6 ##

20 C标准程式库
20.1 qsort
20.2 二分搜寻
20.3 转换函式
20.4 随机数
20.5 exit

21 高等技术
21.1 命令列参数
21.2 导向
21.3 全域变数

22 不想教的东西
22.1 goto
22.2 全域变数
22.3 格式字串
22.4 指标技巧
22.5 修改记忆体
22.6 征服银河系

征引书目

图书序言

二版前言

  第二版除修正第一版错误外,还作了以下大改变。

  •取消所有的作业:

  随着我教书的时间增加,作业题目数量也一直增加,这些新增加的题目就没有办法加入纸本书中。我的想法就是放在网路上,这样就能动态增加。详情请参酌本书网站。https://sites.google.com/view/c-programming-2ed/home

  •採用C99语法:

  现在大部份的编译器(例如gcc)都已经直接支援C99语法,所以本书也将C99语法作重点式的介绍。

  – 增加bool类别的介绍。
  – 增加明白显示位元数整数(如int64 t)类别的介绍。
  – for回圈自带註标变数。
  – 放宽的变数宣告位置。
  – stddef的offsetof。
  – stdlib的二分搜寻bsearch。

  •增加较完整的例题:

  增加了许多较完整例题,让同学了解所学技术的应用。其中包括了一个简易BASIC 直译器。相信同学在了解直译器原理后,更能体会高阶语言的运作。

  •加强例子的关联性:

  增加了许多互相有关联的例子。例如一个旧例子可以用刚学习过的新方法重写一次,让同学了解所学方法的实际应用。

  •调整观念顺序:

  第一版重视观念应该在哪一章节出现。例如define就应该在前置处理章节。第二版重视观念应用的需要。如果define适合在前面的例子出现,就提前介绍,不用拘泥章节。

  •增加图示:

  增加了许多图示。帮助了解复杂的观念。

  另外,第二版还有一个重大的改变,就是把「批改娘」(Judge Girl)放上封面。「批改娘」是我在2003年为台大资讯系所开发的程式批改系统(https://judgegirl.csie.org/)。为甚么要有这套线上批改系统?由于当时并没有任何简单好用的线上批改系统。学生交了作业,也不知道对错。考试都是在考卷上写程式,老师也不知道程式对不对。有鉴于此,我在2003年写了第一版的批改娘系统。学生可以将程式提交给批改娘系统,然后系统会批改程式,并立即计算作业或是考试的得分。学生的反应很正面,因为他们可以当场就知道作业或是考试答案是否正确。这对学习程式非常有帮助。台大资讯系也成为国内第一个在程式课程中,舍弃纸笔考卷,使用上机实测考试的系所。关于批改娘详细的使用说明请见本书第1章。

  为了说明方便,我开始使用「批改娘」称唿这个批改系统。「批改娘」也成为台大资讯系的学生,在学习程式设计过程中不可磨灭的回忆。所以从第一代批改娘开始,其设定就是「答错就斩除」的镰刀女巫。对资讯系的学生而言,批改娘就是青春的回忆和象征,具有重大意义。

  十六年来,批改娘默默的编译、执行、评分,陪伴着台大资讯系大一学生学习程式。现在的批改娘系统早已不是当初我建立的阳春版本。经过历代助教的整理改良,她已经成为一个在github上的开源软体项目。「批改娘」图像也在2010年经由学生竞图选出,进化成为目前大家所看到的,台大电信所施光祖博士创作的第二代。无论如何演进,批改娘就是台大资讯系学生大一生活的一部分。不管程式写的对或不对,不变的是台大资讯系同学们对程式设计的热情与投入。今天我决定在教科书封面上放批改娘,就是要纪念这段历史,也是对台大资讯系同学们努力付出时间、学习程式的最高致敬。

  同时,我想借这个机会感谢所有批改娘系统的参与人员。首先,感谢历代助教上官林杰、陈映睿、王尹、萧俊宏、钟以千、曹佐硕、黄易、李宗翰、许祐程、王盛平、曹又霖、杨翔云的整理改良。感谢第一代原画江昌鸿、第二代原画施光祖。最后要感谢台大出版社的编辑团队,很有耐心的倾听批改娘的背景故事。让批改娘能站上台大教科书封面,见证这段批改系统在台大由无到有的历史。身为这本书的作者,能得到这么多朋友的帮助,我感到十分荣幸。

  最后,虽然已经经过无数次的校对,但目前的版本可能还是有一些错误。如果您发现任何错误,欢迎寄信到pangfeng.liu@gmail.com。感谢。

 

图书试读

用户评价

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 ttbooks.qciss.net All Rights Reserved. 小特书站 版权所有