《程序设计基础—C语言微课版》是参照全新计算机等级考试(二级C语言)教学大纲及ISO/IEC9899:1999 的新特性并根据高校全新C语言程序设计教学大纲要求编写而成。全书分为10 章,主要内容有程序设计基础理论和C程序的基本组成以及程序开发过程;C语言的基本数据类型、运算符、表达式、数据类型转换及标准的输入输出函数;C语言的基本语句和流程控制语句;数组、函数、指针的概念及用法;C语言的编译预处理功能:C语言结构体与共用体、C语言中文件的相关概念以及文件的各种操作方法;最后附录部分介绍了C程序设计的常用库函数、实验指导和全新模拟训练题。
本书既可以作为高等学校本科计算机C语言程序设计教材,也可以作为培养读者计算机编程能力和参加全国计算机等级考试(C语言)的自学参考书。
第1章 程序设计及C 语言简介 1
1.1 程序和程序设计的基本概念 1
1.2 算法与程序设计 1
1.2.1 算法的基本特征 2
1.2.2 算法的基本要素 3
1.2.3 算法描述的方法 3
1.2.4 程序设计原理和方法 4
1.3 C 语言简介 7
1.3.1 C 语言程序的基本结构及书写规则 7
1.3.2 C 语言的基本标识符 9
1.4 Visual C++ 2010 Express 集成开发环境 10
在线习题 15
第1章视频微课二维码 15
第2章 数据类型、运算符与表达式 16
2.1 C 语言的数据类型 16
2.2 整型常量与变量 16
2.2.1 常量与变量的概念 16
2.2.2 整型常量 17
2.2.3 整型变量 17
2.3 实型常量与变量 19
2.3.1 实型常量 19
2.3.2 实型变量 19
2.4 字符型常量与变量 21
2.4.1 字符常量 21
2.4.2 字符串常量 22
2.4.3 符号常量 22
2.4.4 字符型变量 23
2.5 赋值运算符和赋值表达式 24
2.6 算术运算符和算术表达式 25
2.6.1 C 语言运算符简介 25
2.6.2 算术运算符和算术表达式 25
2.6.3 复合赋值运算符及表达式 26
2.6.4 各类数值型数据之间的混合运算 27
2.6.5 自增与自减运算符 29
2.7 逗号运算符和逗号表达式 30
2.8 位运算符 31
2.8.1 位运算符和位运算 31
2.8.2 位运算赋值运算符 35
在线习题 35
第2章视频微课二维码 35
第3章 顺序结构程序设计 36
3.1 C语句概述 36
3.2 数据的输入/输出 38
3.2.1 字符输入/输出函数 39
3.2.2 格式输入/输出函数 40
3.3 程序举例 48
在线习题 50
第3章视频微课二维码 50
第4章 分支结构程序设计 51
4.1 关系运算符和关系表达式 51
4.1.1 关系运算符 51
4.1.2 关系表达式 52
4.2 逻辑运算符和逻辑表达式 53
4.2.1 逻辑运算符 53
4.2.2 逻辑表达式 54
4.3 if 语句以及用if 语句构成的分支结构 54
4.3.1 if 语句的两种基本形式 55
4.3.2 嵌套的if 语句 57
4.4 条件表达式构成的分支结构 60
4.5 switch 语句 61
在线习题 64
第4章视频微课二维码 64
第5章 循环结构程序设计 65
5.1 while 语句以及用while 语句构成的循环结构 65
5.1.1 while 循环的一般形式 65
5.1.2 while 循环的执行过程 66
5.2 do-while 语句以及用do-while 语句构成的循环结构 68
5.2.1 do-while 语句构成的循环结构 68
5.2.2 do-while 循环的执行过程 68
5.3 for 语句以及用for 语句构成的循环结构 71
5.3.1 for 语句构成的循环结构 71
5.3.2 for 循环的执行过程 71
5.3.3 有关for 语句的说明 72
5.4 break 语句和continue 语句在循环结构中的应用 74
5.4.1 break 语句 74
5.4.2 continue 语句 75
5.5 循环的嵌套 76
5.6 三种循环的比较 78
5.7 程序举例 78
在线习题 81
第5章视频微课二维码 81
第6章 数组与指针 82
6.1 一维数组 82
6.1.1 一维数组的定义和数组元素的引用 82
6.1.2 一维数组的初始化 84
6.1.3 一维数组程序举例 85
6.2 二维数组 88
6.2.1 二维数组的定义和数组元素的引用 88
6.2.2 二维数组的初始化方法 90
6.2.3 二维数组程序举例 91
6.3 字符数组和字符串 95
6.3.1 字符数组 95
6.3.2 字符串 95
6.3.3 字符串的输入输出 97
6.3.4 字符串处理函数 98
6.3.5 程序举例 101
6.4 指针型变量及其在数组中的应用 103
6.4.1 变量的地址和指针型变量的概念 103
6.4.2 指针型变量的定义和指针变量的基类型 104
6.4.3 给指针变量赋值 104
6.4.4 对指针变量的操作 105
6.4.5 指针在一维数组中的使用 107
6.4.6 二维数组的地址 110
6.4.7 指向二维数组的指针变量 111
6.4.8 指针数组的定义和应用 112
6.5 字符串和指针 115
6.5.1 单个字符串的处理方法 115
6.5.2 多个字符串的处理方法 117
6.5.3 字符串程序举例 118
6.6 指向指针的指针 122
在线习题 124
第6章视频微课二维码 124
第7章 函数与指针 125
7.1 函数的定义 125
7.2 函数的参数和函数的值 127
7.2.1 形式参数和实际参数 127
7.2.2 函数的返回值 129
7.3 函数的调用 130
7.3.1 函数的简单调用 130
7.3.2 函数的嵌套调用 132
7.3.3 函数的递归调用 133
7.4 指针变量在函数中的应用 137
7.4.1 指针变量作为函数参数 137
7.4.2 数组作为函数参数 138
7.4.3 返回指针值的函数 141
7.4.4 指向函数的指针 142
7.5 变量的作用域 143
7.5.1 局部变量 144
7.5.2 全局变量 145
7.6 变量的存储类别 146
7.6.1 动态存储方式与静态存储方式 146
7.6.2 auto 变量 147
7.6.3 用static 声明局部变量 147
7.6.4 register 变量 148
7.6.5 用extern 声明外部变量 149
在线习题 150
第7章视频微课二维码 150
第8章 编译预处理. 151
8.1 宏定义 151
8.1.1 无参宏定义 151
8.1.2 带参宏定义 153
8.2 文件包含 156
在线习题 157
第8章视频微课二维码 157
第9章 结构体与共用体 158
9.1 结构体类型的定义 158
9.2 结构体类型变量 160
9.2.1 结构体变量的定义 160
9.2.2 结构体变量的引用. 161
9.2.3 结构体变量的初始化 163
9.2.4 结构体变量的输入与输出 163
9.3 结构体类型数组 164
9.3.1 结构体数组的定义 164
9.3.2 结构体数组的初始化 165
9.3.3 结构体数组的引用 165
9.4 结构体类型指针 167
9.4.1 指向结构体变量的指针 167
9.4.2 指向结构体数组的指针 168
9.5 结构体与函数 170
9.5.1 结构体变量作为函数参数 170
9.5.2 指向结构体变量的指针作为函数参数 171
9.5.3 函数的返回值为结构体类型 173
9.6 链表 174
9.6.1 链表概述 174
9.6.2 处理动态链表所需的函数 176
9.6.3 链表的基本操作 177
9.7 共用体 185
9.7.1 共用体类型与共用体变量 185
9.7.2 共用体变量的引用 186
9.7.3 共用体变量的应用 188
9.8 枚举类型 189
9.9 用typedef 定义类型 191
在线习题 193
第9章视频微课二维码 193
第10章 文件 194
10.1 文件概述 194
10.1.1 数据文件 194
10.1.2 文件的存取方式 195
10.1.3 文件指针类型 195
10.1.4 文件操作的步骤 195
10.2 文件的打开与关闭 196
10.2.1 文件的打开(fopen 函数) 196
10.2.2 文件的关闭(fclose 函数) 197
10.3 文件的读写 198
10.3.1 字符读写函数fgetc 和fputc 198
10.3.2 字符串读写函数fgets 和fputs 200
10.3.3 数据块读写函数fread 和fwrite 201
10.3.4 格式化读写函数fscanf 和fprintf 202
10.4 文件的随机读写 204
10.4.1 文件定位 204
10.4.2 文件的随机读写 205
10.5 文件检测函数 205
在线习题 206
附录 207
附录Ⅰ 常用字符与ASCII 码对照表 207
附录Ⅱ Turbo C 常用库函数 208
附录Ⅲ C 语言实验指导 219
附录Ⅳ 全真模拟精选试卷实战演练 236
参考文献 237