新書推薦:
《
不止江湖
》
售價:NT$
449.0
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:NT$
704.0
《
双城史
》
售價:NT$
505.0
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:NT$
254.0
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:NT$
230.0
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:NT$
403.0
《
透过器物看历史(全6册)
》
售價:NT$
2234.0
《
我在台北故宫博物院读名画
》
售價:NT$
500.0
|
編輯推薦: |
1.本书以一个故事为主线,将C语言的各种枯燥的知识穿插在故事主人公之间的交流中完成,生动而有趣。2.本书取舍得当,C语言涉及的知识非常丰富而庞杂,以指针为例,就会衍生出非常复杂的应用,本书在相关知识中进行了取舍,突出重点,介绍概貌。3.本书突出应用和效果,通过本书的学习,读者可以在不需要有任何其他预备知识的前提下,完成一个一定规模的聊天机器人程序。
|
內容簡介: |
本书以一个小故事为主线,讲述C语言初学者黄同学从零开始,通过一步一步的学习,从*开始只能进行简单问候,到可以交流学生成绩,*后实现与机器人(埃尼阿克)完全无障碍沟通。每一章内容的讲解都是围绕着黄同学和埃尼阿克之间沟通中遇到的问题入手,到*后解决沟通困难,让读者在解决问题的过程中,掌握C语言的知识。通过完成本书的学习,读者至少能够完成一个500行左右代码的小型聊天机器人程序。 本书覆盖C语言程序设计的主要知识,包括变量、数据类型、选择结构、循环结构、数组、函数、结构体、指针、文件等。本书语言浅显,故事情节生动、活泼、有趣,不仅可以作为大学生C语言程序设计的教材,也可以成为中学信息技术素养和普及课程的辅导用书,同时非常适合作为读者自学用书。
|
目錄:
|
目录
1绪论1
1.1黄同学和C语言的故事2
1.2黄同学计算机世界的奇幻漂流3
埃尼阿克之问9
2C语言程序基础11
2.1数据类型与变量12
2.2运算符与表达式16
2.3输入与输出20
埃尼阿克之问27
3选择结构程序设计29
3.1选择结构和条件判断30
3.2关系运算符和表达式31
3.3逻辑运算符和表达式32
3.4if语句35
3.5条件运算符和条件表达式42
3.6switch语句43
埃尼阿克之问45
4循环结构程序设计47
4.1概述48
4.2while语句48
4.3dowhile语句49目录〖1〗〖2〗〖2〗4.4for语句51
4.5break和continue语句56
埃尼阿克之问59
5利用数组处理批量数据63
5.1概述64
5.2一维数组64
5.3二维数组68
5.4字符数组75
埃尼阿克之问80
6函数83
6.1概述84
6.2函数定义85
6.3函数的调用89
6.4函数的递归调用92
6.5数组作函数参数98
6.6局部变量和全局变量101
埃尼阿克之问104
7结构体与指针107
7.1结构体108
7.2指针110
7.3数组与指针119
埃尼阿克之问127
8文件131
8.1概述132
8.2文件指针132
8.3文件的打开与关闭133
8.4文件读写136
8.5文件检测函数139
埃尼阿克之问142
9结语143
9.1埃尼阿克和单子星球的故事144
9.2埃尼阿克的告别145
埃尼阿克之问147
附录AASCII码表149
附录BC语言常用库函数151
跋159
|
內容試閱:
|
阿兰图灵19121954
我期望数字计算机将最终能够激发起我们对符号逻辑和数学哲学的相当大的兴趣。人类与这些机器之间的交流语言,即指令表语言,形成了一种符号逻辑。机器以相当精确的方式来解释我们所告诉它们的一切,毫无保留,也毫无幽默感可言。人类必须准确无误地向这些机器传达他们的意思,否则就会出现麻烦。事实上,人类可以与这些机器以任何精确的语言进行交流,即:本质上,我们能够以任何符号逻辑与机器进行交流,只要机器装配上能够解释这种符号逻辑的指令表。这也就意味着逻辑系统比以往具有更广阔的使用范围。至于数学哲学,由于机器自身将做越来越多的数学,人类的兴趣重心将不断地向哲学问题转移。阿兰图灵伦敦数学学会上的演讲1947年
以上是图灵在1947年伦敦数学学会上的一次演讲中的一段话,或许人们已经忘却了程序设计语言是一种符号逻辑,是一种用于人与机器沟通的界面。谨以此书献给图灵。陈鹏2017年5月学习语言的目的旨在沟通,无论是自然语言或者是计算机程序设计语言,无非是沟通对象有所不同。在编撰本书的过程中,我的一个基本想法是期望学生将计算机看作是一个生物,甚至是一个人,计算机有它自己的生理结构(冯诺依曼体系),有它自己的思维方式,学生要想能够与计算机做到非常通畅的交流,就必须试图去了解它,了解它的一切。当然,要想做到真正了解计算机,可能会涉及计算机专业的整个体系,包括计算机的生理构造特征(计算机体系结构、计算机组成原理),计算机的语言体系(汇编语言、高级程序设计语言)以及计算机的思维方式图灵机、计算理论和算法理论等。C语言只是整个体系中的一个小的部分,但作为一门基础性的计算机程序设计课程,C语言也是非常重要的内容。作为一本严肃的C语言教程,本书或多或少缺少一些学术味道,也必定存在许多的漏洞和不足,非常期待读者能够提出一些意见和建议,这对于作者是非常重要的,在此深表感谢。最后,特别感谢我的家人,是他们默默地支持,让我能够做些在很多人看来无用而我又乐此不疲之事。父亲与母亲从小给予了我非常良好的教育环境,也期望我将来为社会做些事情,我不知道是否让他们失望了,我从事的一直都是一些平凡的工作,而且一直都默默无闻。妻子或许并不很确切地知道我在做什么,但是她永远都是在默默地支持我。这足以让我感到欣慰。感谢黄颖、刘心悦两位同学,是他们的帮助,才使得这本书更能够贴近学生,我非常享受与他们之间的这种朋友般的交往。
陈鹏2017年5月
5利用数组处理批量数据
在期中考试后,黄同学非常想将自己的全名和成绩告诉埃尼阿克,同时邀请全班的同学把自己的期中考试成绩告诉埃尼阿克。埃尼阿克根据同学告诉他的期中考试成绩情况,按照C语言课程的成绩做了一个排序。5利用数组处理批量数据〖1〗〖2〗〖2〗5.1概述在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造数据类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。5.2一维数组〖*45〗一维数组的定义在C语言中,数组必须先定义,后使用。一维数组的定义方式为: 类型说明符 数组名 \[常量表达式\];其中:(1) 类型说明符是任一种基本数据类型或构造数据类型。(2) 数组名是用户定义的数组标识符。(3) 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。表5.1给出一些数组示例。表5.1一维数组定义举例数 组 定 义说明int age\[10\];说明整型数组age,有10个元素。float tall\[10\],weight \[20\];说明实型数组tall,有10个元素,实型数组weight,有20个元素。char ch\[20\];说明字符数组ch,有20个元素。对于数组类型说明应注意以下几点:(1) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。(2) 数组名的书写规则应符合标识符的书写规定。(3) 数组名不能与其他变量名相同。例如: int main{int a;float a\[10\];}是错误的。方括号中常量表达式表示数组元素的个数,如a\[5\]表示数组a有 5个元素,但其下标从0开始计算。因此5个元素分别为a\[0\]、a\[1\]、a\[2\]、a\[3\]、a\[4\]。不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。例如: #define FD 5int main{int a\[3 2\],b\[7 FD\];
|
|