热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

C程序设计简明教程

中国水利水电出版社
    【作 者】黄能耿 黄致远 编著 【I S B N 】978-7-5170-8390-0 【责任编辑】石永峰 【适用读者群】本专通用 【出版时间】2020-02-27 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】248 【千字数】380 【印 张】15.5 【定 价】46 【丛 书】高等职业教育“十三五”规划教材(软件技术专业) 【备注信息】
图书详情

    本书是“Jitor实训丛书”中的一本,以软件行业对编程人才的需求为导向,以培养应用型和创新型人才为目标,以Visual C++ 6.0为平台,重点讲解C程序设计基础、数组、函数、指针、结构体等内容,最后以一个综合项目结束。本书面向初学者,以程序设计的基本主线为重点,深入讲解程序设计的内涵,并将软件企业中的开发流程、编码规范等职业素养有机地融入到教材中。

    本书的特点是提供了一个在线的Jitor校验器软件(下载地址为http://ngweb.org/),提供了124个Jitor实训项目和38个Jitor综合实训项目,读者可以在Jitor校验器的指导下一步步地完成实训任务,每完成一步都提交给Jitor校验器检查,并实时得到通过或失败的反馈信息,校验通过后才能进入下一步操作。Jitor校验器还会将成绩上传到服务器,让教师实时掌握学生的实训进展情况。此外,本书还针对C的重点和难点提供了20个微课。

    本书是C语言的基础教程,既可作为高等职业院校的教材,也可作为应用型本科、中等职业院校、非学历培训机构的教材,还可供自学者使用。

    本书中的162个Jitor实训项目也可配合其他教材使用。

    本书根据高等职业教育的特点,结合作者多年教学改革和应用实践经验编写而成。全书遵循项目导向的理念,在内容上做到简而精,在要求上实现高而严。本书不求面面俱到,重点和难点会详细讲解,并通过Jitor校验器指导读者反复练习,通过动手做让学习更轻松、理解更深刻、记忆更久远。

    本书的最大特点是采用了作者开发的Jitor实训平台(见表2)。

    表2 Jitor实训平台功能介绍

    Jitor实训平台是信息技术大类专业课程(C、C++、Java、Python、MySQL和SQL Server等)的实训教学平台,提供实训项目供教师选用。每门课程提供100~200个实训项目,对学生编写的代码和运行结果进行实时评价,实时监测全班学生的实训进展情况。

    Jitor实训平台下载地址为http://ngweb.org/,包括Jitor校验器和Jitor管理器的入口地址。

    教师容易使用,一步一步地教

    根据教学进度,在Jitor管理器中选择合适的Jitor实训项目发布给学生,要求学生在指定的时间内完成。可以安排在实训课的上课时间,也可以安排在课前课后时间里完成,教师可以实时掌握每位学生每个步骤的成功或失败情况。

    实训项目的每个步骤都有实训指导内容,详细描述了该步骤的要求。教师只要布置好实训,Jitor校验器就会自动地一步一步教学生如何去完成,并检查完成的效果。 学生乐于学习,一关一关地学

    每个实训项目由若干步骤组成,就像通关游戏一样,每个步骤如同关卡,每通过一个关卡就能得到一定的分数,如果通关失败,则倒扣1分。只要通过所有关卡,就能得到及格以上分数,如果想得高分,就要尽量避免失败。

    学生按照每一关卡的要求进行编程操作,完成后提交给Jitor校验器检查,成功通关并得到分数后才能进入下一个关卡。学生只需一关一关地学,就能学到编程技能。

    本书每个章节都有代码实例,提供了162个在线Jitor实训项目,供读者选择使用;最后一章是“综合项目”,综合运用本书知识完成一个学生成绩管理系统的开发。

    本书特点如下:

    (1)实例:本书包含大量实例,实例简明扼要、容易理解。

    (2)实训:所有实例都有配套的实训,通过Jitor校验器在线使用,实时反馈结果。

    (3)综合实训:每章结尾都有一些综合实训,测试读者综合运用所学知识的能力。

    (4)综合项目:最后一章是一个综合性项目,可以安排在单独的课程设计专用周中完成。

    (5)微课:针对C语言的重点和难点提供了20个微课。

    本书遵循高职学生的认知和技能形成规律,使用通俗易懂的语言,配合数量众多的实例,由易到难、由浅入深、循序渐进地介绍各个知识点,通过大量的Jitor实训项目进行验证和巩固,并通过每章结尾的综合实训进行综合练习。在最后一章的综合项目中进行全面综合运用,将知识融于形象的案例中,提高学习的兴趣和效果。

    本书面向初学者,起点低、无门槛,不需要任何编程基础知识,高中生就能学习。读者学完本书后,可以阅读更多的C语言相关书籍,进一步提高编程水平。

    C语言是C++的子集,因此本书大部分内容与本丛书中的《C++程序设计简明教程》是相同的,不同的有输入和输出、动态内存管理和文件处理。

    本书共10章,教师可以根据学生情况和教学安排来组织教学内容(见表3),如果课时不够可以跳过某些内容。

    表3 课时安排建议

    章 课时

    第1章 C语言概述 4

    第2章 C语言基础 8

    第3章 程序结构和流程控制 10

    第4章 数组 10

    第5章 函数 10

    第6章 编译预处理 2

    第7章 指针与引用 10

    第8章 枚举和结构体 4

    第9章 文件处理 2

    第10章 综合项目(课程设计) 专用周

    合计 60

    本书提供的课件、软件等相关资源可以从本书主页http://ngweb.org/下载。

    本书由无锡职业技术学院的黄能耿和无锡赛博盈科科技有限公司的黄致远共同编写,其中黄致远编写100千字,其余部分由黄能耿编写。本书由无锡职业技术学院的刘德强副教授主审。Jitor实训平台由黄能耿研发,Jitor实训项目由黄致远制作,全书由黄能耿统稿。在本书编写过程中编者得到单位领导和同事的大力支持和帮助,在此表示衷心感谢。

    由于编者水平所限,加之时间仓促,书中不足甚至错误之处在所难免,恳请读者批评指正。

    Jitor实训丛书使用说明
    前言

    第1章 C语言概述 1
    1.1 为什么学C语言 1
    1.2 安装VC++ 6.0开发软件 2
    1.3 体验C语言 2
    1.3.1 体验C语言程序和Jitor校验器 2
    1.3.2 Jitor校验器的使用 7
    1.3.3 C语言的输入和输出 10
    1.3.4 C程序的结构 12
    1.3.5 C程序的开发过程 15
    1.3.6 C工作空间和项目 15
    1.4 常见问题 16
    1.4.1 VC++ 6.0的安装 16
    1.4.2 VC++ 6.0的使用 16
    1.4.3 VC++ 6.0的项目和文件 17
    1.4.4 编程时遇到的问题 18
    1.5 常用资源 19
    1.6 综合实训 19
    第2章 C语言基础 20
    2.1 C语言的基本要素 20
    2.1.1 关键字 20
    2.1.2 标识符 20
    2.1.3 分隔符 21
    2.1.4 代码注释 21
    2.2 数据类型 21
    2.3 变量和常量 22
    2.3.1 变量 22
    2.3.2 字面常量 24
    2.3.3 const常量 26
    2.3.4 中文字符 27
    2.3.5 程序调试:变量的查看 28
    2.4 运算符和表达式 29
    2.4.1 算术运算符和赋值运算符 29
    2.4.2 自增、自减运算符 30
    2.4.3 关系运算符和关系表达式 30
    2.4.4 逻辑运算符和逻辑表达式 31
    2.4.5 逻辑运算和关系运算的应用 31
    2.4.6 位运算符与位运算表达式 33
    2.4.7 复合赋值运算符 34
    2.4.8 数据类型转换 34
    2.4.9 运算符的优先级 36
    2.5 简单的输入和输出 37
    2.5.1 数据输出 37
    2.5.2 数据输入 38
    2.5.3 数据格式控制 39
    2.6 综合实训 41
    第3章 程序结构和流程控制 42
    3.1 基本结构和语句 42
    3.1.1 程序的3种基本结构 42
    3.1.2 C程序的指令和语句 42
    3.2 分支语句 43
    3.2.1 if语句 43
    3.2.2 if语句的嵌套 47
    3.2.3 条件运算符和条件表达式 49
    3.2.4 switch语句 50
    3.2.5 实例详解(一):求给定年份和
    月份的天数 53
    3.2.6 代码命名和排版规范 56
    3.3 循环语句 57
    3.3.1 while循环语句 57
    3.3.2 do…while循环语句 58
    3.3.3 程序调试:循环的跟踪调试 59
    3.3.4 for循环语句 60
    3.3.5 循环语句的几种变化 61
    3.3.6 循环语句的嵌套 62
    3.3.7 实例详解(二):求π的近似值 63
    3.3.8 实例详解(三):斐波那契数列 64
    3.4 控制语句 64
    3.4.1 break语句 64
    3.4.2 continue语句 66
    3.4.3 语句标号和goto语句 66
    3.4.4 exit()和abort()函数 67
    3.4.5 实例详解(四):求自然对数的底 e
    的近似值 68
    3.4.6 实例详解(五):输出素数表 68
    3.4.7 实例详解(六):百钱买百鸡问题 70
    3.5 综合实训 72
    第4章 数组 73
    4.1 一维数组 73
    4.1.1 一维数组的定义和使用 74
    4.1.2 一维数组的最大值、最小值和
    平均值 75
    4.1.3 一维数组的逆序交换 76
    4.1.4 程序调试:一维数组的跟踪调试 77
    4.1.5 实例详解(一):冒泡排序法 77
    4.1.6 实例详解(二):选择排序法 79
    4.1.7 实例详解(三):擂台排序法 80
    4.2 二维数组 82
    4.2.1 二维数组的定义和使用 84
    4.2.2 二维数组的平均值 84
    4.2.3 实例详解(四):二维数组的
    转置 85
    4.3 字符数组 86
    4.3.1 字符数组和字符串 86
    4.3.2 字符串处理函数 90
    4.4 综合实训 91
    第5章 函数 93
    5.1 函数概述 93
    5.1.1 使用C库函数 93
    5.1.2 使用自定义函数 94
    5.1.3 函数返回值 96
    5.1.4 无返回值的函数 97
    5.1.5 主函数的形式 99
    5.1.6 函数原型说明 99
    5.1.7 程序调试:函数的跟踪调试 102
    5.2 函数调用 102
    5.2.1 传值调用—实参与形参的关系 102
    5.2.2 嵌套调用—杨辉三角 103
    5.2.3 递归调用—阶乘 105
    5.3 函数参数与数组 106
    5.3.1 数组元素作为函数参数 106
    5.3.2 一维数组作为函数参数 107
    5.3.3 二维数组作为函数参数 109
    5.4 变量的存储类型 111
    5.4.1 函数与源代码文件 111
    5.4.2 作用域 114
    5.4.3 动态变量与静态变量 116
    5.4.4 局部变量与全局变量 118
    5.4.5 外部变量 120
    5.4.6 全局变量与静态全局变量 121
    5.4.7 声明和定义的区别 122
    5.4.8 寄存器变量 123
    5.5 内联函数 124
    5.6 参数默认值 124
    5.7 综合实训 125
    第6章 编译预处理 126
    6.1 宏定义指令 126
    6.1.1 不带参数的宏定义 126
    6.1.2 带参数的宏定义 128
    6.2 文件包含指令 129
    6.2.1 包含系统头文件 129
    6.2.2 包含自定义头文件 129
    6.2.3 文件包含的嵌套 130
    6.3 条件编译指令 131
    6.3.1 条件编译 131
    6.3.2 条件编译与文件包含 132
    6.3.3 实例详解:文件包含与条件
    编译 133
    6.4 综合实训 134
    第7章 指针与引用 136
    7.1 指针变量 136
    7.1.1 指针变量与普通变量 137
    7.1.2 指针变量与一维数组 139
    7.1.3 指针变量的运算 141
    7.1.4 指针指向的值的运算 142
    7.1.5 指针运算的优先级 143
    7.1.6 程序调试:变量、指针与内存 144
    7.2 指针与数组 147
    7.2.1 一维数组与指针 147
    7.2.2 二维数组与指针 149
    7.2.3 字符数组与字符指针 150
    7.3 指针与函数参数 152
    7.3.1 传指针调用—指针变量作为
    函数参数 152
    7.3.2 一维数组与指针作为函数参数 154
    7.3.3 字符串复制函数 156
    7.4 指针数组与数组指针 157
    7.4.1 指针数组—每个元素都是指针 157
    7.4.2 数组指针—指向数组的指针 159
    7.5 指针函数与函数指针 161
    7.5.1 指针函数—返回指针值的函数 161
    7.5.2 函数指针—保存函数地址的
    指针 163
    7.5.3 实例详解(一):通用求定积分
    函数 166
    7.6 动态内存管理 168
    7.6.1 动态内存分配 168
    7.6.2 实例详解(二):一维数组的
    动态管理 171
    7.6.3 实例详解(三):二维数组的
    动态管理 173
    7.7 引用类型变量和const的指针 174
    7.7.1 引用类型变量 174
    7.7.2 传引用调用—引用变量作为
    函数参数 175
    7.7.3 const的指针 176
    7.8 综合实训 177
    第8章 枚举和结构体 179
    8.1 枚举类型 179
    8.1.1 枚举类型的使用 179
    8.1.2 枚举变量的类型转换、输入
    和输出 181
    8.2 结构体类型 182
    8.2.1 结构体类型的使用 183
    8.2.2 结构体变量的输入和输出 185
    8.2.3 结构体指针 187
    8.2.4 结构体作为函数参数 189
    8.3 结构体的典型应用—链表 192
    8.3.1 链表的基本操作 193
    8.3.2 程序调试:内存中的链表 196
    8.3.3 清空链表 197
    8.3.4 查找节点 197
    8.3.5 删除节点 198
    8.3.6 按序插入节点 199
    8.4 综合实训 201
    第9章 文件处理 202
    9.1 概述 202
    9.1.1 文件名 202
    9.1.2 文件类型 202
    9.2 文件的打开和关闭 202
    9.2.1 文件指针 202
    9.2.2 文件的打开 203
    9.2.3 文件的关闭 203
    9.3 文件的读写 204
    9.3.1 读取文本文件 204
    9.3.2 写入文本文件 205
    9.3.3 复制文本文件 205
    9.3.4 格式化读写文件 206
    9.3.5 复制二进制文件 209
    9.4 文件操纵 209
    9.4.1 删除文件 209
    9.4.2 文件改名 210
    9.5 综合实训 210
    第10章 综合项目 212
    10.1 学生管理系统 212
    10.1.1 需求分析 212
    10.1.2 技术选型和功能设计 212
    10.1.3 程序结构设计 213
    10.1.4 项目实现 213
    10.1.5 项目完整源代码 214
    10.1.6 开发过程总结 226
    10.2 自定义管理系统 226
    参考文献 227
    附录A ASCII码表 228
    附录B 运算符与优先级 229
    附录C 输入输出控制符 230
    附录D 常用库函数 231
    附录E C代码规范 234
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册