C程序设计

出版时间:2004-11  出版社:高等教育  作者:张长海,陈娟编著  页数:440  

前言

  本书适用于“高级语言程序设计”或“程序设计基础”课程。该课程是计算机系的专业基础课,在计算机专业教学中占有重要地位。学好该课程既可以为后续课程打下良好的基础,又会对学生一生的程序设计技术、技巧、风格和习惯产生深远影响。  本书重点在于程序设计,而对c语言本身则采取有所取、有所不取的策略。对于那些常用的语言成分,直接讲述与程序设计方法有关的语言成分,详细准确地介绍;对于那些与程序设计方法联系不太紧要,但是还常用的部分,放在最后简单介绍;而对于那些与讲述程序设计方法关系不太大,也不常用的部分则根本不涉及。  本书力图在深度、广度和知识结构上作出合理的安排。试图在既训练学生的编程能力,又培养学生的抽象思维能力上下功夫;使学生既具有较强的编程能力,又能掌握高级语言c本身的语法和语义,同时在知识结构、知识面上尽量做到广泛、深入。  本书作者从事计算机教学已经20余年,讲授过10多门计算机方面的课程。曾十余次为吉林大学计算机系本科生主讲“高级语言程序设计”课。对C语言进行了深入研究,仔细研究了国际标准ISO/IEC9899:1999和中华人民共和国国家标准GB/T15272—94。本书是作者二十余年教学实践的总结。  作为大学本科计算机专业基础课教材,本书具有如下特点:  1.全书整体结构好,知识体系新颖完整,章节安排合理,并注意由浅入深地介绍程序设计知识。比如有关函数的知识,由浅入深地分三章介绍;有关指针的知识分散到各个章节介绍,免得集中在一章,使学生学起来枯燥乏味,接受困难。  2.注重对学生进行严格的抽象思维训练。严格按照国际标准ISO/IEC9899:1999和国家标准GB/T15272—94介绍C语言,并使用BNF表示语法,使用自然语言叙述语义。对C语言语法、语义的描述严格、细致、准确,并且形式化,为后续课程(例如编译原理)打下了良好的基础。

内容概要

  《C程序设计》以国际标准IsO/IEC 9899:1999和国家标准GB/T 15272—94定义的c语言为载体,阐述基本的程序设计方法,并对相关的c语言成分进行较严格的介绍。用BNF表示c语言的语法,引进PAD图表示程序逻辑。全书共分十四章,主要内容包括BNF、PAD图、程序设计方法、程序开发和结构化程序设计以及C语言的各种词法单位、数据类型、语句、函数等。每章都包含大量例题,并附有大量习题,以利于读者提高程序设计能力和学习掌握相关语言概念。  《C程序设计》最大的特点是以“程序设计”为主线,把重点放在讲述程序设计方法上。摈弃了目前各种程序设计书中流行的以“解释程序设计语言”为主的做法。全书整体结构良好,图文并茂,知识体系新颖完整,概念准确;注重对读者进行程序设计方法及算法的训练,力求体现“结构化程序设计”思想,注重培养和训练读者良好的程序设计风格。  《C程序设计》可作为高等院校计算机系各专业“高级语言程序设计”、“C语言程序设计”、“程序设计基础”等课程的教材和参考书,也可供其他专业学生以及从事计算机工作的有关人员阅读参考。

书籍目录

第一章 基本知识1.1 程序设计语言1.1.1 机器语言1.1.2 汇编语言1.1.3 高级语言1.1.4 程序的执行1.2 C语言简况1.3 程序设计语言的形式描述1.3.1 语法、语义1.3.2 BNF1.3.3 文法的其他表示法1.4 C程序结构1.5 算法及其描述工具PAD图1.5.1 算法1.5.2 PAD图1.5.3 PAD实例本章小结习题一第二章 数据信息2.1 基本符号2.1.1 字符集2.1.2 标识符2.1.3 保留字2.1.4 分隔符2.1.5 运算符2.1.6 常量2.1.7 间隔符2.1.8 注释2.2 数据2.2.1 浮点类型2.2.2 整数类型2.2.3 字符类型2.2.4 布尔类型2.2.5 枚举类型2.3 混合运算2.4 关系运算本章小结习题二第三章 简单程序3.1 常量及常量定义3.2 变量及变量声明3.2.1 变量3.2.2 变量声明3.2.3 变量形态3.2.4 变量地址3.2.5 变量初始化3.3 表达式3.3.1 表达式的结构3.3.2 表达式的计算3.4 语句3.5 表达式语句3.6 赋值3.7 类型转换3.8 输入/输出3.8.1 字符输入3.8.2 字符输出3.8.3 格式输入3.8.4 格式输出本章小结习题三第四章 函数4.1 带子程序的C程序4.2 函数4.2.1 函数调用4.2.2 函数定义4.2.3 函数原型4.3 程序设计实例本章小结习题四第五章 流程控制5.1 顺序结构5.2 分支程序设计5.2.1 逻辑值控制的分支程序设计5.2.2 算术值控制的多分支程序设计5.3 循环程序设计5.3.1 先判断条件的循环程序设计5.3.2 后判断条件的循环程序设计5.3.3 for语句5.4 程序设计实例本章小结习题五第六章 数组6.1 结构型数据类型6.2 数组类型6.2.1 数组声明6.2.2 下标表达式6.2.3 应注意的问题6.3 多维数组6.4 程序设计实例——数组在程序设计中的应用6.5 数组初值6.6 字符数组6.7 类型定义本章小结习题六第七章 指针7.1 基本概念7.1.1 指针类型和指针变量7.1.2 指针所指变量7.1.3 空指针与无效指针7.1.4 通用指针7.2 指针运算7.3 指针与数组7.3.1 用指针标识数组7.3.2 多维数组与指针7.3.3 指针数组7.3.4 指针与数组总结7.4 指针与字符串7.5 指向指针的指针7.6 命令行参数本章小结习题七第八章 再论函数8.1 参数8.1.1 c参数传递规则8.1.2 指针作参数8.1.3 数组作参数8.1.4 其他程序设计语言的参数类别8.2 返回指针的函数8.3 作用域8.3.1 作用域8.3.2 生存期8.3.3 局部量和全局量8.4 递归8.4.1 递归程序8.4.2 递归程序设计8.4.3 间接递归8.4.4 递归程序执行过程本章小结习题八第九章 程序开发和结构化程序设计9.1 goto和标号9.1.1 带标号的语句9.1.2 goto语句9.2 空语句9.3 结构化程序设计原则9.4 程序风格9.4.1 良好的行文格式9.4.2 用合适的助记名来命名标识符9.4.3 注释9.4.4 对程序说明的建议9.5 程序的正确性9.5.1 错误种类9.5.2 程序测试和验证9.5.3 测试方法9.6 可移植性9.7 文档9.8 自顶向下逐步求精的程序设计技术9.8.1 自顶向下、逐步求精9.8.2 求精过程的表示9.8.3 求精实例9.9 受限排列组合——穷举法与试探法本章小结习题九第十章 文件10.1 文件概述10.2 文件操作10.2.1 打开、关闭文件10.2.2 字符读/写10.2.3 字符串读/写10.2.4 数据块读/写10.2.5 格式化读/写10.2.6 文件定位10.3 文件操作实例本章小结习题十第十一章 结构体与共用体11.1 结构体11.1.1 结构体类型11.1.2 结构体类型名11.1.3 结构体变量11.1.4 指向结构体变量的指针11.1.5 结构体变量的成分11.2 共用体11.2.1 带共用体的结构体实例11.2.2 共用体类型11.2.3 限制11.2.4 switch语句与共用体11.3 结构体与函数11.3.1 返回结构体值的函数11.3.2 结构体作函数参数11.4 程序设计实例本章小结习题十第十二章 动态数据结构12.1 管理动态变量12.2 动态数据结构12.2.1 栈(stack)12.2.2 队列(queue)12.2.3 链表(1inkagetable)12.2.4 树(tFee)12.3 程序设计实例本章小结习题十二第十三章 三论函数——几个较深入的问题13.1 函数指针13.2 函数作参数13.3 函数副作用13.4 形式参数作实在参数13.5 参数结合顺序13.6 可变长度数组13.6.1 可变长度数组13.6.2 可变长度数组作参数本章小结习题十三第十四章 c语言独有的特性14.1 运算14.1.1 sizeof14.1.2 赋值运算14.1.3 顺序表达式14.1.4 条件表达式14.1.5 位运算14.2 位段14.3 存储类别14.3.1 数据在内存中的存储14.3.2 自动存储类别14.3.3 寄存器存储类别14.3.4 变量的静态存储类别14.3.5 变量的外部存储类别14.3.6 函数的存储类别14.3.7 类型定义符14.4 const指针14.4.1 指向常量的指针(常量指针)14.4.2 指针常量14.4.3 指向常量的指针常量(常量指针常量)14.5 有关指针的总结14.6 语句14.6.1 break14.6.2 continue14.6.3 for的延伸14.7 编译预处理14.7.1 宏定义14.7.2 文件包含14.7.3 条件编译本章小结附录一ACSII字符集附录二C语言语法附录三标准库头文件表附录四实验指导书F4.1 使用TurboCF4.1.1 启动‘I~urbocF4.1.2 选择工作目录F4.1.3 建立工作环境F4.1.4 编辑源文件F4.1.5 编译、连接F4.1.6 运行F4.2 visualC:++集成开发环境F4.2.1 启动VC++F4.2.2 建立环境F4.2.3 录入、编辑源程序F4.2.4 编译F4.2.5 连接F4.2.6 运行F4.3 实验F4.3.1 实验一c环境基本操作F4.3.2 实验二模块化程序设计F4.3.3 实验三程序的流程控制F4.3.4 实验四数组的概念和应用F4.3.5 实验五指针及其在程序设计中的应用F4.3.6 实验六递归程序设计F4.3.7 实验七数据组织F4.3.8 实验八文件及其应用F4.4 课程设计参考文献

章节摘录

  第一章 基本知识  现代计算机从出现至今不过50多年时间,但其发展速度是任何一种新技术都不可比拟的,目前,计算机已经渗透到各个领域。本书将以c语言为背景向大家揭示如何编制计算机程序,即如何使用计算机解决科技、生产、事务处理等方面的问题,介绍程序设计的基本方法、技术和技巧。在具体介绍程序设计之前,先简略介绍一下有关计算机程序设计和程序设计语言的基本知识。  1.1 程序设计语言  一个庞大的计算机系统是怎样有条不紊地工作的呢?答案是:计算机系统的工作是由事先设计好的程序来控制的。人们首先按自己的需要把让计算机做的工作编写成计算机程序,并把程序送人计算机,然后启动计算机执行程序。计算机的控制器从程序的第一条指令开始,顺序地逐条取出指令进行解释,然后按指令的规定和要求指挥整个计算机系统的工作,从而完成人们设想的要计算机完成的工作。  程序是一个指令序列,也就是用指令序列排成的一个工作顺序、工作步骤。人们平常也使用程序这个名词,例如运动会程序等。计算机程序是用计算机指令为计算机排定的工作顺序、工作步骤。  为计算机编写程序的过程称为程序设计。  描述程序必须使用一种语言。程序设计语言是指用于编写、描述计算机程序的语言。一般的,人们将程序设计语言分成三类:机器语言、汇编语言和高级语言。  ……

图书封面

评论、评分、阅读与下载


    C程序设计 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7