搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
基于自然语言思想的递进C/C++教程.上册,C
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302203919
  • 作      者:
    李春庚编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2009
收藏
编辑推荐
  

    丛书特点:教学目标明确,注重理论与实践的结合;教学方法灵活,培养学生自主学习的能力;教学内容先进,强调计算机在各专业中的应用;教学模式完善,提供配套的教学资源解决方案。

展开
内容介绍
    《基于自然语言思想的递进C/C++教程(上册C)》以自然语言“选词造句,连句成段,多段成章”的渐进学习思想贯穿全书,简捷深入地阐述了C语言的概念和语法。将C语言中的类型和量值(常量和变量)理解为“名词”; 各种运算符理解为“动词”; 构成分支结构的if…else、构成循环结构的while等理解为“连词”。名词、动词和连词的有机组合就形成C语言的语句。而将数组和结构体等类型和变量理解为集合名词,是基本名词的横向发展,将指针、位、函数和文件理解为名词的纵向发展。全书例题围绕几个问题展开,要么用不同方法解决,要么不断完善和深化; 同时用一个综合实例,融合C语言的各个知识点,让C语言的学习更接近于实际开发。每章的习题都是例题的变形和深化,以加强学生对知识的理解。《基于自然语言思想的递进C/C++教程(上册C)》适合作为普通高校C语言课程的教材,也可用作培训教材及自学教材使用。
展开
精彩书摘
    自然语言有着悠久的历史,它的一切都是在人类漫长的历史中自然发展、约定俗成的。它的构成单位由小到大可以粗略地分为字、词、短语、句子、段落和篇章等,在英文中没有字的概念,最小的单位是词(如无需要,可统称为字词)。人学习语言的过程是先学习简单的字词,通常是名词、动词和连词,如车、雨、乘、如果……那么……等,这些字词已经在漫长的历史中被固定,无法改变,如果非要改变,那么就无法和别人交流沟通。对简单的字词有了一定的掌握后,两个以上的字词就构成短语,如出租车、下雨等;短语有一定自由度,可以适当变化。在短语的基础上,配合连词可以说出“如果下雨,那么就乘出租车”的句子,句子的灵活性就更大了。当然,如果一个人掌握了很多的句子,就可以将句子加以组合,形成段落和篇章。随着社会的发展和社会实践的需要,人们是可以不断创造出新的字词,使语言不断丰富。这是我们每个人学习自然语言的过程。但是必须明确,熟练掌握一种自然语言,并不是说就可以写出优美的文章。就好像可以熟练地使用汉语,而又有多少人可以用汉语写出优美的文章呢!因为文章中不但要有正确的字词、短语和句子,更要有深邃的思想,而思想不属于语言本身,只是以语言作为表达的载体。思想属于某个专门的领域,需要对该领域知识的深刻理解和掌握。这就是说,语言只是工作于社会中的基本技能,在此基础上,需要对某一领域的掌握和理解,然后更要将语言恰当地应用于该领域中,用语言表达该领域的思想,解决该领域的问题。另外,语言是非常依赖实践的,只是听别人说,而自己不说,只是阅读别人写的文章,自己不写,是永远不可能掌握语言的。
    计算机语言的构成及学习过程和人类的自然语言是非常相似的,也包含“名词”,在计算机语言中通常叫“类型”和“量值”,“量值”包括“常量”和“变量”;“动词”,在计算机语言中叫“运算符”;“连词”,在计算机语言中叫控制流程;构成的“短语”在计算机语言中叫表达式;用表达式构成的“句子”在计算机语言中叫语句;相当于自然语言的“段落”叫程序段或模块;和“篇章”相对应的就是程序了。计算机语言发展到今天,已经有了和“著作”相对应的单位,那就是“工程”。学习计算机编程语言的过程与学习自然语言的过程是一致的。先要学会类型的定义,量值的声明,表达式的创建,程序语句的书写,以及模块和程序的编制。完全类似的是,并不是掌握了计算机语言就成为了编程高手。计算机的程序中同样必须蕴涵着思想,用计算机的术语叫“算法”,它不属于计算机语言本身,它属于要解决问题的专业领域。只有熟练掌握了计算机语言,又真正理解了所要解决的专业问题,才能编写出可以解决问题的、有一定规模的计算机程序。
展开
目录
第1章 概述
1.1 自然语言和计算机语言
1.2 C语言及C++语言
1.3 简单的C/C++程序及其运行方法(环境的使用)
1.3.1 C/C++程序开发运行环境
1.3.2 格式化输出输入函数printf()和scanf()
习题

第2章 基本的C/C++语言
2.1 C/C++语言中的名词——类型、量值(常量和变量)
2.1.1 整型和整型量值
2.1.2 浮点型和浮点量值(常量和变量)
2.1.3 字符型和字符量值(常量和变量)
2.1.4 字符串常量
2.2 C/C++语言中的动词—运算符、短语—表达式和特殊动词性关键字
2.2.1 赋值运算符和赋值表达式
2.2.2 算术运算符和算术表达式
2.2.3 逻辑运算符和逻辑表达式
2.2.4 关系运算符和关系表达式
2.2.5 其他运算符和表达式
2.2.6 不同类型量值的不同运算的混合
2.3 C/C++语言中的连词及句子——分支、循环和顺序结构
2.3.1 顺序结构
2.3.2 if…else——分支结构
2.3.3 switch…case——分支结构
2.3.4 ?…:——分支结构
2.3.5 for——循环结构
2.3.6 while——循环结构
2.3.7 do…while——循环结构
2.3.8 goto…label…if——循环结构
2.3.9 break——终止循环或开关
2.3.1 0continue——终止本次循环
2.4 C/C++语言中的句子小结
2.5 用C/C++语言编写程序——段落
2.6 用C/C++语言编写复杂段落——语句嵌套
2.6.1 复杂段落——语句嵌套的含义
2.6.2 嵌套语句的示例
2.6.3 复杂段落——语句嵌套的小结
2.7 总结
习题

第3章 C/C++语言的横向名词性扩充
3.1 C/C++语言的横向名词性扩充(1):同类变量的集合——数组
3.1.1 一维数组
3.1.2 二维数组
3.1.3 n维数组
3.1.4 字符数组
3.2 C/C++语言的横向名词性扩充(2):自定义类型——typedef
3.2.1 简单类型的自定义
3.2.2 同类集合类型的自定义——变量数组类型的定义
3.3 C/C++语言的横向名词性扩充(3):异类集合类型和异类集合变量——结构体型(值)、共用体型(值)、枚举型(值)
3.3.1 结构体类型和结构体变量
3.3.2 共用体类型和共用体变量
3.3.3 枚举类型和枚举变量
3.4 C/C++语言的横向名词性扩充(4):异类集合类型的同类集合类型——结构体数组
3.5 各种横向扩充类型的融合使用
习题

第4章 C/C++语言的纵向名词性扩充(1):指针
4.1 简单指针类型和指针量值(常量和变量)
4.1.1 变量的三层含义
4.1.2 变量的指针和指针类型的变量
4.1.3 与指针相关的动词补充——&和*运算符
4.1.4 指针和指针变量示例
4.2 同类集合变量——数组的指针和对应的指针变量
4.2.1 一维数组的指针和操作一维数组的指针变量——本质上是指向单个变量的指针变量
4.2.2 二维数组的各级指针
4.2.3 操作二维数组的各种指针变量——本质上是指向简单变量和一维数组的指针变量
4.2.4 m维数组的指针和指向m维数组的指针变量
4.3 指向指针变量的指针量值——二级指针
习题

第5章 C/C++语言的纵向名词性扩充(2):函数
5.1 函数的构成
5.1.1 函数的定义
5.1.2 函数的声明和调用
5.1.3 函数的参数和返回值
5.2 不同参数和不同返回值形式的各种函数
5.2.1 无返回值函数
5.2.2 参数或返回值是异类集合量值的函数
5.2.3 参数是简单指针量值的函数
5.2.4 异类集合类型的指针量值作为函数的参数或返回值
5.2.5 函数的参数是和一维数组名对应的指针量值
5.2.6 函数的参数是和二维数组名对应的指针量值
5.2.7 返回值是指针量值的函数
5.3 函数的多级调用
5.3.1 函数的嵌套调用
5.3.2 函数的递归调用
5.4 函数的指针和指向函数的指针变量
5.4.1 函数的指针
5.4.2 指向函数的指针变量
5.5 main函数的参数
5.6 动态内存管理函数
习题

第6章 名词的空间域、时间域和物理存储位置
6.1 C/C++程序的逻辑结构
6.2 名词性的类型和量值在各逻辑结构上的空间域
6.2.1 模块域
6.2.2 嵌套模块的层域
6.2.3 文件域
6.2.4 工程域
6.2.5 工作区域
6.3 名词性的类型和量值在各逻辑结构上的时间域
6.3.1 模块内static
6.3.2 文件内的static
6.3.3 关于static的总结
6.4 变量的物理存储位置
习题

第7章 编译预处理
7.1 简单替换宏——符号常量
7.2 复杂替换宏——宏函数
7.3 批量的嵌入——文件包含
7.4 条件编译
7.4.1 #ifndef…#else…#endif
7.4.2 #ifdef…#else…#endif
7.4.3 #if…#else…#endif
7.4.4 assert故障诊断
7.4.5 字符串替换——#
7.4.6 数字链接——##
习题

第8章 C/C++语言的纵向名词性扩充(3):宏观扩充——文件
8.1 输入输出流和文件的指针
8.1.1 输入输出流
8.1.2 文件的指针
8.2 文件的打开和关闭
8.2.1 文件的物理形式
8.2.2 文件的打开
8.2.3 文件的关闭
8.3 文件的顺序读写
8.3.1 向文件中顺序输出(写)字符
8.3.2 从文件中顺序输入(读)字符
8.3.3 顺序多个数据读写
8.3.4 文件的格式化输入和输出
8.3.5 文件的字符串读写
8.4 文件内的定位和随机读写
8.4.1 检测文件位置指针
8.4.2 置文件位置指针于文件头
8.4.3 置文件位置指针于指定位置
8.5 文件的出错控制
8.5.1 检查是否到达文件尾feof()
8.5.2 检查当前文件操作是否出错ferror()
8.5.3 清除文件错误标识clearerr()
习题

第9章 C/C++语言的纵向名词性扩充(4):微观扩充——位和位域
9.1 位运算
9.1.1 位运算符和位运算
9.1.2 位运算举例
9.2 位域
习题
附录习题答案
参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证