C语言程序设计与应用

出版时间:2010-3  出版社:科学出版社  作者:孙承爱,赵卫东,尹成波 编  页数:279  

前言

  《C语言程序设计与应用》作为学习结构化程序设计的入门课程,是进一步学习《数据结构》、《面向对象程序设计》、《算法设计与分析》等课程的基础。C语言是目前最流行和使用最广泛的计算机语言之一,具有表达能力强、概念和功能丰富、目标程序质量高、可移植性好、使用灵活方便等特点。  本书采用循序渐进、深入浅出、通俗易懂的讲解方法,本着理论与实际相结合的原则,注重知识内容、综合实训和课程设计的有机统一,重在培养学生的实际操作能力和程序设计能力,最后达到掌握C语言、形成科学的编程思想的目的。  本书采用教案式编写方式,学习目标明确。对每一个知识点,首先阐述相关的概念,然后通过实例加以准确清晰的展示。书中每一道程序设计例题都给出算法描述和具体知识点的分析,并注重一题多解,提高学生分析问题、设计算法和解决问题的能力。  全书共分为13章。  第1章主要介绍了算法及算法描述。  第2章主要介绍了C语言程序的组成及特点,C语言的集成开发环境——Visual C++6.0集成开发,编写和调试控制台程序的步骤、方法和工具。  第3章主要介绍了C语言的基本数据类型与数据运算及应用。  第4章介绍了C语言中的库函数:输入/输出函数、字符串操作函数和数学运算函数。  第5章主要介绍了c语言中的基本结构:顺序结构、选择结构和循环结构。  第6章讲述了数组的知识。包括一维数组和二维数组、字符串与字符数组。  第7章主要介绍函数的知识。  第8章主要介绍了宏的定义方法及文件包含命令,以及条件编译命令。  第9章引入了地址、指针的概念,讲述了指针与指针变量、指针与数组、指针与字符串的相关知识与应用。  第10章主要介绍了结构体与共用体的相关知识与应用。如结构体的定义与使用,链表的概念和相关操作,以及共用体和枚举型数据。  第11章主要介绍了在C语言程序设计中文件的打开、关闭、读写与定位。  第12章从一个学生宿舍卫生管理系统的实际需求分析出发,按照软件开发的基本流程,完成了系统的设计与实现。该应用案例是对前面11章知识的综合应用。  第13章结合了前12章的内容安排了15个上机实验,并包含对应的实验指导。  最后,本书附录中给出了ASCII码表和常用标准库函数,便于学生查找和使用。  为方便教学,书中所有代码均已在Visual C++6.0环境中通过运行和调试,可放心使用。另外,本书特为任课教师提供教学资源包,包括本书的程序源代码、电子教案、书中练习题的详细解答、习题库及参考答案。

内容概要

  《C语言程序设计与应用》共13章,第1~11章主要介绍了算法及算法描述、C语言概述、基本数据类型与数据运算、常用库函数、C程序设计的基本结构、数组、函数、预处理命令、指针、结构体与共用体以及文件等相关知识;第12章列举了一个C语言的应用案例——学生宿舍卫生管理系统,重点讲解了C语言应用系统的设计与实现,包含了软件开发的各个流程,帮助学生形成科学的编程思想;最后一章包括15个实验,以供学生上机实践,快速掌握编程技巧。  全书实例丰富,语言简练,注重培养学生实践能力,特别适合作为应用型高职高专院校和成人教育院校的计算机专业及其他专业的教材,还可作为编程人员和C语言自学者的参考用书。

书籍目录

第1章 算法及算法描述1.1 问题求解与算法1.1.1 问题求解1.1.2 算法及特点1.1.3 算法优劣标准1.1.4 算法描述1.2 程序设计语言与程序设计1.2.1 程序设计语言的发展史1.2.2 程序设计必备知识1.2.3 结构化程序设计方法1.2.4 程序质量1.3 计算机问题求解的过程1.3.1 算法开发1.3.2 算法实现1.4 练习题第2章 C语言概述2.1 C语言程序的组成及特点2.2 C语言程序上机指导2.3 C程序的调试2.4 练习题第3章 基本数据类型与数据运算3.1 基本标识符3.1.1 保留关键字3.1.2 预定义标识符3.1.3 用户自定义标识符3.2 数据类型3.3 常量3.3.1 直接常量3.3.2 符号常量3.4 变量3.4.1 变量名3.4.2 变量的定义格式3.4.3 变量的值3.4.4 变量的类型3.5 基本数据类型的转换3.5.1 自动类型转换3.5.2 强制类型转换3.6 运算符和表达式3.6.1 运算符和表达式概述3.6.2 算术运算符与算术表达式3.6.3 赋值运算符与赋值表达式3.6.4 关系运算符与关系表达式3.6.5 逻辑运算符与逻辑表达式3.6.6 条件运算符与条件表达式3.6.7 逗号运算符与逗号表达式3.6.8 位运算符与位运算表达式3.6.9 取长度运算符3.6.10 运算符的优先级和结合性3.7 应用举例3.8 练习题第4章 常用库函数4.1 输出函数4.1.1 printf函数4.1.2 putchar函数4.1.3 puts函数4.2 输入函数4.2.1 scanf函数4.2.2 getchar函数4.2.3 gets函数4.3 字符串函数4.3.1 strcat函数4.3.2 strcpy函数4.3.3 strcmp函数4.3.4 strlen函数4.3.5 sglwr函数4.3.6 strupr函数4.4 数学函数4.5 应用举例4.6 练习题第5章 C程序设计的基本结构5.1 基本语句5.2 顺序结构5.3 选择结构5.3.1 if语句5.3.2 switch语句5.4 循环结构5.4.1 while语句5.4.2 do...while语句5.4.3 for语句5.4.4 跳转语句5.4.5 循环的嵌套5.5 应用举例5.6 练习题第6章 数组6.1 一维数组6.1.1 一维数组的定义6.1.2 一维数组的存储6.1.3 一维数组元素的引用6.1.4 一维数组的初始化6.1.5 一维数组的应用6.2 二维数组6.2.1 二维数组的定义6.2.2 二维数组的存储6.2.3 二维数组元素的引用6.2.4 二维数组的初始化6.2.5 二维数组的应用6.3 字符串与字符数组6.3.1 字符串6.3.2 字符数组6.3.3 字符串与字符数组的应用6.4 应用举例6.5 练习题第7章 函数7.1 函数的定义7.1.1 函数定义格式7.1.2 函数返回值7.2 函数的调用7.2.1 不需要进行声明的函数调用7.2.2 需要进行声明的函数调用7.3 嵌套与递归7.3.1 函数的嵌套调用7.3.2 函数的递归调用7.4 数组作为函数参数7.4.1 数组元素作为函数参数7.4.2 数组名作函数参数7.4.3 多维数组作函数参数7.5 变量的作用域与生存期7.5.1 变量的作用域7.5.2 变量的生存期7.6 应用举例7.7 练习题第8章 预处理命令8.1 宏8.1.1 宏定义8.1.2 宏取消8.2 文件包含8.3 条件编译8.4 练习题第9章 指针9.1 指针与指针变量9.1.1 指针的概念9.1.2 指针变量的定义及引用9.1.3 指针变量作为函数参数9.1.4 指针的运算9.1.5 void指针类型9.2 指针与数组9.2.1 数组的指针9.2.2 指向数组元素的指针9.2.3 通过指针引用数组元素9.2.4 指向数组的指针9.2.5 数组指针作参数9.3 指针与字符串9.3.1 字符串的字符指针表示9.3.2 利用字符指针访问字符串9.3.3 字符数组与字符指针的比较9.3.4 字符指针作函数参数9.4 应用举例9.5 练习题第10章 结构体与共用体10.1 结构体10.1.1 结构体类型的定义10.1.2 结构体变量的定义10.1.3 结构体变量的引用10.1.4 结构体变量的初始化10.1.5 结构体应用举例10.2 链表10.2.1 链表概述10.2.2 静态链表10.2.3 动态链表10.3 共用体与枚举10.3.1 共用体的概念10.3.2 共用体定义及使用10.3.3 枚举的概念10.3.4 枚举的使用10.4 应用举例10.5 练习题第11章 文件11.1 文件概述11.2 文件指针11.3 文件的打开与关闭11.3.1 文件的打开11.3.2 文件的关闭11.4 文件的读写11.4.1 字符读写函数11.4.2 字符串的读写函数11.4.3 字读写函数11.4.4 数据块读写函数11.4.5 格式化读写函数11.5 文件的定位11.5.1 重返文件头函数11.5.2 指针位置移动函数11.5.3 取指针当前位置函数11.6 出错的检测11.7 应用举例11.8 练习题第12章 应用案例——学生宿舍卫生管理系统12.1 需求陈述12.2 需求分析12.2.1 功能需求12.2.2 数据需求12.2.3 技术约束12.3 总体设计12.3.1 系统总体结构12.3.2 全局数据结构12.3.3 界面设计12.4 详细设计12.4.1 系统主函数12.4.2 管理员部分12.4.3 普通用户部分12.5 完整代码第13章 应用实验13.1 实验一 熟悉C语言的上机环境13.2 实验二 C语言数据类型与数据运算的应用13.3 实验三 C语言常用库函数13.4 实验四 顺序和选择结构程序设计13.5 实验五 循环结构程序设计13.6 实验六 循环嵌套程序设计13.7 实验七 一维和二维数组的使用13.8 实验八 字符数组及其应用13.9 实验九 函数的基本使用方法13.10 实验十 函数的嵌套和递归13.11 实验十一 指针的定义与使用13.12 实验十二 指针与数组、函数13.13 实验十三 结构体、共用体与链表13.14 实验十四 文件的使用13.15 实验十五 综合性实验附录A 常用字符与ASCⅡ代码对照表附录B C语言ANSI/ISO标准库函数参考文献

章节摘录

  学习目标 掌握算法的概念及特点,熟练掌握用N-S图描述算法的方法,初步掌握用流程图和PAD图描述算法的方法及计算机问题求解的过程。理解程序设计与程序设计语言的区别。  问题求解的目的是要根据问题的特征发现并优化问题的解决方案。我们通常把问题求解的过程概括为五步:①理解问题特征;②设想解决方案;③优化解决方案;④描述解决方案;⑤执行并分析解决方案。下面通过一个具体的实例来说明问题求解的过程。  解:  (1)理解问题特征。输入1~100的所有整数;输出1~100所有整数的和。  (2)设想解决方案。最容易想到的解决方案是连加;也可以采用等差数列求和公式来计算;如果你拥有与高斯一样的创造力,那么还可以想到使用50×101的计算方法。  (3)优化解决方案。对三种解决方案进行比较,显然高斯的方法是计算量最小、计算速度最快的方案。尽管我们没有证明该方法是最好的方案,但它已经是解决上述问题的一个简单、令人满意的方案了。  (4)描述解决方案。可用数学算式50×101来描述。  (5)执行并分析解决方案。我们稍加分析就可以将高斯的方案应用到相似问题的求解中。可以把问题拓展为求含2n(n>1)个元素的等差数列的和;其相应的解决方案可以描述为(最小元素+最大元素)×n。通过上述分析可以使得高斯的方案更具通用性。  在计算领域中,我们把求解问题所采取的解决方案称为算法(Algorithm),它是计算机科学和计算机应用的核心。算法是一组有穷的规则,规定了为解决某一特定问题而采取的一系列运算步骤。一个算法应具有以下特点。  (1)确定性。算法每一步运算都必须有确切的含义,即每一种运算应该执行何种操作,产生何种结果必须相当明确、无二义性。

编辑推荐

  《C语言程序设计与应用》基础知识、综合应用案例、上机实验及上机指导的有机结合,注重培养学生的程序设计能力,形成科学的编程思想  设置“学生宿舍卫生管理系统”综合实训项目,提高学生项目开发能力  15个上机实验及其指导,方便展开上机实践,快速掌握编程知识和技巧  为用书教师提供教学资源包,丰富教学资源,方便教学  多媒体教学资源包  ·电子课件和电子教案  ·书中程序的源代码  ·书中习题答案  ·附赠的习题库及其答案(约800多道习题,按章编排)

图书封面

评论、评分、阅读与下载


    C语言程序设计与应用 PDF格式下载


用户评论 (总计0条)

 
 

 

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

京ICP备13047387号-7