新書推薦:
《
东野圭吾:分身(东野圭吾无法再现的双女主之作 奇绝瑰丽、残忍又温情)
》
售價:NT$
295.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
经纬度丛书·州县之民:治乱之间的小民命运
》
售價:NT$
440.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
跨代伴侣治疗
》
售價:NT$
440.0
|
內容簡介: |
本书中所有C语言相关的概念都是以深入浅出的方式来介绍的,读者无需任何计算机基础知识就能顺畅地阅读本书。书中的面试题采集自各大软件公司的真实面试题,对学生的校园面试很有帮助。数以百计的范例程序能帮助学生读者很好地通过考试(本书已被印度各大高校广泛采用)。
|
目錄:
|
目录译者序前 言第1章C语言中的基础概念11.1 C语言的诞生21.2 C程序的构成21.3 C语言中的字符集21.4 C语言中的词语21.5 C语言中的语句41.6 printf的格式说明符111.7 C程序的执行121.8 在Turbo C中执行C程序141.9 查看Turbo C中的C语言帮助161.10 单步调试C程序171.11 在UNIX中执行C程序181.12 在Microsoft Visual Studio中执行C程序181.13 使用命令行参数执行C程序21第2章数据类型与操作符232.1 C语言中的数据类型242.2 基本数据类型252.3 修饰符272.4 各种数据类型的最大值和最小值282.5 限定符292.6 C语言中的操作符30第3章C语言中的控制语句453.1 顺序执行453.2 随机执行463.3 if…else语句473.4 do…while循环503.5 while循环513.6 for循环533.7 switch语句593.8 clrscr603.9 gotoxy613.10 getche613.11 break语句633.12 continue语句653.13 goto语句663.14 return语句68第4章数组744.1 一维数组754.2 创建一维数组754.3 为什么数组下标从零开始764.4 二维数组834.5 创建二维数组844.6 三维数组904.7 创建三维数组91第5章函数945.1 函数的组成955.2 函数的形式975.3 函数调用1005.4 函数应该写在何处1005.5 函数定义1015.6 形参和实参1045.7 向函数传递数组1045.8 递归函数1095.9 函数中变量的作用域1105.10 结构化编程1125.11 创建自定义头文件114第6章字符与字符串1186.1 字符处理1186.2 字符检测函数1206.3 字符串1226.4 字符串的内存布局1246.5 字符串处理函数1266.6 strlen1266.7 strcpy与strncpy1276.8 strcat1286.9 strcmp与stricmp1296.10 strncmp与strnicmp1306.11 strupr与strlwr1316.12 strrev1316.13 strchr1326.14 strstr1336.15 函数的字符串传参134第7章存储类型1387.1 auto存储类型1397.2 register存储类型1407.3 static存储类型1417.4 extern存储类型1437.5 局部变量145第8章指针1478.1 指针运算1498.2 数组与指针1528.3 动态内存分配1578.4 静态内存与动态内存的区别1598.5 malloc1608.6 realloc1618.7 calloc1618.8 free1628.9 指针数组1648.10 函数的指针传参和指针返回值1658.11 函数指针1718.12 回调函数机制1738.13 dangling指针1768.14 null指针1768.15 野指针1778.16 near、far和huge指针1778.17 void指针1788.18 指针的长度1798.19 指向指针的指针1818.20 指针的优缺点182第9章结构体和联合体1839.1 访问结构体成员1849.2 声明和初始化结构体1849.3 结构体指针1869.4 结构体数组1879.5 结构体指针数组1929.6 向函数传递结构体参数1949.7 拷贝结构体变量1979.8 嵌套结构体1989.9 联合体202第10章文件操作20510.1 打开文件20610.2 关闭文件20810.3 文件类型20810.4 文本文件与二进制文件的差别20810.5 在文本文件中存储字符20910.6 在文本文件中存储字符串21210.7 格式化文本文件21410.8 二进制文件21810.9 打印程序输出22210.10 将程序输出重定向到文件22210.11 随机访问文件22410.12 获取文件大小及记录数22510.13 更新记录22710.14 删除记录22910.15 获取目录中的文件信息231第11章命令行参数23311.1 无参main函数23411.2 带void类型参数的main函数23411.3 带两个参数的main函数23411.4 带三个参数的main函数23611.5 在main函数退出后执行代码23911.6 在main函数中调用其他程序24011.7 使用命令行参数24211.8 显示文件内容:show命令24311.9 拷贝文件内容:cpy命令24411.10 删除文件:destroy命令24511.11 刷新显示屏:fresh命令24611.12 字符、单词、文本行计数:count命令247第12章宏与枚举24912.1 宏25012.2 条件编译25212.3 枚举253第13章C语言与数据结构25813.1 栈25913.2 创建栈26013.3 push操作26013.4 pop操作26013.5 使用栈验证表达式26413.6 队列26613.7 队列的创建26713.8 往队列中插入一个元素26713.9 从队列中删除一个元素26713.10 循环队列27013.11 链表27313.12 创建链表27513.13 显示链表27513.14 在链表头部插入新节点27713.15 在链表尾部插入新节点27913.16 在链表中部插入新节点28013.17 删除链表头节点28213.18 删除链表尾节点28313.19 删除链表中间节点28413.20 双链表28513.21 创建双链表28613.22 双链表中的遍历28613.23 前向遍历28713.24 后向遍历28713.25 在双链表头部插入节点28913.26 在双链表指定位置之后插入节点28913.27 删除双链表头节点29113.28 删除双链表指定位置的节点291第14章搜索、排序与合并29314.1 搜索技术29414.2 线性搜索或顺序搜索29414.3 大O记号29414.4 二分搜索29614.5 排序技术29814.6 冒泡排序29914.7 快速排序30014.8 选择排序30514.9 插入排序30614.10 合并308第15章图形与动画31115.1 绘制像素点31315.2 绘制圆31615.3 绘制线段31715.4 绘制矩形和正方形31815.5 绘制椭圆31915.6 绘制圆弧32115.7 绘制扇形32115.8 绘制多边形32115.9 前景色和背景色32215.10 使用颜色填充图形32315.11 使用字体32615.12 在图形模式中使用鼠标32815.13 创建GUI组件33215.14 创建菜单33515.15 拷贝图像33715.16 实现动画33915.17 播放声音344第16章C语言中常见库函数34616.1 数学函数34616.2 数据转换函数34616.3 字符串操作函数34716.4 字符检测与转换函数34716.5 IO及文件相关函数34816.6 内存相关函数34816.7 绘图函数34916.8 系统函数349
|
內容試閱:
|
前言?Preface为什么撰写这本C语言著作市面上有关C语言的书籍比比皆是,读者肯定会好奇为什么作者还要撰写这本著作。随着计算机行业的持续发展,每年会创造数以百万计的就业机会。因为这个原因,很多学生会选择计算机作为本科或研究生专业。在学业完成之后,一定会希望能立即进入计算机行业并开始其职业生涯。很多公司会直接到高校举办招聘会来挑选计算机人才。在这些面试中,两种编程语言被考察得最多,它们是C和Java。尽管大学生在校期间已经学习了编程语言,但这种学习通常是为了通过考试。他们很难掌握好日常工作真正需要的编程技能。因此,大学生毕业以后,需要进一步提高一些能力,如下所列:逻辑思维深入理解编程语言中的概念使用编程语言开发实际的程序面试技能请记住,其他C语言著作或多或少遗漏了上面的一些目标。某些书籍会陈列一些代码,但是不会讨论代码逻辑。某些书籍会侧重理论,缺乏与编程实践相关的内容。最糟糕的是,很少有书籍会专门讨论C语言的面试题,而这个直接影响面试者能否顺利拿到offer!基于我20多年的教学经验,本书介绍的简单的方法可同时达成前面提到过的那些目标。可参考下面这个简单的式子:概念+范例程序+面试题本书使用非常通俗易懂的语言来介绍C语言基本概念,即便是在校生也能轻松读懂。介绍完概念以后,会通过范例程序来帮助读者理解编程概念。每个范例程序的代码逻辑都会详细讨论。最后会提炼出一些非常经典的面试题,正好能覆盖当前章节介绍的C语言知识。而这些面试题都是顶级软件公司面试中会经常碰到的。如何使用本书本书以非常轻松和简洁的方式覆盖了几乎所有的C语言概念,以便于帮助读者从零基础开始上手,直至进阶。本书也会详细讨论每个程序的代码逻辑,以提高学生编程方面的逻辑思维能力。本书提供了数百个范例程序,可采用本书作为考试题库。本书提供的面试题都附有答案,可以帮助读者应付校内或校外的各种面试。专业软件开发人员也可以使用本书作为参考书籍。本书涵盖了哪些内容本书按从易到难的顺序来组织。一共有15章(第16章为C语言中的常见库函数,因此未包括在内)。建议初学者从头开始逐章阅读。第1~7章介绍的是C语言的基础知识,用来帮助读者理解C程序的基本构件,如数据类型、函数、数组及字符串等。这些概念对于实现程序逻辑非常有用,掌握了这些知识,C程序看起来也不那么晦涩难懂了。后续的第8~15章介绍C语言的高级概念。第8章介绍了指针,这是C语言中最令人生畏的话题。该章一开始介绍指针的基本概念,之后介绍一些复杂的概念,如指针的指针、函数指针及回调函数等。第9章关于结构体和联合体,这些数据类型用来存储一组相同类型的数据元素。两者不同之处在于前者为每个数据元素分配一块内存,而后者中的数据元素共用同一块内存。第10章介绍文件相关知识。当有大量数据需要持久存储、检索或加工成报表时,文件就非常有用了。第11章探讨的是命令行参数相关话题,如果我们想开发能直接在系统提示符中运行的程序,这些概念就非常有用了。例如,可利用该章所学内容开发DOS或UNIX中的自定义命令。第12章介绍宏与枚举。宏是一组代码语句的引用标签,在预编译期间,标签会被真实的代码文本替换。而枚举代表的是一组常量。第13章涉及的是与数据结构相关的话题,所谓数据结构就是一些内存存储和检索的特殊模型。第14章介绍搜索、排序和合并技术。当在科学分析中处理数据时,这些技术非常有用。第15章讨论绘图与动画,读者可以学习一些基本的绘图函数用于绘图和创建动画。致谢衷心感谢Narasimha Karumanchi先生,在本书付梓之前为我提供了种种帮助和鼓励。读者反馈尽管本书在撰写之时经过反复斟酌与审校,但错误依然是难以避免的,衷心希望读者在阅读过程中碰到任何错误或值得商榷之处,主动与我们联系,以提高本书的质量。如需反馈可发送邮件至: ultimatec@rediffmail.com。
|
|