登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書

『簡體書』面向安全思维的程序设计基础(C语言版)

書城自編碼: 4128331
分類:簡體書→大陸圖書→教材研究生/本科/专科教材
作者: 罗敏、滕冲、王张宜、傅建明
國際書號(ISBN): 9787302683056
出版社: 清华大学出版社
出版日期: 2025-04-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 54.9

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
海洋明天的样子
《 海洋明天的样子 》

售價:HK$ 75.9
文弱书生:前现代中国的男性气概
《 文弱书生:前现代中国的男性气概 》

售價:HK$ 96.8
宿命之舞.完结篇
《 宿命之舞.完结篇 》

售價:HK$ 54.8
念遥遥 (口碑作者Further古言意难平之作)
《 念遥遥 (口碑作者Further古言意难平之作) 》

售價:HK$ 47.1
大清300年
《 大清300年 》

售價:HK$ 74.8
AI文案写作指南
《 AI文案写作指南 》

售價:HK$ 85.8
大学问·亦官亦商:明清时期天津的盐商与社会
《 大学问·亦官亦商:明清时期天津的盐商与社会 》

售價:HK$ 96.8
真希望父母能这样爱我
《 真希望父母能这样爱我 》

售價:HK$ 54.8

編輯推薦:
本书为战略性新兴领域“十四五”高等教育教材体系建设团队——新一代信息技术(网络空间安全)建设项目。本教材将实例化方法贯穿全书,通过教材实例代码引导学生了解程序设计过程中可能面临的攻击手段,掌握相应的防御方法,培养学生的安全思维和解决问题的能力。本教材不仅适合作为高校网络空间安全等相关专业学生程序设计基础教材,也适合其他专业的学生学习。
內容簡介:
本书共由9章组成,包括C程序设计简介、数据类型与运算、基本程序设计、程序流程控制、函数、数组、指针、复合数据类型和多文件项目。 來源:香港大書城megBookStore,http://www.megbook.com.hk
本书在系统介绍C 语言程序设计方法的基础上,以培养C 程序设计中的安全思维为出发点,将C语言程序设计中需要注意的安全问题贯穿全书每个章节,每章均设置了单独的小节介绍该章内容需要注意的安全缺陷,在全书的内容描述中也穿插了程序设计中需要关注的安全问题。另外本书贴近实际应用,以解决实际工程问题出发,设计了相关案例,并以一个大整数运算库为例,详细介绍了实际工程应用中所需的多文件项目工程的设计、编译、链接和测试方法。
本书可作为高校各专业的程序设计课程的教材,也可作为从事计算机相关工作的人员和业余自学人员参考用书。
目錄
第1章 C程序设计简介 1
1.1 计算机系统结构概述 1
1.1.1 计算机语言发展概述 2
1.1.2 C语言起源和发展历程 3
1.2 C语言特性和应用场景 4
1.2.1 C语言特性 4
1.2.2 C语言应用场景 5
1.3 C语言安全编程思考 5
1.3.1 安全思考 5
1.3.2 安全实现 6
1.4 简单实例 7
1.4.1 编写一个计算机程序的过程 7
1.4.2 实例 8
1.4.3 程序结构介绍 9
1.5 编译机制 11
1.5.1 编译与链接 11
1.5.2 进程在内存中的布局 14
1.6 编程规范 15
1.7 调试 18
1.7.1 错误和警告 18
1.7.2 C语言GDB介绍 19
1.7.3 C语言中的调试 21
1.8 本章小结 23
习题 23
第2章 数据类型与运算 24
2.1 变量和常量 24
2.1.1 关键字 24
2.1.2 变量 25
2.1.3 常量 26
2.1.4 作用域和生命周期 28
2.2 基本数据类型 30
2.2.1 数据类型 30
2.2.2 存储形式 32
2.2.3 字符型及其存储 33
2.3 运算 34
2.3.1 算术运算符和赋值运算符 34
2.3.2 关系运算符和逻辑运算符 36
2.3.3 位运算符 37
2.3.4 三目运算符 38
2.3.5 运算符优先级和求值顺序 39
2.4 数据类型转换 39
2.4.1 自动类型转换 40
2.4.2 强制类型转换 40
2.5 安全缺陷 41
2.5.1 自动数据类型转换的安全缺陷 41
2.5.2 运算的安全缺陷 42
2.6 本章小结 43
习题 43
第3章 基本程序设计 45
3.1 结构化程序设计 45
3.1.1 结构化程序设计的基本思想 46
3.1.2 三种基本结构 47
3.2 语句 48
3.2.1 表达式语句 48
3.2.2 读写字符 49
3.2.3 块语句 49
3.2.4 跳转语句 50
3.2.5 其他控制语句 50
3.3 控制台I/O 51
3.3.1 格式化控制台输出 51
3.3.2 格式化控制台输入 54
3.3.3 文件操作 56
3.4 程序原型 58
3.4.1 程序样式 58
3.4.2 程序书写风格 59
3.4.3 程序布局与规范 59
3.5 编写简单的C程序 59
3.6 本章小结 61
习题 61
第4章 程序流程控制 62
4.1 控制流程的条件判断 62
4.2 选择结构 64
4.2.1 if单/双分支语句 64
4.2.2 if多分支语句与if嵌套 66
4.2.3 switch多分支语句 68
4.3 循环结构 70
4.3.1 用while语句实现循环结构 70
4.3.2 用do-while语句实现循环结构 73
4.3.3 用for语句实现循环结构 75
4.3.4 嵌套循环结构 78
4.3.5 break语句和continue语句 80
4.4 程序流程控制的综合案例 84
4.5 流程控制的安全缺陷 85
4.6 本章小结 89
习题 89
第5章 函数 91
5.1 函数与程序模块化 91
5.1.1 函数的含义 91
5.1.2 程序的模块化 92
5.2 函数的定义 93
5.2.1 函数的分类 93
5.2.2 函数的声明 94
5.2.3 函数体的定义 95
5.3 函数调用 96
5.3.1 函数调用形式 96
5.3.2 函数的参数 98
5.3.3 函数的返回值 98
5.4 函数嵌套和递归 99
5.4.1 函数的嵌套调用 100
5.4.2 函数的递归调用 101
5.5 变量的作用域 106
5.5.1 局部变量 106
5.5.2 全局变量 107
5.5.3 同名变量 108
5.6 变量的存储类别 108
5.6.1 自动变量 109
5.6.2 寄存器变量 109
5.6.3 外部变量 110
5.6.4 静态变量 110
5.7 编译预处理 111
5.7.1 宏 112
5.7.2 条件编译 113
5.7.3 内部函数和外部函数 114
5.7.4 头文件 114
5.8 安全缺陷分析 117
5.9 本章小结 118
习题 118
第6章 数组 119
6.1 一维数组 119
6.1.1 一维数组的定义和初始化 119
6.1.2 一维数组的引用 121
6.1.3 一维数组元素的输入和输出 122
6.2 二维数组 128
6.2.1 二维数组的定义和存储 129
6.2.2 二维数组的初始化 130
6.2.3 二维数组常用操作 130
6.3 字符数组和字符串 134
6.3.1 用字符数组表示字符串 135
6.3.2 字符数组的初始化 136
6.3.3 字符数组元素的输入输出 137
6.3.4 字符串处理函数 139
6.4 数组作为函数的参数 144
6.5 数组的安全缺陷 147
6.5.1 数组越界访问内存 147
6.5.2 缓冲区溢出 148
6.5.3 未初始化数组 148
6.5.4 字符串的相关安全 149
6.5.5 数组名的相关安全 149
6.6 本章小结 149
习题 150
第7章 指针 152
7.1 指针的含义  152
7.1.1 变量地址 152
7.1.2 指针与地址 154
7.2 指针变量 156
7.2.1 指针变量的声明 156
7.2.2 指针变量的赋值和使用 156
7.2.3 指针变量形参 158
7.3 指针运算 159
7.3.1 指针赋值运算 160
7.3.2 指针算术运算 160
7.3.3 指针比较 161
7.3.4 指针转换 164
7.4 指针和数组 165
7.4.1 数组元素的指针表示 166
7.4.2 指针数组 169
7.4.3 字符串的指针表示 169
7.4.4 数组形参 171
7.5 指针与函数 173
7.5.1 函数指针 173
7.5.2 回调函数 175
7.5.3 返回指针的函数 176
7.6 动态内存分配 177
7.6.1 动态内存的管理 177
7.6.2 动态分配的数组 178
7.7 多级指针 179
7.7.1 多级指针与多维数组 180
7.7.2 数组指针 181
7.7.3 命令行参数 182
7.7.4 变长数组 183
7.8 指针的安全缺陷 186
7.8.1 指针非法访问 186
7.8.2 动态内存缺陷 188
7.9 本章小结 189
习题 190
第8章 复合数据类型 191
8.1 结构类型 191
8.1.1 定义结构类型 191
8.1.2 定义结构类型变量 192
8.1.3 结构类型变量的初始化 194
8.1.4 结构类型变量的引用 195
8.2 向函数传递结构 196
8.2.1 向函数传递结构类型成员 197
8.2.2 向函数传递全结构 197
8.3 结构数组 198
8.4 结构与指针 200
8.4.1 结构指针 201
8.4.2 结构类型的自引用定义 201
8.4.3 动态数据结构 201
8.4.4 链表的概念和分类 202
8.4.5 单链表的基本操作 203
8.5 位段 209
8.6 联合类型 210
8.6.1 定义联合类型变量 210
8.6.2 联合类型变量的引用 212
8.7 枚举类型 212
8.7.1 定义枚举类型变量 212
8.7.2 枚举类型变量的引用 213
8.8 typedef定义类型别名 213
8.9 安全缺陷分析 213
8.10 本章小结 214
习题 215
第9章 多文件项目 216
9.1 程序设计实例 216
9.1.1 程序设计样例概述 216
9.1.2 程序清单(部分) 217
9.2 多文件工程 224
9.2.1 模块划分 226
9.2.2 作用域 227
9.2.3 预处理器 228
9.2.4 多文件工程编译和链接 233
9.3 make和makefile 234
9.3.1 make简介 234
9.3.2 makefile文件的编写 235
9.4 软件测试 237
9.4.1 测试重点 238
9.4.2 测试用例 238
9.5 代码规范 239
9.5.1 变量、函数、文件命名规范 239
9.5.2 编码风格规范 240
9.6 编码中的安全思维 241
9.6.1 整数运算 241
9.6.2 分支与循环 243
9.6.3 数组 243
9.6.4 指针 244
9.6.5 复合数据类型 245
9.6.6 函数调用 245
9.7 本章小结 246
习题 246
附录A 转义字符 247
附录B ASCII码表 247
附录C 字符串函数 249
附录D 时间函数 250
附录E 随机数产生器函数 250
参考文献 251
內容試閱
语法是程序设计语言的基础,掌握必要的语法规则是编程的基本要求。但是,学习程序设计最重要的并不是语法,而是计算思维。编者一直认为对于大多数学生来说只要掌握了计算思维和程序设计的基本方法,学好了任何一门编程语言,那么在学习其他编程语言的时候,只需要大概了解一下语法,就完全能够快速上手。学习编程,切忌贪多,切忌只看书不动手,程序设计是一个实践性非常强的课程,一定要多动手实际编写和调试程序代码,遇到的问题多了,解决的问题多了,自己的编码能力自然就提高了。因此本书章节的安排不是以C语言基本语法知识为主线,而是面向实际工程需求,在引导学生解决实际问题的基础上自然掌握语言的细节。
根据TIOBE编程社区指数,C语言自1989年以来一直处于编程语言排行榜的前列,是一种备受推崇的编程语言,具有广泛的应用场景。同时,C语言的语法简单、功能强大、可移植性高等优点也使其成为许多程序员的首选语言。但是,C语言带来的安全性问题不可忽视,深入了解这些安全问题对于编写安全的C代码至关重要。因此本书在系统介绍C语言程序设计方法的基础上,以培养C程序设计中的安全思维为出发点,将 C 语言程序设计中需要注意的安全问题贯穿全书每个章节,每章均设置了单独的小节介绍该章内容需要注意的安全缺陷,在全书的内容描述中也穿插了程序设计中需要关注的安全问题。
另外本书贴近实际应用,以解决实际工程问题出发,设计了相关案例,并以一个大整数运算库为例,详细介绍了实际工程应用中所需的多文件项目工程的设计、编译、链接和测试方法。对于学生来说,如果能够自己从头到尾完整地实现这个大整数运算库的工程,那么就能够具备一定的使用C语言来解决实际工作中具体工程问题的能力,而不是学完课程以后只会用C语言完成一些简单的功能。
本书可作为高等学校各专业程序设计课程的教材,尤其适合作为计算机类网络空间安全相关专业的教材,面向对象是没有学过计算机程序设计的学生。因此本书的主要目的是帮助学生学习和掌握计算思维以及程序设计方法,使得学生在初步学会使用C语言解决实际问题的同时能够关注语言本身可能带来的安全问题,并在编写代码的时候能够避免这些安全隐患。本书代码均按照C 99标准介绍,书中所有程序使用的编译器为GNU Compiler Collection(GCC),版本为gcc version 8.1.0 (i686-posix-dwarf-rev0, Built by MinGW-W64 project),程序调试器为GNU symbolic debugger(GDB),版本为GNU gdb (GDB) 8.1。
本书由罗敏等编著,第1、2、9章由罗敏执笔,第 3、8章由王张宜执笔,第4、6章由滕冲执笔,第5、7章由傅建明执笔。邹菁琳、白野、刘洋、胡芯忆、陈纪成、黄俊、曾庆贤、包嘉斌、朱鑫杰、刘云连、郑航城、史述云、叶焘、王若男、朱郭诚、赵天可、雷斗威、杜帮瑶等参与了本书的书稿校对工作。武汉大学的王先兵老师在百忙之中审阅了初稿并给出了宝贵的意见。在此对他们的辛勤工作表示衷心的感谢。
由于时间仓促,加之编者水平有限,书中尚有许多不足之处和各种错误,欢迎广大读者多对本书提出宝贵意见和建议。
作者
2024年7月于武汉

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2025 (香港)大書城有限公司  All Rights Reserved.