目录 第1章C语言介绍1 1.1C语言概述1 1.1.1C语言的起源和C语言标准1 1.1.2C语言的优缺点1 1.1.3如何使用C语言2 1.2C程序文件3 1.2.1源文件3 1.2.2头文件4 1.2.3把程序划分成多个文件4 1.3运行C程序4 1.3.1C程序的运行步骤4 1.3.2集成开发环境5 1.4编写程序6 1.4.1程序设计的任务6 1.4.2计算机算法6 1.4.3结构化算法或程序7 1.5C程序的书写规范和编程风格10 1.5.1书写规范10 1.5.2编程风格10 实验10 练习12 第2章C语言基本概念13 2.1数据类型13 2.1.1整数类型14 2.1.2浮点类型15 2.1.3字符类型16 2.1.4转义序列17 2.1.5不同类型数据间的混合运算18 2.2定义新类型18 2.2.1类型定义18 2.2.2类型定义的优点19 2.3常量、变量、标识符20 2.3.1常量20 2.3.2变量21 2.3.3标识符21 2.4运算符22 2.4.1算术运算符22 2.4.2赋值运算符23 2.4.3自增运算符和自减运算符24 2.4.4关系运算符24 2.4.5逻辑运算符25 2.4.6条件运算符26 2.4.7逗号运算符26 2.4.8取地址运算符和指针运算符27 2.4.9求字节数运算符27 2.4.10强制类型转换运算符27 2.4.11成员运算符27 2.4.12下标运算符28 2.4.13位运算符28 2.4.14函数调用运算符29 2.5表达式29 2.5.1算术表达式29 2.5.2赋值表达式29 2.5.3关系表达式30 2.5.4逻辑表达式30 2.5.5条件表达式30 2.6C语句31 实验32 练习34 第3章顺序结构35 3.1最简单的顺序结构C程序35 3.1.1指令36 3.1.2函数36 3.1.3语句36 3.1.4注释37 3.1.5显示字符串37 3.2变量、声明、赋值、输入/输出38 3.2.1变量的类型38 3.2.2声明38 3.2.3初始化与赋值39 3.2.4显示/输出40 3.2.5读入/输入41 3.3用printf函数和scanf函数格式化输出和输入42 3.3.1printf函数42 3.3.2scanf函数43 3.3.3易混淆的printf函数和scanf函数45 3.4字符的输入/输出46 3.4.1putchar函数46 3.4.2getchar函数47 实验48 练习49 第4章选择结构50 4.1if语句50 4.2switch语句52 实验55 练习56 第5章循环结构57 5.1while语句57 5.2dowhile语句59 5.3for语句61 5.3.1for语句的惯用法61 5.3.2在for语句中省略表达式62 5.4循环的嵌套及循环比较63 5.4.1循环的嵌套63 5.4.2几种循环的比较64 5.5退出循环64 5.5.1break语句64 5.5.2continue语句65 5.5.3goto语句66 实验67 练习68 第6章数组69 6.1数组概述69 6.2一维数组69 6.2.1一维数组的定义69 6.2.2一维数组的初始化70 6.2.3一维数组的引用70 6.3二维数组72 6.3.1二维数组的定义72 6.3.2二维数组的初始化73 6.3.3二维数组的引用74 6.3.4常量数组75 6.4字符数组76 6.4.1字符数组的定义76 6.4.2字符数组的初始化77 6.4.3引用字符数组中的元素77 6.4.4字符串78 6.4.5字符数组的输入/输出78 6.5处理字符串的函数79 实验83 练习84 第7章函数85 7.1函数的定义85 7.2函数调用及函数声明86 7.2.1函数调用86 7.2.2函数声明与函数原型87 7.2.3实际参数与形式参数89 7.3return语句和exit函数93 7.3.1return语句93 7.3.2exit函数93 7.4函数的嵌套和递归94 7.4.1函数的嵌套调用94 7.4.2函数的递归调用95 7.5程序结构97 7.5.1局部变量97 7.5.2全局变量99 7.5.3程序块与作用域99 7.5.4C程序的构建100 实验101 练习102 第8章指针104 8.1指针变量104 8.1.1定义指针变量104 8.1.2指针变量的引用105 8.2指针作为参数107 8.3指针作为返回值109 8.4指针的运算及与数组的关系110 8.4.1指针的算术运算和关系运算111 8.4.2指针和数组112 8.4.3指针和多维数组118 8.5通过指针引用字符串122 8.5.1字符串的引用方式122 8.5.2字符指针作函数参数122 8.5.3使用字符指针变量和字符数组的比较123 实验124 练习124 第9章结构体、共用体和枚举126 9.1结构体126 9.1.1结构体类型和结构体变量的定义126 9.1.2结构体变量的初始化128 9.1.3结构体变量的引用129 9.2结构体作为参数和返回值130 9.3嵌套的数组和结构体131 9.3.1嵌套的结构体131 9.3.2结构体数组132 9.4结构体指针135 9.4.1指向结构体变量的指针135 9.4.2指向结构体数组的指针136 9.4.3用结构体变量和结构体变量的指针作函数参数137 9.5用指针处理链表139 9.6共用体141 9.6.1共用体类型的定义和赋值141 9.6.2共用体的引用142 9.6.3共用体的特点143 9.7枚举145 实验146 练习147 第10章文件及其操作148 10.1C文件概述148 10.1.1文件的概念148 10.1.2文件名149 10.1.3文件的分类149 10.1.4文件缓冲区149 10.1.5文件类型指针149 10.2打开与关闭文件150 10.2.1用fopen函数打开数据文件150 10.2.2用fclose函数关闭数据文件151 10.3顺序读/写数据文件152 10.3.1向文件读/写字符152 10.3.2向文件读/写一个字符串153 10.3.3用格式化的方式读/写文件155 10.3.4用二进制方式读/写文件155 10.4随机读/写数据文件157 10.5文件读/写的出错检测158 实验158 练习159 第11章底层程序设计161 实验165 练习166 附录AASCII字符集167 附录BC语言运算符168 参考文献170