|
前言 随着信息技术的发展,计算机在社会中的应用可以说是无孔不入。20世纪最重要的发明——计算机正在改变我们的学习、工作和生活方式。大家耳熟能详的WPS、Office办公软件,Windows、Mac
OS、安卓操作系统,百度、淘宝等网站,都离不开编程。编程赋予了计算机多种多样的功能,使计算机成为人们的学习工具、工作助手和娱乐伙伴。如果没有编程,就没有软件产生;没有软件,计算机就没有这么神通广大。 面对当今极速发展的信息技术,社会对人才的培养提出了更高的要求,迫切需要加强高等学校程序设计的教学工作。因此,当代大学生非常有必要了解计算机工作原理,掌握计算机编程思想和方法,提高用计算机解决问题的能力。通过学习C程序设计,学生不仅可以掌握C语言语法和编程技巧,而且可以提高逻辑思维和计算思维能力,可以更好地适应信息社会的需求。 本书由教学经验丰富的教师编写。沈丽容老师编写了第一、二、三、四、八章,章春芳老师编写了第五、六、七、九章。在本书的编写过程中参考了大量纸质和网上的文献资料,我们力求在参考文献中列全,对相关文献的作者,也在此表示衷心的感谢。 由于时间仓促和编者水平有限,书中欠妥和不足之处,恳请读者批评指正。 编者 2015年6月 目录 第一章引言1 1.1学习编程有什么用1 1.2C语言的发展历程1 1.3C语言的特点2 1.4如何学习C语言3 1.5Turbo C 2.0简介3 1.6Visual C++6.0简介9 习题一14 第二章顺序结构程序设计16 2.1C源程序结构16 2.2最简单的C程序17 2.3整型数据19 2.3.1整型常量表示形式与定义19 2.3.2整型变量与整型常量的类型19 2.3.3整型变量定义20 2.3.4整型变量赋值21 2.3.5整型数据输入24 2.3.6整型数据输出26 2.3.7整型数据的运算28 2.3.8整型数据编程30 2.4实型数据35 2.4.1实型常量36 2.4.2实型变量36 2.4.3实型变量赋值37 2.4.4实型数据输入37 2.4.5实型数据输出39 2.4.6实型数据编程40 2.5字符型数据43 2.5.1字符常量44 2.5.2字符串常量45 2.5.3字符变量定义47 2.5.4字符变量赋值47 2.5.5字符型数据输入48 2.5.6字符型数据输出48 2.5.7字符型数据编程49 2.6各种类型数据之间的混合运算51 2.6.1自动类型转换51 2.6.2强制类型转换53 2.7C语言的运算符、表达式和语句54 2.8逗号运算符和逗号表达式55 习题二56 第三章选择结构程序设计61 3.1关系运算符和关系表达式61 3.2逻辑运算符和逻辑表达式62 3.3if语句65 3.3.1最基本的if语句65 3.3.2ifelse语句67 3.3.3ifelse if语句69 3.3.4if语句的嵌套74 3.4switch语句79 3.5条件运算符和条件表达式86 3.6编程实战88 习题三94 第四章循环结构程序设计98 4.1while语句98 4.2dowhile语句104 4.3for语句109 4.4goto语句113 4.5循环嵌套114 4.6break语句115 4.7continue语句117 4.8编程实战118 习题四125 第五章数组130 5.1一维数组的定义和应用130 5.1.1一维数组的定义131 5.1.2一维数组元素赋值131 5.2二维数组的定义和应用138 5.2.1二维数组的定义138 5.2.2二维数组元素赋值138 5.3字符数组的定义和应用143 5.3.1字符数组的定义及初始化143 5.3.2字符数组的输入和输出145 5.3.3字符串处理函数149 5.4编程实战155 习题五161 第六章函数168 6.1函数的分类和定义169 6.1.1函数的分类169 6.1.2函数的定义170 6.2函数的返回值和参数172 6.2.1函数的返回值172 6.2.2函数的参数174 6.2.3参数的传递方式180 6.3嵌套调用183 6.3.1一般的嵌套调用184 6.3.2递归调用187 6.4变量的作用域190 6.4.1变量的作用域190 6.4.2变量的存储类别198 6.5函数的作用域202 6.5.1外部函数202 6.5.2内部函数203 6.6编程实战203 习题六208 第七章指针217 7.1变量与指针217 7.1.1地址与指针217 7.1.2指向变量的指针变量218 7.1.3指针变量作函数参数223 7.2数组与指针226 7.2.1指针与一维数组的联系226 7.2.2指针与二维数组的联系230 7.2.3指向数组的指针作函数参数234 7.3字符串与指针238 7.3.1字符指针变量的定义与初始化238 7.3.2字符指针作函数参数242 7.4函数与指针245 7.4.1指向函数的指针245 7.4.2返回指针的函数246 7.5指针数组和多级指针248 7.5.1指针数组248 7.5.2多级指针250 7.5.3main函数的形参252 7.6编程实战253 7.7指针小结258 习题七258 第八章结构体与共用体267 8.1结构体概述267 8.1.1结构体类型的定义267 8.1.2结构体变量的定义269 8.1.3结构体变量的引用269 8.1.4结构体变量的赋值和初始化270 8.2结构体数组270 8.3指向结构体的指针272 8.3.1指向结构体的指针变量的定义272 8.3.2利用结构体指针变量引用成员273 8.3.3用结构体类型作函数参数274 8.4用结构体处理链表275 8.4.1链表概述275 8.4.2链表的建立与输出276 8.4.3链表的插入278 8.4.4链表的删除279 8.4.5链表的综合操作280 8.5共用体283 8.5.1共用体类型及变量的定义283 8.5.2共用体变量的引用284 8.6枚举类型286 8.7用typedef定义类型别名287 习题八288 第九章预处理命令、位运算与文件290 9.1预处理命令290 9.1.1宏定义290 9.1.2文件包含294 9.2位运算295 9.2.1位运算符295 9.2.2位域299 9.3文件302 9.3.1文件和文件指针302 9.3.2文件的打开与关闭303 9.3.3文件的读写305 9.3.4文件的定位309 9.3.5文件的检测311 习题九311 综合训练317 附录一运算符及其优先级顺序表326 附录二标准ASCII码表328 附录三C语言常用库函数一览表329 习题答案336 参考文献340 |
|
| ||||||
|
| ||||||
|
| ||||||
|
| ||||||