从C语言基础高级技术,全面、深入讲解C程序设计的精髓,通过实例,层层深入,彻底攻克C程序设计的重点和难点知识。

本书特色:

从入门到精通:上篇介绍C语言基础,下篇介绍C语言高级编程及技巧。

适用双操作系统:适用于Windows环境和Linux环境。

重点突出:重点介绍了指针、数据加密、压缩、控制鼠标和绘制图形等重点内容。

实例丰富,注重实践:穿插386个实例进行讲解,实践性强,可快速上手。

内容推荐

C语言从产生到现在,已经成为最重要和最流行的编程语言之一。本书分上下两篇,分别介绍了C语言的基础和高级程序设计技巧。

上篇共16章,主要介绍C语言的语法基础,包括C语言概述,C程序的组成,C语言开发环境,数据的表示,表达式、运算符和语句,格式化输入/输出,分支结构程序设计,循环结构程序设计,使用数组,使用函数,模块化程序设计方法,使用指针,结构、联合和枚举,位运算和位域,文件输入/输出,预处理等内容。

下篇共10章,主要介绍C语言高级程序设计,包括处理字符串,数学函数和时间函数,常用算法应用,存储管理,控制鼠标,数据加密,数据压缩,图形编程,调用汇编程序,程序设计实例等内容。

本书内容丰富、结构清晰、实例代码讲解详尽,可以作为C语言、Java语言初学者的入门教材,也可作为C程序员的参考手册,同时,还可作为大中专院校学生及电脑培训班的参考书。

本书附赠DVD光盘1张,内容包括本书所有章节实例,入门视频以及长达21小时的C语言学习视频教学课件。

目录

第1篇 C语言基础

第1章 C语言概述

第2章 C程序的组成

第3章 C语言开发环境

第4章 数据的表示

第5章 表达式、运算符和语句

第6章 格式化输出/输入

第7章 分支结构程序设计

第8章 循环结构程序设计

第9章 使用数组

第10章 使用函数

第11章 模块化程序设计方法

第12章 使用指针

第13章 结构、联合和枚举

第14章 位运算和位域

第15章 文件输入/输出

第16章 预处理

第2篇 C语言高级程序设计

第17章 处理字符串

第18章 数学函数和时间函数

第19章 常用算法应用

第20章 存储管理

第21章 控制鼠标

第22章 数据加密

第23章 数据压缩

第24章 图形编程

第25章 调用汇编程序

第26章 程序设计实例

实例目录:

【程序1-1】第一个c语言程序 9

【程序2-1】c语言程序组成示例 14

【程序3-1】欢迎程序 25

【程序4-1】符号常量示例 40

【程序4-2】摄氏温度转换为华氏温度 44

【程序4-3】整型数据所占内存空间的大小 46

【程序4-4】整型数据输出示例 51

【程序4-5】整数转换为十六进制和八进制示例 52

【程序4-6】使用转义字符示例 55

【程序4-7】字符型数据输出示例 56

【程序4-8】实数类型占用的字节示例 57

【程序4-9】实型数据输出示例1 59

【程序4-10】实型数据输出示例2 60

【程序4-11】实型数据输出示例3 61

【程序4-12】char类型和int类型之间的转换示例 62

【程序4-13】将float转换为int类型示例 62

【程序4-14】强制类型转换示例 63

【程序4-15】复数操作示例 64

【程序5-1】输出逗号表达式的结果 67

【程序5-2】十进制数转换为二进制数示例(不使用循环) 69

【程序5-3】十进制数转换为二进制数示例(使用循环) 70

【程序5-4】自增运算符的后缀模式和前缀模式 71

【程序5-5】使用复合赋值运算符 75

【程序5-6】关系运算符示例 76

【程序5-7】逻辑运算符示例 77

【程序5-8】条件运算符示例 79

【程序5-9】使用sizeof运算符 80

【程序6-1】printf函数示例 89

【程序6-2】printf函数不同格式串输出示例 90

【程序6-3】printf函数输出最小宽度控制示例 91

【程序6-4】printf函数输出精度控制示例 92

【程序6-5】printf函数输出字符示例 94

【程序6-6】printf函数输出整数示例 95

【程序6-7】printf函数输出实数示例 96

【程序6-8】printf函数输出字符串示例 97

【程序6-9】printf函数动态设置输出宽度和精度示例 98

【程序6-10】printf函数的返回值示例 99

【程序6-11】printf函数输出列表示例1 100

【程序6-12】printf函数输出列表示例2 100

【程序6-13】scanf函数示例 102

【程序6-14】scanf函数不能控制输入精度示例 105

【程序6-15】scanf函数使用非格式字符示例 106

【程序6-16】scanf函数返回值示例 107

【程序6-17】getchar函数示例 108

【程序6-18】getch函数示例 109

【程序6-19】gets函数示例 109

【程序6-20】putch函数示例 110

【程序6-21】puts函数示例 111

【程序7-1】用if语句求最大数 114

【程序7-2】用if语句对两个数排序 115

【程序7-3】用if else语句对两个数排序 116

【程序7-4】检查输入字符类型示例(if语句嵌套) 119

【程序7-5】三个数排序示例(if语句嵌套方法) 120

【程序7-6】三个数排序示例(交换方法) 121

【程序7-7】检查输入字符类型示例(if else if语句) 123

【程序7-8】整数转换为中文星期名称(switch语句) 125

【程序7-9】switch语句多重标号示例(错误结果) 126

【程序7-10】分档计算运费(switch语句) 127

【程序8-1】求连续自然数之和示例(while语句,计数器递增) 132

【程序8-2】求连续自然数之和示例(while语句,计数器递减) 134

【程序8-3】求连续自然数之和示例(优化后的代码) 135

【程序8-4】求连续自然数之和示例(for语句) 139

【程序8-5】省略初始化部分的for循环示例 139

【程序8-6】改变for循环的循环变量递增方式示例 141

【程序8-7】用for循环输出指定期间的字符示例 142

【程序8-8】用for循环输出ascii代码表示例 143

【程序8-9】用while循环显示菜单示例 144

【程序8-10】用do while循环显示菜单示例 146

【程序8-11】循环嵌套输出示例 148

【程序8-12】九九乘法表 150

【程序8-13】九九乘法表示例(优化后的代码) 151

【程序8-14】百钱买百鸡示例(循环嵌套) 152

【程序8-15】百钱买百鸡代码优化示例 153

【程序8-16】用break语句跳出循环示例 155

【程序8-17】用continue语句跳过循环部分语句示例 156

【程序8-18】用goto语句编写循环代码示例 157

【程序9-1】统计学生成绩示例(不使用数组) 159

【程序9-2】统计学生成绩示例(使用数组) 160

【程序9-3】使用变长数组示例(c99标准) 163

【程序9-4】越界访问数组示例 166

【程序9-5】输出未初始化的数组元素示例 167

【程序9-6】按线性方式输出二维数组元素示例 170

【程序9-7】输出数组各元素的内存地址示例 171

【程序9-8】字符数组示例 175

【程序9-9】输出字符数组示例 177

【程序9-10】字符串反转示例 179

【程序9-11】输出数组中的最大数示例 180

【程序9-12】数组元素排序示例 181

【程序10-1】求最大值函数示例 185

【程序10-2】函数返回值示例 189

【程序10-3】函数返回值示例 191

【程序10-4】函数的值调用示例 193

【程序10-5】函数的引用调用示例 194

【程序10-6】通过指针传递参数示例 195

【程序10-7】函数的数组调用示例 197

【程序10-8】main函数的参数示例 199

【程序10-9】输出用户输入的命令行参数示例 200

【程序10-10】函数嵌套调用示例 204

【程序10-11】函数递归调用示例 205

【程序10-12】汉诺塔(递归程序示例) 208

【程序11-1】引用多个源程序文件示例 213

【程序11-2】局部变量示例 217

【程序11-3】复合语句中的变量示例 219

【程序11-4】全局变量示例1 220

【程序11-5】全局变量示例2 221

【程序11-6】同名全局变量和局部变量示例 222

【程序11-7】自动变量示例 224

【程序11-8】寄存器变量示例 226

【程序11-9】外部变量示例 226

【程序11-10】静态变量示例 228

【程序12-1】查看变量地址示例 232

【程序12-2】错误初始化指针示例 235

【程序12-3】取地址运算符和取内容运算符示例 236

【程序12-4】用指针引用变量示例 237

【程序12-5】通过指针交换数据示例 237

【程序12-6】指针和数组地址之间的关系示例 240

【程序12-7】用指针操作数组元素示例 242

【程序12-8】将指针作为数组名使用示例 243

【程序12-9】输出数组的地址和长度示例 245

【程序12-10】输出数组各维的地址和长度示例 246

【程序12-11】输出数组各元素的地址和长度示例 247

【程序12-12】初始化二维数组示例 248

【程序12-13】用指针变量初始化二维数组示例 249

【程序12-14】用指针变量指向数组的一行数据示例 251

【程序12-15】一维数组作函数参数示例 253

【程序12-16】使用指向一维数组的指针变量传递参数示例 254

【程序12-17】字符串数组、字符串指针使用示例 257

【程序12-18】字符串指针作函数参数示例 258

【程序12-19】用指针数组指向二维数组每一行示例 261

【程序12-20】二维数组指针示例 262

【程序12-21】用指针数组处理字符串示例 263

【程序12-22】指针数组作函数参数示例 264

【程序12-23】指向指针的指针示例 267

【程序12-24】用二级指针操作一维数组示例 268

【程序12-25】用二级指针操作二维数组示例 270

【程序12-26】用二级指针作函数参数示例 271

【程序12-27】指针型函数示例 272

【程序12-28】指向函数的指针示例1 274

【程序12-29】指向函数的指针示例2 275

【程序12-30】指针和const的关系示例 278

【程序13-1】结构和结构变量示例 283

【程序13-2】嵌套结构成员赋值、输出示例 286

【程序13-3】初始化结构示例 289

【程序13-4】结构数组示例 291

【程序13-5】用指针处理结构数组示例 294

【程序13-6】传递结构变量的值到函数示例 295

【程序13-7】结构中嵌套联合类型示例1 298

【程序13-8】结构中嵌套联合类型示例2 299

【程序14-1】位或运算示例 308

【程序14-2】位反运算示例 308

【程序14-3】位运算用途示例 310

【程序14-4】位域示例 313

【程序14-5】二进制转换(位域与联合的使用)示例 314

【程序15-1】保存用户输入内容示例 322

【程序15-2】从文件中读取字符示例 324

【程序15-3】合并文件示例 325

【程序15-4】向文件中增加内容示例 326

【程序15-5】将文件内容显示到屏幕示例 328

【程序15-6】格式化文件数据示例 329

【程序15-7】读取格式化文件数据示例 330

【程序15-8】将整型数据写入文件示例 332

【程序15-9】从文件中读取整型数据示例 333

【程序15-10】保存二进制文件示例 334

【程序15-11】读二进制文件示例 336

【程序15-12】获取文件位置指针示例 338

【程序15-13】重置文件位置指针示例 339

【程序15-14】设置文件位置指针示例 341

【程序15-15】刷新标准输入流stdin缓冲区示例 343

【程序15-16】重定向输出到显示器示例 344

【程序15-17】重定向输出到文件示例 345

【程序15-18】重命名文件示例 346

【程序15-19】删除文件示例 347

【程序15-20】复制文件示例 348

【程序15-21】临时文件使用示例 349

【程序16-1】无参数宏示例 353

【程序16-2】操作符#示例 355

【程序16-3】操作符##示例 356

【程序16-4】条件编译示例 358

【程序16-5】条件编译嵌套示例 359

【程序16-6】使用预定宏名示例 361

【程序16-7】#line命令示例 361

【程序16-8】内联函数示例 363

【程序17-1】字符串动态存储示例 367

【程序17-2】字符检测函数示例 368

【程序17-3】字符串长度函数示例 369

【程序17-4】查找字符位置示例 370

【程序17-5】查找相同字符示例 372

【程序17-6】查找包含字符位置示例 373

【程序17-7】查找包含字符示例 374

【程序17-8】查找子串示例 375

【程序17-9】比较字符串示例 376

【程序17-10】比较部分字符串示例 378

【程序17-11】忽略大小写比较字符串示例 379

【程序17-12】连接字符串示例 381

【程序17-13】连接部分字符示例 382

【程序17-14】复制字符串示例 383

【程序17-15】复制部分字符示例 384

【程序17-16】用dup函数复制字符串示例 385

【程序17-17】大小写字符转换示例 386

【程序17-18】字符串大小写转换示例 387

【程序17-19】字符串与数值转换示例 388

【程序17-20】字符串反转示例 389

【程序17-21】替换字符示例 390

【程序17-22】分解字符串示例 391

【程序18-1】三角函数sin示例 394

【程序18-2】双三曲函数示例 395

【程序18-3】exp函数示例 396

【程序18-4】用frexp函数分解尾数和指数示例 396

【程序18-5】用ldexp函数组合实数示例 397

【程序18-6】ceil和floor函数示例 398

【程序18-7】modf函数示例 399

【程序18-8】获取日期时间示例 400

【程序18-9】转换日期时间表示形式示例 401

【程序18-10】秒数转换为对应的日期示例 402

【程序18-11】日期转换为秒数示例 403

【程序18-12】日期转换为字符串示例 404

【程序18-13】显示当前日期示例 407

【程序19-1】冒泡排序法示例 409

【程序19-2】选择排序法示例 411

【程序19-3】插入排序法示例 411

【程序19-4】shell排序法示例 412

【程序19-5】快速排序法示例 413

【程序19-6】字符串排序示例 414

【程序19-7】顺序查找示例 416

【程序19-8】折半查找示例 418

【程序19-9】队列操作示例 419

【程序19-10】堆栈操作示例 423

【程序19-11】链表操作示例 425

【程序20-1】不同类变量分配内存空间示例 433

【程序20-2】用malloc函数动态分配内存创建动态数组示例 435

【程序20-3】用realloc函数动态分配内存示例 437

【程序20-4】用free函数释放分配内存示例 439

【程序20-5】内存分配丢失示例 440

【程序20-6】分配所有可用内存示例 441

【程序21-1】头文件,包含控制鼠标的函数原型定义 445

【程序21-2】控制鼠标的函数代码 446

【程序21-3】初始化鼠标函数代码 447

【程序21-4】复位鼠标函数代码 447

【程序21-5】移动鼠标函数代码 448

【程序21-6】显示鼠标指针函数代码 448

【程序21-7】隐藏鼠标指针函数代码 449

【程序21-8】获取按下按钮信息函数代码 450

【程序21-9】获取释放按钮信息函数代码 450

【程序21-10】获取鼠标状态信息函数代码 451

【程序21-11】获取鼠标指针位置信息函数代码 451

【程序21-12】保存鼠标指针位置函数代码 452

【程序21-13】捕获鼠标或键盘按钮函数代码 453

【程序21-14】判断鼠标指针区域代码 454

【程序21-15】测试鼠标库函数的代码 455

【程序22-1】换位加密法示例 459

【程序22-2】替换加密法示例 463

【程序22-3】位加密法示例 465

【程序23-1】lzw压缩算法头文件 474

【程序23-2】压缩函数代码 475

【程序23-3】搜索哈希表函数代码 477

【程序23-4】输出压缩数据函数代码 477

【程序23-5】解压缩函数代码 478

【程序23-6】输入编辑数据函数代码 480

【程序23-7】解压函数代码 480

【程序23-8】压缩主程序代码 481

【程序24-1】设置显示模式函数代码 486

【程序24-2】绘制点的函数代码(调用bios功能) 488

【程序24-3】绘制点的函数代码(直接存取显示内存) 489

【程序24-4】读取点信息的函数代码 489

【程序24-5】绘制直线的函数代码 490

【程序24-6】绘制矩形的函数代码 491

【程序24-7】绘制实心矩形的函数代码 491

【程序24-8】绘制圆的函数代码 492

【程序24-9】绘制实心圆的函数代码 493

【程序24-10】绘制多边形的函数代码 493

【程序24-11】绘制随机多边形的代码 494

【程序24-12】复制图形的函数代码 494

【程序24-13】移动图形的函数代码 495

【程序24-14】保存图形的函数代码 495

【程序24-15】载入图形的函数代码 496

【程序24-16】测试绘制函数的代码 497

【程序25-1】将c语言编译为汇编程序示例(c源程序) 500

【程序25-2】将c语言编译为汇编程序示例(汇编程序) 500

【程序25-3】简单内联汇编示例 503

【程序25-4】包含输入部分的内联汇编示例 504

【程序25-5】输出字符串的内联汇编示例 505

【程序25-6】读取寄存器值的内联汇编示例 506

【程序25-7】c语言函数调用约定示例 507

【程序25-8】add函数(c源程序) 508

【程序25-9】add函数编译后的汇编程序 508

【程序25-10】两数相乘的汇编程序示例 509

【程序25-11】c语言调用汇编程序示例... 510

c语言开发pdf渲染器,C语言开发技术详解 (戴建华) PDF扫描版70M相关推荐

  1. php开发rfid,rfid是什么?rfid技术详解

    射频识别,RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机 ...

  2. 【Audio音频开发】音频基础知识及PCM技术详解

    个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 文章目录 1.前言 2.概念 3. PCM介绍 4. PCM原理 5.PCM相关概念 5.1 ...

  3. c语言windows驱动编程入门,Windows驱动开发技术详解 PDF扫描版[175MB]

    Windows驱动开发技术详解由浅入深.循序渐进地介绍了windows驱动程序的开发方法与调试技巧.本书共分23章,内容涵盖了windows操作系统的基本原理.nt驱动程序与wdm驱动程序的构造.驱动 ...

  4. 使用 PDFkit 开发PDF阅读器( iOS 开发 / swift )

    使用 PDFkit 开发PDF阅读器(iOS 开发) 使用swift开发 结尾有百度网盘源码 注意:这里的 Class 要手敲 PDFView,如果在创建 Outlet 的时候再改会出错 主要注意可选 ...

  5. Python开发技术详解PDF

    Python开发技术详解(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1F5J9mFfHKgwhkC5KuPd0Pw 提取码:xxy3 复制这段内容后打开百度网盘手 ...

  6. 【备注】【C24】《Android 3D游戏开发技术详解与典型案例》PDF 下载

    [C24]<Android 3D游戏开发技术详解与典型案例>PDF 下载 目前市面上的Android技术书籍还比较少,Android3D游戏开发的书籍更是没有.因此,在现在市面上,Andr ...

  7. python开发技术详解pdf下载_python开发技术详解附源码-python开发技术详解电子书pdf下载高清去水印版-精品下载...

    Python开发技术详解适合Python爱好者.大中专院校的学生.社会培训班的学生以及用Python语言进行系统管理.GUI开发.Web开发.数据库编程.网络编程的人员使用. 内容提要 Python是 ...

  8. Android 3D游戏开发技术详解与典型案例pdf

    下载地址:网盘下载 <Android3D游戏开发技术详解与典型案例>主要以Android平台下3D游戏的开发为主题,并结合真实的案例向读者详细介绍了OpenGL ES的基础知识及3D游戏程 ...

  9. 电大计算机C语言1253,1253《C语言程序设计》电大期末精彩试题及其问题详解

    1253<C语言程序设计>电大期末精彩试题及其问题详解 (34页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档&l ...

最新文章

  1. 因为站在船头,所以难以沉默——专访数据院执行副院长韩亦舜【第一届数据故事计划】...
  2. 3月Win 10美占有率超20% 免费升级是否延长受关注
  3. FPGA控制的数码显示电路
  4. JAVA Socket 底层是怎样基于TCP/IP 实现的???
  5. wampserver无法打开http://127.0.0.1/
  6. java 不能反序列化_不能将“Java.Lang.Studio”实例反序列化到StaskObl对象令牌中
  7. BugkuCTF-WEB题秋名山车
  8. java你可能不知道的事(2)--堆和栈
  9. 本周计划(4月12日-19日)
  10. 离线安装wxpython_windows离线状态下源码安装Robotframework 环境及其依赖包
  11. Scala:函数和闭包
  12. jquery核心的学习进程一
  13. linux定位异常前后日志信息
  14. 只需一个技巧,用手机轻松拍出震撼广角风景照
  15. 高效开发 — SVN使用教程图文详解【超详细,鼎力推荐】
  16. chrome启动参数
  17. ios 8 地图定位
  18. 白杨SEO:百度首页和百度SERP的新闻是怎么做上去的?
  19. 有一台服务器可以做哪些很酷的事情
  20. NOT EXISTS真的不走索引么?如何优化NOT EXISTS!

热门文章

  1. MySQL 教程---菜鸟教程
  2. 机器学习之路(一元线性回归)
  3. 如何将 Android 手机投屏在 Ubuntu/LinuxMint/Debian 上
  4. IDEA创建mybatis框架web项目
  5. 网络空间实体测绘的关键
  6. 关于高版本数据库导入到低版本数据库时间的一些注意事项
  7. 消除人生障碍,连接多彩世界
  8. javascript 变量的命名规则和命名规范
  9. 1039家校通 万能密码绕过 CNVD-2020-31494
  10. Linux网络编程笔记