高等教育 > 计算机基础教育

C语言程序设计(第二版)

书号:9787113308179 套系名称:普通高等教育计算机类课程系列教材

作者:李聪 江伟 胡烈艳 出版日期:2024-02-01

定价:49.80 页码 / 开本: /16

策划编辑:徐海英 责任编辑:翟玉峰 包宁

适用专业:计算机基础教育 适用层次:高等教育

最新印刷时间:2024-02-01

资源下载
教学课件(暂无) 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书为普通高等教育计算机类课程系列教材之一,根据高等学校学生的特点,按照从基础性、实用性出发的原则编写而成,内容包括 C 语言及算法概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,指针,结构体和枚举类型,文件等。本书深入浅出,案例题型丰富,一些题目来自实际生活,有利于培养学生利用编程解决实际问题的能力,提高学生对 C 语言的综合实践能力。
    
    
    本书适合作为高等学校 C 语言程序设计课程的教材,也可作为全国计算机等级考试(二级)的培训教材,还可作为对 C 语言程序设计感兴趣的读者的自学用书。
    ?
  •        教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑,计算机技术是当今世界上发展极快、应用极广泛的科学技术之一。为了进一步适应人才培养的新形势,加快推进教育数字化,推动计算机教育的变革和创新,坚持为党育人、为国育才的原则,满足应用型本科及高职高专学生学习计算机程序设计的需要,特编写了本书。
          C语言是当今软件开发领域广泛使用的计算机语言之一 , 它既具备高级语言的特性,又具有直接操纵计算机硬件的能力,并以其丰富灵活的控制和数据结构、简洁而高效的语句表达、清晰的程序结构和良好的可移植性而拥有大量的使用者。目前,各高校理工科专业大多开设了 C 语言程序设计课程。同时,C 语言程序设计也是全国计算机等级考试(二级)科目之一。
           在课程改革基础上,结合读者反馈意见,以及线上线下混合式教学的需求,编者对教材的第一版进行了修订。第二版保持了第一版内容的组织结构,修订了教材中的引例和示例,以及练习和习题,进一步强化以程序设计为主线,以案例和问题引入内容,坚持加强编程实践的教学设计理念。本书是湖北高校一流本科课程(线上线下混合式一流课程)①配套教材。全书共分 10 章,包括 C 语言及算法概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,指针,结构体和枚举类型,文件等内容。书中列举了学生容易出现问题的典型例题及实际生活中的题目,以便于学生深入掌握重点内容,提高实践操作技能。本书体系结构安排合理、重点突出、难度适中,在语言叙述上注重概念清晰,适应计算机教学实际需要。
           本书各章均附有习题,供读者练习思考,以加深对书中内容的理解。另外,书中重点和难点内容均已录制成视频,读者只需扫描书中对应位置的二维码,便可以进行在线学习。同时,本书还同步推出了配套的实验教材《C 语言程序设计实验指导与习题集》(第二版)(李聪、朱倩、张晓芳主编),把 C 语言程序设计的方法融入实践环节。本书具体编写分工如下 : 第 1、2 章由张晓芳编写,第 3、4 章由朱倩编写,第 5、9 章由江伟编写,第 6、8 章由胡烈艳编写,第 7 章由李聪编写,第 10 章由熊军编写。聂玉峰、朱倩、江伟、曾志华、李聪录制讲解视频。全书由李聪主持制订编写提纲并负责统稿,聂玉峰主审。
           在本书的编写过程中,余正红、周凤丽、李庆、邓娟、周冰、杨艳霞、刘永真、李雪燕等老师提出了许多宝贵意见,在此表示衷心感谢 !
           由于时间仓促,编者水平有限,书中难免存在疏漏和不妥之处,恳请广大专家、读者批评指正。
            
    
            编?者
    
           2023 年 12 月
    ?
  • 第 1 章?C 语言及算法概述 1
    1.1 C 语言的诞生与发展 1
    1.2 C 语言的特点 2
    1.3 C 语言的基本结构 3
    1.4 C 语言程序的开发过程 5
    1.5?算法 10
    1.5.1?算法概述 10
    1.5.2?算法的特征和评价 10
    1.5.3?算法的表示方法 11
    习题 14
    第 2 章?数据类型、运算符与表达式 15
    2.1?数据类型 15
    2.2?常见符号 16
    2.3?常量 17
    2.3.1?整型常量 17
    2.3.2?实型常量 18
    2.3.3?字符常量 18
    2.3.4?字符串常量 19
    2.3.5?宏常量 19
    2.4?变量 20
    2.4.1?变量的定义与初始化 20
    2.4.2?使用变量时的注意事项 21
    2.5?常用运算符及表达式 23
    2.5.1?运算符的优先级与结合性 23
    2.5.2?算术运算符 23
    2.5.3?自增、自减运算符 24
    2.5.4?赋值运算符 26
    2.5.5?其他运算符 27
    2.5.6?数据类型转换 28
    习题 30
    第 3 章?顺序结构程序设计 32
    3.1 C 语句概述 32
    3.2 C 语言中数据的输入与输出 33
    3.2.1?数据输入 / 输出的概念及在 C 语言中的实现 33
    3.2.2?格式输出函数——printf() 34
    3.2.3?格式输入函数——scanf() 37
    3.2.4?字符输出函数——putchar() 40
    3.2.5?字符输入函数——getchar() 41
    3.3?顺序结构程序设计举例 41
    习题 44
    第 4 章?选择结构程序设计 47
    4.1?关系运算 47
    4.1.1?关系运算符 47
    4.1.2?关系表达式 48
    4.2?逻辑运算 48
    4.2.1?逻辑运算符 48
    4.2.2?逻辑表达式 49
    4.3 if 语句 51
    4.3.1 if 语句的一般形式 51
    4.3.2 if 语句的嵌套 54
    4.4?条件运算符与条件表达式 56
    4.5 switch 语句 57
    4.6?选择结构程序设计举例 60
    习题 62
    第 5 章?循环结构程序设计 66
    5.1 概述 66
    5.2 while 语句 66
    5.3 do…while 语句 68
    5.4 for 语句 70
    5.5 break 和 continue 语句 73
    5.5.1 break 语句 73
    5.5.2 continue 语句 74
    5.6 循环嵌套 75
    5.7 循环结构程序设计举例 76
    习题 79
    第 6 章?数组 86
    6.1 一维数组 86
    6.1.1 一维数组的定义 86
    6.1.2 一维数组元素的引用 87
    6.1.3 一维数组元素的初始化 88
    6.1.4 一维数组的常见操作 89
    6.1.5 一维数组的应用 91
    6.2 二维数组 92
    6.2.1 二维数组的定义 92
    6.2.2 二维数组元素的初始化 93
    6.2.3 二维数组的引用 94
    6.3 字符数组 96
    6.3.1 字符串 96
    6.3.2 字符数组的定义和赋值 96
    6.3.3 字符数组的输入 / 输出 97
    6.3.4 常见字符串处理函数 100
    6.3.5 二维字符数组 103
    习题 104
    第 7 章?函数 107
    7.1 函数及其作用 107
    7.2 函数的分类 108
    7.3 函数的定义 110
    7.3.1 函数定义的一般形式 110
    7.3.2 函数的参数 111
    7.3.3 函数的返回值与 return 语句 112
    7.4 函数调用 114
    7.4.1 函数调用的一般形式 114
    7.4.2 函数调用方式 114
    7.4.3 函数的声明 115
    7.5 函数的嵌套调用 116
    7.6 函数的递归调用 118
    7.7 数组作函数参数 121
    7.7.1 数组元素作为函数实参 122
    7.7.2 数组名作函数参数 123
    7.8 局部变量和全局变量 126
    7.8.1 局部变量 127
    7.8.2 全局变量 128
    7.9 变量的存储类别 130
    7.9.1 静态存储方式与动态存储方式 131
    7.9.2 自动变量 131
    7.9.3 外部变量 131
    7.9.4 寄存器变量 132
    7.9.5 静态变量 133
    7.9.6 存储类型总结 135
    习题 136
    第 8 章?指针 142
    8.1 地址与指针的概念 142
    8.1.1 地址的基本概念 142
    8.1.2 内存的访问方式 142
    8.2 指针变量 143
    8.2.1 指针变量的定义 143
    8.2.2 指针变量的引用 144
    8.2.3 指针变量与函数 146
    8.3 指针与一维数组 151
    8.3.1 指向数组元素的指针 151
    8.3.2 通过指针引用数组元素 152
    8.3.3 数组名作函数参数 154
    8.4 字符串与指针 157
    8.5 指针与二维数组 160
    8.5.1 指针与二维数组的关系 160
    8.5.2 指向一维数组的指针变量 161
    8.6 指针数组 162
    8.6.1 指针数组 162
    8.6.2 指向指针的指针 164
    习题 165
    第 9 章?结构体和枚举类型 168
    9.1 概述 168
    9.2 结构体类型的声明 169
    9.3 定义结构体变量 170
    9.3.1 结构体变量的定义 170
    9.3.2 结构体类型的嵌套定义 172
    9.3.3 结构体变量的初始化 173
    9.3.4 结构体变量的引用 174
    9.4 结构体数组 176
    9.4.1 结构体数组的定义 176
    9.4.2 结构体数组的初始化 177
    9.5 指向结构体类型变量的指针 179
    9.5.1 结构体指针变量的定义和初始化 179
    9.5.2 通过结构体指针变量引用结构变量成员 179
    9.5.3 指针变量作为结构成员 180
    9.5.4 指向结构体数组的指针 181
    9.5.5 向函数传递结构体变量的值 182
    9.6 枚举类型 185
    9.6.1 枚举类型的定义 185
    9.6.2 枚举变量的定义和使用 186
    习题 188
    第 10 章?文件 192
    10.1 文件概述 192
    10.2 文件类型指针 194
    10.3 文件的打开和关闭 195
    10.3.1 文件的打开(fopen() 函数) 195
    10.3.2 文件的关闭(fclose() 函数) 196
    10.4 文件读 / 写操作 197
    10.4.1 按字符读 / 写文件 197
    10.4.2 字符串读 / 写函数 199
    10.4.3 按数据块读 / 写文件 200
    10.4.4 按格式读 / 文件 203
    10.5 文件的随机读 / 写 203
    10.6 文件检测函数 206
    习题 206
    各章习题参考答案 209
    附录 237
    附录 A ASCII 码表 237
    附录 B?运算符的优先级和结合性 241
    附录 C?常用的 C 语言库函数 242
    附录 D C 语言中的关键字 245
    参考文献 246
    ?
  • 李聪,副教授,主要从事计算机网络和人工智能方面的研究,发表相关论文数篇,主持及参与多项校内和省级教研和精品课程建设项目。
    
    江伟,副教授,长期担任《C语言程序设计》《操作系统》《Java程序设计》《Android手机应用开发》等计算机专业基础课和专业必修课主讲教师。作为第一指导教师指导多位学生获得省级和国家级计算机软件开发和设计大赛获奖。
    
    胡烈艳,武汉城市学院信息工程学部教师,主要承担程序设计、数据结构、算法分析等相关课程的教学,省级一流课程“程序设计基“(Python)”主讲教师。参与多项省厅级和校级教科研项目,发表教科研论文多篇,授权发明专利5项,实用新型专利多项。
    
    ?
  • (1)是湖北高校一流本科课程(线上线下混合式一流课程)配套教材。
    (2)列举了学生容易出现问题的典型例题及实际生活中的题目,以便于学生深入掌握重点内容,提高实践操作技能。
    (3)书中重点和难点内容均已录制成视频,读者只需扫描书中对应位置的二维码,便可以进行在线学习。
    ?