第一图书网

C语言程序设计

安俊秀 主编 人民邮电出版社
出版时间:

2010-9  

出版社:

人民邮电出版社  

作者:

安俊秀 主编  

页数:

330  

前言

  C语言是目前国内外广泛使用的计算机程序设计语言之一,是国内外大学都在开设的重要基础课之一。C语言功能丰富、表达能力强、目标程序效率高、可移植性好;既具有高级语言的特点,又具有汇编语言的特点,系统处理能力较强。它既适合编写应用软件,又适合编写系统软件。因此,熟练使用C语言不仅是计算机技术人员应具备的基本功,也是广大计算机应用人员应该具备的基本能力。  由于C语言牵涉到的概念比较复杂,规则繁多,使用灵活,容易出错,不少初学者感到困难。为此,我们总结多年来从事C语言教学工作的经验,希望编写出一本适合于高等院校学生使用的C语言的教程。本书针对高等院校学生的特点和认识规律,精选内容,分散难点,降低台阶,通过丰富的实例和通俗易懂的叙述阐明复杂的概念,并力求做到内容新颖、概念清晰、实用性强、通俗易懂,从而使学生少走弯路,对C语言的感觉由害怕变为兴趣盎然。  本书共14章,分为三篇。第一篇为C语言程序设计基础,在学习了这些内容之后,学生可以编写、调试和运行一般规模和难度的应用程序,并对结构化程序设计方法有所了解,为编写较大规模的应用程序打下基础。第二篇为C语言高级编程技术,这一部分强调对基本概念的理解和掌握,并在理解和掌握的基础上运用高级编程技术的方法,锻炼、培养较大规模、比较复杂的应用程序的编程能力。第三篇为C语言综合应用与实践,以实际案例为主线,引入软件工程的思想,介绍软件开发的方法,培养学生分析问题和解决实际问题的能力。  本书具有以下特点。  (1)根据学习对象的实际情况,增加了C语言程序设计预备知识的讲解,对于没有任何计算机基础的、不同层次的学生提供了统一的学习平台,使前后知识的学习没有断层,有利于后续章节的理解。  (2)对C语言公认的难点进行了分解,如数组、函数、指针等,本着先易后难、平滑过渡、循序渐进、易读易懂的思路进行了整体结构设计。在本书的结构体系方面充分注意到章节知识点的渐进性、前后表述的一致性和疑难点的可理解性。  (3)程序示例中较早引入函数概念,有助于学生理解模块化程序设计的思想。  (4)针对解题难、实验难的问题,每一章都提供了丰富的典型实例,并配有同步练习题。这对深化许多重要概念,掌握各章节知识要点、解读知识难点有很大的帮助,也使学生们节约许多时间。本书中的全部例题均在ⅥsualC++6.0上调试通过。

内容概要

本书针对高等院校学生的特点和认识规律,全面、系统地介绍了C程序设计及应用的知识。全书分为三篇,第一篇介绍C程序设计基础知识,包括C程序设计预备知识,程序设计基础,C语言的基本概念,顺序、分支和循环结构程序设计,函数和数组。第二篇介绍C语言高级编程技术知识,包括编译预处理、指针、结构体、共用体和枚举类型、文件。第三篇是C语言综合应用与实践,培养综合编程能力及程序编码的规范性。包括程序编码规范、学生成绩管理系统等知识。 本书结构清晰、语言通俗易懂、实例丰富。每章都配有同步练习,用于熟练和巩固所学知识。附录中提供了相应的常用资料,以方便师生查阅相关内容。 本书可作为大学本科计算机和相关专业的“C程序设计”教材,也可供计算机培训班的学员学习参考。

书籍目录

第一篇 C语言程序设计基础 第1章 C语言程序设计预备知识 1  1.1 计算机系统组成及工作原理简介 2  1.1.1 硬件系统的组成及其工作原理 2  1.1.2 软件系统的组成 4  1.2 进位计数制及其转换 4  1.2.1 计算机中数制的表示 4  1.2.2 非十进制数和十进制数的转换 5  1.2.3 二进制数、八进制数和十六进制数的转换 6  1.3 机器数的表示形式及其表示范围 7  1.3.1 真值与机器数 7  1.3.2 数的原码、反码和补码 8  1.3.3 无符号整数与带符号整数 9  1.3.4 字符的表示法 9  习题1 10 第2章 C语言概述 11  2.1 C语言的发展及特点 11  2.1.1 程序设计语言的发展 11  2.1.2 C语言的起源与发展 12  2.1.3 C语言的特点 13  2.1.4 C语言学习的相关网站 13  2.2 C语言应用领域概述 14  2.2.1 C语言在系统开发中的应用 14  2.2.2 C语言在嵌入式系统开发中的应用 14  2.2.3 C语言在商业应用软件开发中的应用 15  2.2.4 C语言在硬件驱动开发、游戏设计中的应用 15  2.3 C程序的基本结构 16  2.3.1 简单的C程序实例 16  2.3.2 C程序的结构特点 17  2.4 C程序的上机步骤 19  2.4.1 用计算机解决实际问题的步骤 19  2.4.2 运行C程序的一般步骤 20  2.4.3 Turbo C集成开发工具简介 21  2.5 Visual C++ 6.0集成环境介绍 22  2.5.1 Visual C++ 6.0界面简介 22  2.5.2 Visual C++ 6.0环境设置 23  2.5.3 在Visual C++ 6.0中编辑和运行C程序 25  习题2 28 第3章 基本数据类型、运算符与表达式 29  3.1 常量与变量 29  3.1.1 C语言的基本元素 29  3.1.2 数据和数据类型 30  3.1.3 常量 31  3.1.4 变量 32  3.2 基本数据类型 33  3.2.1 整型数据 33  3.2.2 实型数据 36  3.2.3 字符型数据 37  3.2.4 不同类型数据之间的混合运算 40  3.3 三大运算符及其表达式 40  3.3.1 算术运算符及其算术表达式 41  3.3.2 关系运算符及其关系表达式 42  3.3.3 逻辑运算符及其逻辑表达式 42  3.4 其他运算符及其表达式 44  3.4.1 赋值运算符及其赋值表达式 44  3.4.2 自增自减运算符及其表达式 45  3.4.3 条件、强制类型转换运算符及其表达式 47  3.4.4 求字节、逗号运算符及其表达式 48  3.4.5 取地址运算符 49  3.5 运算符的优先级与结合性 49  习题3 51 第4章 算法与结构化程序设计 54  4.1 算法的概念及特征 54  4.1.1 程序和程序设计 54  4.1.2 算法的概念 55  4.1.3 算法的特征 55  4.2 算法的表示方法 56  4.2.1 用自然语言表示算法 56  4.2.2 用传统流程图表示算法 57  4.2.3 用N-S图表示算法 59  4.2.4 用伪代码表示算法 61  4.3 结构化程序设计方法 62  4.3.1 结构化程序设计的概念 62  4.3.2 结构化程序设计方法 63  4.3.3 算法的合理性与优化 66  习题4 68 第5章 C语言程序的基本控制结构 70  5.1 C语句概述 70  5.2 顺序结构程序设计及其函数 72  5.2.1 顺序结构程序设计思想 72  5.2.2 字符输入/输出函数的应用 73  5.2.3 按格式输出函数的应用 74  5.2.4 按格式输入函数的应用 77  5.3 顺序结构程序举例 80  5.4 选择结构程序设计及其语句 82  5.4.1 选择结构程序设计思想 82  5.4.2 if语句的应用 83  5.4.3 switch开关语句的应用 88  5.5 选择结构程序举例 91  5.6 循环结构程序设计及其语句 95  5.6.1 while循环语句的应用 95  5.6.2 do~while循环语句的应用 96  5.6.3 for循环语句的应用 97  5.6.4 循环的嵌套 100  5.6.5 几种循环的比较 101  5.7 辅助控制语句及循环结构程序举例 101  5.7.1 辅助控制语句的应用 101  5.7.2 循环结构程序举例 104  5.8 程序的调试 106  5.8.1 编译出错信息理解与调试 106  5.8.2 Visual C++ 6.0中的程序调试 109  习题5 110 第6章 数组 115  6.1 问题的提出 115  6.2 一维数组 116  6.2.1 一维数组的定义 116  6.2.2 一维数组的引用 117  6.2.3 一维数组的初始化 117  6.2.4 一维数组的应用 119  6.3 二维数组和多维数组 125  6.3.1 二维数组的定义 125  6.3.2 二维数组的引用 126  6.3.3 二维数组的初始化 126  6.3.4 二维数组的应用 128  6.3.5 多维数组的定义和引用 132  6.4 字符数组和字符串 133  6.4.1 字符数组的定义、初始化和引用 133  6.4.2 字符串与字符数组 134  6.4.3 字符数组的输入/输出 134  6.4.4 常用字符串处理函数 136  6.4.5 字符数组的应用 140  习题6 142 第7章 函数和变量的作用域 146  7.1 函数概述 146  7.1.1 模块化程序设计方法 146  7.1.2 C是模块化程序设计语言 147  7.1.3 函数的分类 148  7.2 函数的定义与调用 149  7.2.1 函数的定义 149  7.2.2 函数的参数和返回值 151  7.2.3 函数声明 153  7.2.4 函数的调用和参数传递 155  7.3 函数的嵌套调用和递归调用 157  7.3.1 函数的嵌套调用 158  7.3.2 函数的递归调用 159  7.4 数组作为函数的参数 162  7.4.1 数组元素作函数实参 162  7.4.2 一维数组名作函数实参 162  7.4.3 二维数组名作函数实参 163  7.5 变量的作用域与生存期 164  7.5.1 局部变量及其存储类型 166  7.5.2 全局变量及其存储类型 170  7.6 内部函数和外部函数 174  7.6.1 内部函数 174  7.6.2 外部函数 175  7.6.3 如何运行一个多文件的程序 176  7.7 程序综合示例 177  习题7 179第二篇 C语言程序设计基础 第8章 编译预处理 184  8.1 宏定义 184  8.2 “文件包含”处理 188  8.3 条件编译 190  8.4 程序示例 193  习题8 194 第9章 指针的应用 196  9.1 指针概述 196  9.1.1 变量与地址 196  9.1.2 指针与指针变量 196  9.1.3 &与*运算符 197  9.1.4 直接访问与间接访问 197  9.2 指针变量 197  9.2.1 指针变量的定义、初始化及引用 197  9.2.2 零指针与空类型指针 200  9.2.3 指针变量作为函数参数 200  9.3 指针与数组 202  9.3.1 指向数组元素的指针变量的定义与赋值 202  9.3.2 数组元素的表示方法 203  9.3.3 指针变量的运算 204  9.3.4 指针与二维数组 205  9.3.5 指针数组 209  9.4 指针与字符串 211  9.4.1 字符串的表示形式及其相关操作 211  9.4.2 字符指针作函数参数 213  9.5 函数指针与指针函数 214  9.5.1 函数指针及指向函数的指针变量 214  9.5.2 指针函数 215  9.5.3 指向指针的指针 216  9.6 带参数的main函数 217  9.7 指针的应用举例 219  习题9 221 第10章 结构体、共用体及枚举类型的应用 224  10.1 结构体的应用 224  10.1.1 结构体类型的定义 224  10.1.2 结构体变量的声明 226  10.1.3 结构体变量的初始化 227  10.1.4 结构体变量的引用 227  10.2 结构体数组 228  10.3 指向结构体的指针 230  10.4 结构体与函数 232  10.4.1 函数的形参与实参是结构体 232  10.4.2 函数的返回值类型是结构体 233  10.5 共用体的应用 235  10.5.1 共用体类型的定义 236  10.5.2 共用体变量的声明和引用 236  10.5.3 共用体变量程序举例 238  10.6 单链表的应用 239  10.6.1 链表概述 239  10.6.2 动态分配内存库函数 240  10.6.3 单链表的基本操作 241  10.6.4 单链表的应用举例 245  10.7 枚举类型 248  10.8 类型定义 250  习题10 251 第11章 文件 253  11.1 C文件概述及文件类型指针 253  11.1.1 C文件概述 253  11.1.2 文件的分类 253  11.1.3 文件类型指针 254  11.2 文件的操作 254  11.2.1 文件的打开和关闭操作 254  11.2.2 文件读写操作 256  11.2.3 文件的定位 264  11.2.4 文件出错的检测 266  11.3 库文件 267  11.4 文件操作应用举例 268  习题11 271第三篇 C语言综合应用与实践 第12章 程序编码规范 274  12.1 标识符命名规范 274  12.2 代码编写格式 276  12.2.1 清晰的表达式 277  12.2.2 语句的规范性 278  12.2.3 缩进的书写格式 280  12.2.4 一致性和习惯用法 282  12.2.5 程序描述的层次 283  12.3 文档注释 284  12.3.1 注释 284  12.3.2 注释的书写格式 284  12.3.3 注释的分类及使用 285  习题12 287 第13章 位运算 288  13.1 位运算符及应用 288  13.2 位运算应用举例 291  13.3 位段 292  习题13 296 第14章 学生成绩管理系统 298  14.1 需求分析 298  14.1.1 需求分析的基本概念 298  14.1.2 需求分析的方法 298  14.1.3 学生成绩管理系统需求分析 299  14.2 总体设计 299  14.2.1 模块设计 300  14.2.2 系统流程图 301  14.2.3 数据结构设计 301  14.3 详细设计 303  14.3.1 创建学生成绩信息文件creatstu.c 303  14.3.2 学生成绩浏览printstu.c 305  14.4 核心代码实现 307  14.4.1 安全验证模块 307  14.4.2 学生成绩管理模块 309  14.4.3 用户管理模块 317  14.4.4 系统主控平台 318附录1 常用字符与ASCⅡ代码对照表 320附录2 Visual C++ 6.0常见错误信息表 322附录3 Visual C++常用库函数一览表 324参考文献 329

章节摘录

  1.微处理器(CPU)  运算器和控制器被集成在同一块微处理器芯片上,统称为微处理器或CPU芯片。微处理器是计算机硬件系统的核心,其重要性好比大脑对于人一样。它是计算机的运算和控制中心,负责处理、计算计算机内部的所有数据。  运算器是对二进制数据进行加工和处理的逻辑部件。因为计算机内部是依靠模拟电路来存储和计算的,电路的开关状态正对应二进制的0和1。运算器根据器件的物理状态表示和处理二进制数,不仅能够非常容易地实现基本的算术运算和逻辑运算,而且具有高的可靠性。  控制器是计算机的“神经中枢”,是协调指挥计算机各部件和谐工作的元件。它能够综合有关的逻辑条件与时间条件,并按照主频的节拍产生相应的微控制信号,以指挥计算机各部件按照指令功能的要求自动执行指定的操作。  2.存储器  存储器是计算机的“记忆系统”,是存放程序和数据的逻辑部件。根据作用不同,存储器分为内存储器(简称内存)和外存储器(简称外存)。内存是CPU能根据地址直接寻址的存储空间,它用来存放当前正在使用的或者随时要使用的程序或数据。其特点是速度快、容量小,价格较高。外存(如硬盘)用来存放内存的副本和暂时不用的程序或数据。当需要处理外存中的程序或数据时,必须通过输入输出指令,将其调入内存中才能被CPU执行处理。外存的存取速度比内存慢,但容量比内存大得多,并且可以永久保存信息。  3.输入设备/输出设备  输入设备与输出设备是实现人机交互的主要部件。输入设备用来接收用户输入的原始程序或数据,并将它们转变为计算机能识别的二进制数据存入到内存中,其功能类似于人的“眼”和“耳”——既能看又能听。输出设备用来将计算机处理的结果转变为人们能接受的形式输出,功能类似于人的“手”和“嘴”——既能写又能说。目前常用的输入设备有键盘、鼠标、触摸屏、光笔、画笔、图形板、摄像机、图文扫描仪和图文传真机等,输出设备有显示器、打印机、绘图仪和音箱等。   ……


编辑推荐

  《C语言程序设计(第2版)》根据高等院校“C语言程序设计”课程的开设时间、教学目标、学生的特点和认识规律,以及教育部考试中心2007年版NCRE考试大纲的教学基本要求编写而成,目的是适应高等院校计算机程序设计“零起点”的专业公共基础课教学任务。  《C语言程序设计(第2版)》共14章,分为三篇。第一篇为C语言程序设计基础,在学习了这些内容之后,学生可以编写、调试和运行一般规模和难度的应用程序,并对结构化程序设计方法有所了解,为编写较大规模的应用程序打下基础。第二篇为C语言高级编程技术,这一部分强调对基本概念的理解和掌握,并在理解和掌握的基础上运用高级编程技术的方法,锻炼、培养较大规模、比较复杂的应用程序的编程能力。第三篇为C语言综合应用与实践,以实际案例为主线,引入软件工程的思想,介绍软件开发的方法,培养学生分析问题和解决实际问题的能力。  《C语言程序设计(第2版)》重构教学内容和顺序,构成多个学习平面,可根据需求自由组合,以理论、实践、工程三大核心要素构成学习平面,以模块化程序设计为牵引,形成螺旋学习,实现靶向培养,注重教材立体化配套,提供丰富的教学资源。

图书封面

广告

下载页面


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



略有所悟,深得我心。可圈可点,来日再买。


相关图书