本书系统地介绍ANSI C语言的基本概念、语法和语义,包括数据类型、常量、变量、运算符和表达式、语句、数组、函数、结构体、指针、文件等。将C语言的介绍和结构化程序设计方法有机地结合在一起,通过大量实例的分析、编程,帮助读者尽快掌握C语言和用C语言编写程序。通过基本算法思想介绍和应用实例,帮助读者掌握用C语言描述算法和基本算法策略在程序设计中的应用。本书提供大量精心设计的例题、习题和上机实验,通过完成习题和上机实验,帮助读者进一步理解C语言的各种语法成分,掌握C语言源程序的编辑、编译、链接和运行过程。本书配有电子课件、源代码和习题解答,读者可登录华信教育资源网(www.hxedu.com.cn)注册并免费下载。 本书可作为高等院校“C语言程序设计”课程的教材,也可作为广大计算机程序设计人员和计算机程序设计爱好者的参考书,同时可供参加相关考试的读者参考。 呼克佑,太原理工大学软件学院教师,主要从事方向为软件工程、数据库应用主编《C语言程序设计》《JAVA语言程序设计》等多部教教材。 目 录第1章 C语言与程序设计 11.1 C语言发展简史 21.2 C语言的特点 31.3 计算机解题过程 41.4 算法及其表示 51.4.1 算法的概念 71.4.2 算法的描述 81.5 常用算法策略介绍 111.5.1 穷举法 111.5.2 递推法 121.5.3 递归法 121.6 结构化程序设计方法 131.6.1 结构化程序设计基本思想 131.6.2 三种基本程序结构 14本章小结 14习题一 15第2章 C语言基础知识 162.1 简单的C语言程序 162.2 关键字和标识符 192.2.1 字符集 192.2.2 关键字 192.2.3 标识符 202.3 数据类型 202.3.1 C语言的数据类型 212.3.2 整数类型 222.3.3 浮点类型 232.3.4 字符类型 242.4 常量和变量 252.4.1 常量 252.4.2 变量 272.5 运算符和表达式 292.5.1 算术运算符 302.5.2 赋值运算符 322.5.3 其他运算符 342.5.4 运算符的优先级和结合性 362.6 数据类型转换 37本章小结 39习题二 39第3章 程序控制结构 423.1 C语言语句概述 423.2 顺序结构 443.2.1 赋值语句 443.2.2 数据输入/输出 443.2.3 格式输入/输出 463.2.4 程序举例 513.3 选择结构 523.3.1 关系运算符与关系表达式 533.3.2 逻辑运算符与逻辑表达式 533.3.3 if语句 553.3.4 switch语句 593.3.5 程序举例 623.4 循环结构 643.4.1 while循环语句 643.4.2 do-while循环语句 663.4.3 for循环语句 673.4.4 循环的嵌套 703.4.5 goto、break和continue语句 713.4.6 程序举例 74本章小结 79习题三 80第4章 数组和字符串 944.1 一维数组 944.1.1 一维数组的定义 944.1.2 一维数组的初始化 954.1.3 一维数组元素的引用 964.1.4 一维数组应用举例 984.2 二维数组及多维数组 1034.2.1 二维数组的定义 1034.2.2 二维数组的初始化 1044.2.3 二维数组元素的引用 1044.2.4 二维数组应用举例 1054.2.5 多维数组 1064.3 字符数组和字符串 1074.3.1 用字符数组存放字符序列 1074.3.2 用字符数组存放字符串 1084.3.3 字符串处理函数 1104.3.4 字符数组应用举例 113本章小结 116习题四 117第5章 指针 1235.1 指针的概念及运算 1235.1.1 指针的概念 1235.1.2 指针变量的定义和初始化 1245.1.3 与指针有关的运算 1255.2 数组中的指针 1285.2.1 一维数组中的指针 1285.2.2 二维数组中的指针 1315.3 用指针处理字符串 1335.4 指针数组和指针的指针 1355.4.1 指针数组 1355.4.2 指向指针的指针 1375.5 程序举例 139本章小结 140习题五 141第6章 函数 1456.1 模块化程序设计方法 1456.2 函数的定义、调用和声明 1476.2.1 函数定义 1476.2.2 函数调用 1506.2.3 函数声明 1516.3 函数参数及其传递方式 1536.3.1 函数的参数 1536.3.2 函数参数的传递方式 1556.4 函数的嵌套调用和递归调用 1616.4.1 函数的嵌套调用 1616.4.2 函数的递归调用 1646.5 函数指针和指向函数的指针变量 1676.5.1 函数指针和指向函数的指针变量的定义 1676.5.2 指向函数的指针作为函数的参数 1686.6 main()函数的参数 1706.7 exit()函数 1726.8 变量的作用域规则与存储类别 1726.8.1 局部变量和全局变量 1736.8.2 变量的存储类别 1766.8.3 内部函数和外部函数 1816.9 程序举例 183本章小结 186习题六 187第7章 用户自定义类型 1937.1 结构体 1937.1.1 结构体类型定义 1937.1.2 结构体类型变量、数组和指针的定义 1957.1.3 结构体类型变量、数组和指针的初始化 1977.1.4 结构体类型变量的引用 1987.1.5 结构体应用举例 2007.1.6 结构体指针与函数 2047.1.7 位域 2067.2 动态存储分配 2077.2.1 内存的分配与释放 2087.2.2 内存动态分配应用举例 2107.3 共用体 2167.3.1 共用体类型的定义 2177.3.2 共用体变量定义 2177.4 枚举类型 2197.4.1 枚举类型的定义 2197.4.2 枚举类型数据的使用 2207.5 类型标识符的定义 221本章小结 221习题七 222第8章 文件 2258.1 文件概述 2258.1.1 文件的基本概念 2258.1.2 文件类型和常用函数 2268.1.3 文件类型指针 2278.2 文件的打开与关闭 2288.2.1 文件的打开 2288.2.2 文件的关闭 2298.3 文件的读/写 2298.3.1 顺序文件的读/写 2308.3.2 随机文件的读/写 2368.4 程序举例 239本章小结 242习题八 243第9章 编译预处理 2459.1 宏定义 2459.1.1 不带参数的宏定义 2469.1.2 带参数的宏
阅读更多