温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
语言
实用教程
全国高等职业教育计算机类规划教材实例与实训教程系列 国家高职示范院校核心课程教材 C 语言实用教程 白羽 刘畅 刘苗苗 主编 袁鸿雁 刘辉 叶宾 胡艳梅 副主编 Publishing House of Electronics Industry 北京BEIJING 内 容 简 介 本书系统地介绍了 C 语言编程知识,共分十二章,内容包括:C 语言概述,C 语言的数据描述与基本操作,C 语言的流程控制,数组,函数,编译预处理,指针,结构体、共用体和枚举类型,位运算,文件,库函数及应用,以及上机实训。本书注重基础,突出应用,采用案例式教学方法,先举实例,再对相关知识点进行讲解,然后通过“练一练”来总结、熟悉本讲知识点,最后通过“想一想”提出本次课的一些思考题,以便于读者能够更好地理解 C语言的知识,提高实际编程能力。本书易教易学、学以致用、注重能力,对初学者容易混淆的内容进行了重点提示和讲解。本书适合作为高职高专类各相关专业的程序设计教材,也适合编程开发人员培训、自学使用。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 C 语言实用教程白羽主编.北京:电子工业出版社,2009.2 全国高等职业教育计算机类规划教材实例与实训教程系列 ISBN 978-7-121-07969-6 I.C .白 .C 语言程序设计高等学校:技术学校教材.TP312 中国版本图书馆 CIP 数据核字(2009)第 005805 号 策划编辑:左 雅 责任编辑:左 雅 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:20.75 字数:531 千字 印 次:2009 年 2 月第 1 次印刷 印 数:4 000 册 定价:29.80 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。前 言 C 语言是近年来国内外广泛使用的计算机程序设计语言,也是软件开发人员必须掌握的一种语言。全国各类高等学校中普遍开设 C 语言课程,全国计算等级考试二级和三级中也包括 C语言的考试内容。本书作为 C 语言程序设计的入门与实用教材,共分 12 章。主要内容包括:第一章 C 语言概述,主要介绍程序设计的基本概念、C 语言的特点、C 语言程序的基本结构。第二章数据描述与基本操作,主要介绍 C 语言的基本数据类型、运算符和表达式。第三章 C 语言的流程控制,主要介绍结构化程序设计的三种结构的各种语句格式及功能。第四章数组,主要介绍一维数组、二维数组和字符数组及其应用。第五章函数,主要介绍函数定义及调用、变量和函数的作用域。第六章编译预处理,主要介绍宏定义、文件包含和条件编译三种命令的格式。第七章指针,主要介绍指针的概念、指针的定义、指针的运算,及指针与数组、指针与函数的关系。第八章结构体、共用体和枚举,主要介绍 C 语言的构造数据类型。第九章位运算,主要介绍各种位运算符及其应用。第十章文件,主要介绍文件的基本操作和使用规则。第十一章库函数及应用,主要介绍常用的字符屏幕函数及图形函数。第十二章上机实训,设计一个学生管理系统,可以针对 C 语言编程知识进行综合训练。本书注重基础,突出应用,采用案例式教学方法,先举实例,再对相关知识点进行讲解,然后通过“练一练”来总结、熟悉本讲知识点,最后通过“想一想”提出本次课的一些思考题,以便于读者能够更好地理解 C 语言的知识,提高实际编程能力。本书易教易学、学以致用、注重能力,对初学者容易混淆的内容进行了重点提示和讲解。本书配有电子课件,方便教师授课,并提供书中所有思考题、练习题和课后编程题的程序源代码,方便教师授课和读者自学。本书中的所有源程序均在 Turbo C 2.0 环境下通过上机调试。本书由白羽、刘畅、刘苗苗担任主编,袁鸿雁、刘辉、叶宾、胡艳梅担任副主编。其中第十章由白羽编写,第六、八、十一、十二章及附录 B 和 C 由刘畅编写,第一、二、九章由刘苗苗编写,第四章由袁鸿雁编写,第七章由刘辉编写,第三章由叶宾编写,第五章由胡艳梅编写。全书由刘畅负责统稿。本书荣获教育部“2009 年高职高专计算机教指委优秀教材”。由于作者水平有限,经验不足,编写时间仓促,书中难免存在许多缺点及不足之处,恳请广大读者批评指正。编 者 2008 年 12 月 序 20 世纪 90 年代以来,以计算机和通信技术为推动力的信息产业在我国获得前所未有的发展,全国各企事业单位对信息技术人才求贤若渴,高等教育计算机及相关专业毕业生供不应求。随后几年,我国各高等院校、众多培训机构相继开设计算机及相关专业,积极扩大招生规模,不久即出现了计算机及相关专业毕业生供大于求的局面。纵观近十年的就业市场变化,计算机专业毕业生经历了“一夜成名、求之不得”的宠幸,也遭遇了“千呼百应、尽失风流”的冷落。这个时代深深地镌刻着信息的烙印,这个时代是信息技术人才尽情展示才能的舞台。目前我国的劳动力市场,求职人数过剩,但满足企业要求的专业人才又很稀缺。这种结构性的人才市场供求矛盾是我国高等教育亟待解决的问题,更是“以人为本,面向人人”为目标的职业教育不可推卸的责任。电子工业出版社,作为我国出版职业教育教材最早的出版社之一,是计算机及相关专业高等职业教材重要的出版基地。多年来,我们一直在教材领域为战斗在职业教育第一线的广大职业院校教育工作者贡献着我们的力量,积累了丰富的职业教材出版经验。目前,计算机专业高等教育正处于发展中的关键时期,我们有义务、有能力协同全国各高等职业院校,共同探寻适合社会发展需要的人才培养模式,建设满足高等职业教育需求的教学资源这是我们出版“全国高等职业教育计算机类规划教材实例与实训教程系列”的初衷。关于本系列教材的出版,我们力求做到以下几点:(1)面向社会人才市场需求,以培养学生技能为目标。工学结合、校企结合是职业教育发展的客观要求,面向就业是职业教育的根本落脚点。本系列教材内容体系的制定是广大高职教育专家、一线高职教师共同智慧的结晶。我们力求教材内容丰富而不臃肿、精简而不残缺,实用为主、够用为度。(2)面向高职学校教师,以方便教学为宗旨。针对每个课程的教学特点和授课方法,我们为其配备相应的实训指导、习题解答、电子教案、教学素材、阅读资料、程序源代码、电子课件、网站支持等一系列教学资源,广大教师均可从华信教育资源网()免费获得。(3)面向高职学校学生,以易学、乐学为标准。以实例讲述理论、以项目驱动教学是本系列教材的显著特色。这符合现阶段我国高职学生的认知规律,能够提高他们的学习兴趣,增强他们的学习效果。这是一个崭新的开始,但永远没有尽头。高等职业教育教材的建设离不开广大职业教育工作者的支持,尤其离不开众多高等职业院校教师的支持。我们诚挚欢迎致力于职业教育事业发展的有识之士、致力于高等职业教材建设的有才之士加入到我们的队伍中来,多批评,勤点拨,广结友,共繁荣,为我国高等职业教育的发展贡献我们最大的力量!电子工业出版社高等职业教育分社 目 录 第一章 C 语言概述(1)第一讲 C 语言基础知识 (1)一、程序设计概述 (1)二、C 语言简介(4)练一练(11)想一想(11)本章小结(11)课后习题一(11)第二章 数据描述与基本操作(13)第二讲 基本数据类型、变量与常量(13)练一练(21)本讲小结(22)想一想(22)第三讲 运算符与表达式、数据类型的转换(22)一、算术运算与赋值运算(22)二、关系运算、逻辑运算与条件运算(26)三、圆括号运算符、逗号运算符和 sizeof 运算符(29)练一练(32)本讲小结(32)想一想(33)第四讲 数据的输入与输出(33)一、字符输入、输出函数(33)二、标准输入、输出函数(34)练一练(41)本讲小结(42)想一想(42)本章小结(43)课后习题二(43)第三章 C 语言的流程控制(46)第五讲 选择结构(46)一、基本 if 语句(46)二、标准 if 语句(48)三、复合 if 语句(49)四、if 语句的嵌套(51)五、switch 语句(52)练一练(53)本讲小结(55)第六讲 循环结构(55)一、while 语句(56)二、do-while 语句(57)三、for 循环语句(58)练一练(60)本讲小结(61)想一想(61)第七讲 循环语句的嵌套和流程转向语句(61)一、循环语句的嵌套(61)二、流程转向语句 goto 语句(64)三、break 语句(65)四、continue 语句(66)练一练(67)本讲小结(69)本章小结(69)课后习题三(69)第四章 数组(74)第八讲 一维数组(74)练一练(77)本讲小结(79)想一想(79)第九讲 二维数组(80)练一练(82)本讲小结(83)想一想(84)第十讲 字符数组与字符串(84)练一练(90)本讲小结(91)想一想(91)本章小结(91)课后习题四(92)第五章 函数(95)第十一讲 函数定义、调用、函数原型及函数返回语句(95)一、函数的定义、调用及函数返回语句(95)二、函数原型(101)练一练(102)本讲小结(104)想一想(104)第十二讲 函数的嵌套、递归调用及函数之间的数据传递(104)一、函数的嵌套调用(105)二、递归函数及递归调用(107)三、实参-形参之间的数据传递(值传递方式)(109)四、实参-形参之间的数据传递(数组作函数参数)(110)练一练(112)本讲小结(115)想一想(115)第十三讲 变量作用域及存储类型、内部函数和外部函数(115)一、作用域和生存期(116)二、局部变量的作用域和存储类型(117)三、全局变量的作用域、存储类型及多文件程序的运行(120)四、内部函数与外部函数(123)练一练(125)本讲小结(126)想一想(126)本章小结(126)课后习题五(127)第六章 编译预处理(132)第十四讲 宏定义、文件包含和条件编译(132)一、不带参数的宏定义(132)二、带参数的宏定义(134)三、文件包含处理(136)四、条件编译(138)练一练(139)想一想(141)本章小结(141)课后习题六(141)第七章 指针 (144)第十五讲 指针概述与指针赋值、指针的运算(144)一、指针概述与指针赋值(144)二、指针的运算(147)练一练(150)本讲小结(151)想一想(152)第十六讲 指针与数组(一)(152)一、一维数组元素的指针访问方式(152)二、二维数组元素的指针访问方式(154)三、字符指针与字符串(156)练一练(157)想一想(159)本讲小结(159)第十七讲 指针与数组(二)(159)一、指向一维数组的指针(160)二、指针数组(162)练一练(164)想一想(165)本讲小结(165)第十八讲 指针与函数(165)一、指针作为函数参数(165)二、指针函数(168)三、指向函数的指针(169)四、带参数的 main 函数及其应用(172)练一练(173)本讲小结(175)想一想(175)本章小结(175)课后习题七(176)第八章 结构体、共用体和枚举(181)第十九讲 结构体基础(181)练一练(188)本讲小结(189)想一想(189)第二十讲 结构体数组和指向结构体的指针(189)一、结构体数组及指向结构体变量的指针(189)二、指向结构体数组的指针(192)练一练(194)本讲小结(196)想一想(196)第二十一讲 结构体与函数(196)一、结构体类型的变量作为函数参数(196)二、结构体类型的变量作为函数的返回值(198)练一练(199)本讲小结(200)想一想(200)第二十二讲 链表(200)一、链表基础知识及动态分配函数(200)二、链表的操作(202)练一练(207)本讲小结(209)想一想(209)第二十三讲 共用体、枚举、ty