搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
你必须知道的213个C语言问题
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115224606
  • 作      者:
    范立锋,李世欣编著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2010
收藏
编辑推荐
    213个编程新手最常遇到的C语言问题<br>    菜鸟想问不敢开口<br>    扫除入门者的障碍,开辟成长捷径<br>    请相信,你并不是第一个遇到问题的人。<br>    发现问题,思考问题,寻找答案,解决问题。<br>    《你必须知道的213个C语言问题》内容涵盖:<br>    C语言基础<br>    编译预处理<br>    字符串<br>    函数<br>    键盘操作<br>    文件、目录和磁盘<br>    数组、指针和结构<br>    DOS服务和BIOS服务<br>    日期与时间<br>    重定向I/O与进程命令<br>    开发常见错误及程序调试
展开
内容介绍
    《你必须知道的213个C语言问题》精选了213个在C语言程序设计中经常遇到的问题,目的是帮助读者解决在C语言学习和开发中遇到的实际困难,提高读者学习和开发的效率。这些问题涵盖了C语言与软件开发、C语言基础、编译预处理、字符串、函数、键盘操作、文件、目录和磁盘、数组、指针和结构、DOS服务和BIOS服务、日期和时间、重定向I/O和进程命令、C语言开发常见错误及程序调试等内容,均是作者经过充分的调研,从实际项目开发中总结出来的典型问题,浓缩了作者多年从事开发工作的心得体会和经验教训,对初学者具有重要的参考价值。书中每节都提供了程序设计的示例代码。<br>    《你必须知道的213个C语言问题》适合已经初步掌握C语言编程概念和用法的读者阅读。
展开
精彩书摘
    1.代码复用<br>    C语言使用函数库或者DLL方式实现代码复用,在接口稳定的前提下实现内部修改和数据及其实现的封装。C++提供了类库和多种继承机制,从而实现了具有层次的代码复用。它同时通过重载等各种机制将进一步实现复用功能,使得类库和代码更加容易维护,虽然建立类库在人员、组织等各个方面还是比较麻烦的。<br>    2.效率<br>    C语言在本质上擅长底层接口的编写并且非常注重效率问题;但是事物总是具备矛盾的两面,过于偏重效率和软件危机的出现,反而增加了程序设计的难度。从现实世界角度考虑,OOA更加贴近实际,使得代码或程序更具备稳定性、可扩展性和可维护性。<br>    3.简单性<br>    通常情况下,在应用程序中C语言更多的要求是设计简单化。例如,C语言不支持类似于继承的重用,因此为了达到同样的目的不得不更多地使用组合,即使使用函数指针实现多态,也不可能像C++那样把类逐层地扩展。
展开
目录
第1章 C语言与软件开发 1<br>FAQ1.01 C语言有哪些特点? 1<br>FAQ1.02 C语言与C++语言及VC++比较有什么优势? 2<br>FAQ1.03 如何安装Turbo C++ 3.0? 4<br>FAQ1.04 C语言的编译环境有哪些? 6<br>FAQ1.05 如何使用Turbo C++ 3.0开发C语言程序? 7<br><br>第2章 C语言基础 9<br>FAQ2.01 C语言的开发流程是怎样的? 9<br>FAQ2.02 典型的C程序是怎样构成的? 11<br>FAQ2.03 如何在新的一行输出结果? 12<br>FAQ2.04 如何应对开发过程中遇到的语法错误? 14<br>FAQ2.05 如何理解C语言中的变量? 17<br>FAQ2.06 一个变量可以既被声明为变量又被声明为常量吗? 18<br>FAQ2.07 C语言中的变量包含哪些类型?这些类型是如何表示的? 20<br>FAQ2.08 如何自定义类型? 22<br>FAQ2.09 如何理解数据溢出? 23<br>FAQ2.10 什么时候可以应用类型转换?什么时候不能应用? 25<br>FAQ2.11 不同类型的数据进行运算时会出现什么问题? 26<br>FAQ2.12 C语言提供了哪些运算符?运算符的优先级和结合性是怎样的? 27<br>FAQ2.13 如何理解C语言中的头文件? 30<br>FAQ2.14 为什么需要加入程序注释? 31<br>FAQ2.15 声明的变量和定义的变量有什么不同之处? 32<br>FAQ2.16 什么情况下要用到switch语句?如何使用switch语句? 34<br>FAQ2.17 在一个switch语句中,default语句是否必须存在呢? 36<br>FAQ2.18 for语句的3个子语句是否都是必须存在的? 37<br>FAQ2.19 如何区分break和continue? 39<br>FAQ2.20 如何使用goto语句提高程序灵活性? 41<br>FAQ2.21 “&”与“&&”,“|”与“||”有什么区别? 42<br>FAQ2.22 已经有了for循环,为什么还要用while循环? 43<br>FAQ2.23 如何强制操作符的运算顺序? 45<br><br>第3章 编译预处理 46<br>FAQ3.01 如何理解C语言中的宏?如何使用宏? 46<br>FAQ3.02 标准的预定义宏包括哪些? 50<br>FAQ3.03 如何改变预处理器的行计数? 51<br>FAQ3.04 宏与函数有什么区别? 53<br>FAQ3.05 如何自定义头文件? 54<br>FAQ3.06 头文件都包含哪些信息? 55<br>FAQ3.07 文件包含命令可以嵌套吗? 56<br>FAQ3.08 如何避免多次包含同一个文件? 57<br>FAQ3.09 除了.h文件以外其他文件能被#include命令所包含吗? 58<br>FAQ3.10 #include文件名和#include“文件名”有何不同? 59<br>FAQ3.11 如何进行条件编译预处理? 60<br>FAQ3.12 如何创建自定义宏? 63<br>FAQ3.13 宏有类型吗? 64<br>FAQ3.14 如何重写一个定义好的宏? 65<br>FAQ3.15 使用枚举和使用#define定义常量有什么不同? 66<br><br>第4章 字符串 69<br>FAQ4.01 C语言是如何存储字符串的? 69<br>FAQ4.02 如何判断字符串的长度? 70<br>FAQ4.03 如何判断两个字符串是否相同? 72<br>FAQ4.04 如何将一个字符串的内容追加到另一个字符串中? 73<br>FAQ4.05 如何为字符串追加N个字符? 75<br>FAQ4.06 如何将一个字符串复制到另一个字符串中? 76<br>FAQ4.07 如何在比较字符串时忽略字符大小写? 77<br>FAQ4.08 如何转换字符串中字符的大小写? 79<br>FAQ4.09 如何获取字符串中首次与末次出现某个字符的位置? 81<br>FAQ4.10 如何计算一个字符在字符串中出现的次数? 83<br>FAQ4.11 如何将字符串转换为数字? 84<br>FAQ4.12 如何将数字转换为字符串? 86<br>FAQ4.13 如何判断字符是何种类型? 89<br><br>第5章 函数 91<br>FAQ5.01 如何理解C语言中的函数? 91<br>FAQ5.02 如何理解函数原型? 92<br>FAQ5.03 形参和实参分别是什么?如何使用它们? 94<br>FAQ5.04 如何解决自定义函数与库函数命名冲突问题? 96<br>FAQ5.05 如何理解函数的开销问题? 97<br>FAQ5.06 主调函数如何调用被调函数? 99<br>FAQ5.07 return和exit有什么不同之处? 101<br>FAQ5.08 局部变量和全局变量有何区别? 102<br>FAQ5.09 当局部变量与全局变量发生名称冲突时如何解决? 103<br>FAQ5.10 如何更好地定义全局变量的有效范围? 105<br>FAQ5.11 如何理解传值调用? 106<br>FAQ5.12 C语言支持传址调用吗? 107<br>FAQ5.13 为什么要用到静态变量?静态变量何时被初始化? 108<br>FAQ5.14 如何理解递归函数?什么情况下要用到递归? 110<br>FAQ5.15 使用递归函数时对程序的执行效率有何影响? 112<br>FAQ5.16 如何使用其他方法代替递归? 113<br>FAQ5.17 函数如何对字符串进行堆栈处理? 115<br>FAQ5.18 如何使用外部变量及外部静态变量? 116<br>FAQ5.19 如何调用结构和基指针? 118<br>FAQ5.20 如何在C程序中调用汇编语言函数并获得汇编语言函数返回值? 119<br>FAQ5.21 如何创建支持多参数多类型的函数? 121<br>FAQ5.22 内部函数和外部函数有什么不同? 124<br><br>第6章 键盘操作 126<br>FAQ6.01 如何从键盘读入字符? 126<br>FAQ6.02 如何使用缓冲输入? 127<br>FAQ6.03 如何使用直接I/O读入字符? 128<br>FAQ6.04 如何实现不显示字符的键盘输入? 130<br>FAQ6.05 如何实现直接输出? 131<br>FAQ6.06 如何将按键放回键盘缓存? 132<br>FAQ6.07 为什么直接I/O能够更快地输出字符串? 134<br>FAQ6.08 如何更快地从键盘输入字符串? 135<br>FAQ6.09 如何实现定位光标的屏幕输出? 137<br>FAQ6.10 如何在屏幕中插入空行? 138<br>FAQ6.11 如何将屏幕上的文本复制到缓冲区? 140<br>FAQ6.12 如何判断文本模式设置? 142<br>FAQ6.13 如何控制文本颜色? 144<br>FAQ6.14 如何指定背景颜色? 145<br>FAQ6.15 如何控制文本的显示亮度? 147<br>FAQ6.16 如何在屏幕上移动文本? 148<br><br>第7章 文件、目录和磁盘 150<br>FAQ7.01 如何理解FILE结构? 150<br>FAQ7.02 如何打开文件?如何关闭文件? 151<br>FAQ7.03 如何实现每次读/写文件信息的一个字符? 153<br>FAQ7.04 如何判断当前文件位置? 155<br>FAQ7.05 文本模式和二进制模式有什么区别? 156<br>FAQ7.06 如何使用低级和高级文件的I/O? 158<br>FAQ7.07 如何理解文件句柄? 159<br>FAQ7.08 进程文件表有什么作用? 160<br>FAQ7.09 如何获取进程文件表的入口? 160<br>FAQ7.10 如何获取并显示系统文件表的信息? 163<br>FAQ7.11 如何从流指针中导出文件句柄? 163<br>FAQ7.12 如何重命名文件? 165<br>FAQ7.13 如何删除文件? 166<br>FAQ7.14 如何判断程序访问文件? 167<br>FAQ7.15 如何设置文件访问模式? 169<br>FAQ7.16 如何检测文件流错误? 171<br>FAQ7.17 如何判断文件长度? 171<br>FAQ7.18 如何使用临时文件? 173<br>FAQ7.19 如何搜索环境入口的子目录? 174<br>FAQ7.20 为什么要尽量减少文件的I/O操作? 175<br>FAQ7.21 对目录的操作有哪些?如何实现? 176<br>FAQ7.22 如何删除目录树? 177<br>FAQ7.23 如何列出一个目录中的所有文件? 178<br>FAQ7.24 如何建立完全路径名? 181<br>FAQ7.25 如何分解目录路径? 182<br>FAQ7.26 如何使用低级函数打开和关闭文件? 184<br>FAQ7.27 如何打开20个以上的文件? 186<br>FAQ7.28 如何改变文件长度? 187<br>FAQ7.29 如何控制文件打开操作的读写模式? 188<br>FAQ7.30 如何将缓冲区赋给文件? 190<br>FAQ7.31 如何分配文件缓冲区? 191<br>FAQ7.32 如何创建唯一文件名? 193<br>FAQ7.33 如何从文件流中读取结构数据? 194<br>FAQ7.34 如何复制文件句柄? 195<br>FAQ7.35 如何强制文件句柄设置? 197<br>FAQ7.36 如何实现文件共享? 198<br>FAQ7.37 如何锁定文件内容? 199<br>FAQ7.38 textcopy是否能够复制二进制文件? 201<br>FAQ7.39 如何读取格式化的文件数据? 202<br>FAQ7.40 如何重新打开文件流? 203<br><br>第8章 数组、指针和结构 205<br>FAQ8.01 数组的下标总是从零开始吗? 205<br>FAQ8.02 越界的数组元素是否依然有效? 207<br>FAQ8.03 浏览数组元素时,使用指针和使用数组下标有什么区别? 209<br>FAQ8.04 为什么不能将数组大小初始化为一个常量? 210<br>FAQ8.05 数组与动态存储孰优孰劣? 212<br>FAQ8.06 如何理解多维数组? 214<br>FAQ8.07 C语言是如何存放多维数组的? 216<br>FAQ8.08 可以在程序运行时才去声明数组的长度吗? 218<br>FAQ8.09 如何使用结构数组? 219<br>FAQ8.10 如何理解联合? 221<br>FAQ8.11 使用联合是否能够节省内存? 222<br>FAQ8.12 如何使用位字段结构? 224<br>FAQ8.13 是否可以对指针进行类型转换? 226<br>FAQ8.14 两次释放同一指针会产生什么结果? 227<br>FAQ8.15 指针占用的内存空间是否与基类型有关? 229<br>FAQ8.16 什么是空指针?哪些情况会用到空指针? 229<br>FAQ8.17 使用指针变量操作字符串和使用字符数组操作字符串有什么不同? 231<br>FAQ8.18 如何将指针操作作为函数参数? 233<br>FAQ8.19 指针函数和函数指针分别是什么? 234<br>FAQ8.20 指针如何进行运算? 237<br>FAQ8.21 如何将指针作为函数返回值? 238<br>FAQ8.22 如何使用指向字符串指针的指针? 240<br>FAQ8.23 最多可以使用多少级指针? 242<br>FAQ8.24 为什么使用结构?如何声明结构? 243<br>FAQ8.25 C语言如何为结构分配内存空间? 246<br>FAQ8.26 free()函数如何决定到底释放多大的内存空间? 247<br>FAQ8.27 如何使用结构作为函数参数? 249<br>FAQ8.28 如何使用指向结构体的指针? 251<br>FAQ8.29 结构体和共用体有哪些异同点? 253<br><br>第9章 DOS服务和BIOS服务 256<br>FAQ9.01 如何理解DOS服务和BIOS服务? 256<br>FAQ9.02 如何理解寄存器? 258<br>FAQ9.03 如何理解软件中断? 260<br>FAQ9.04 如何使用BIOS访问指针? 261<br>FAQ9.05 如何暂时挂起程序? 263<br>FAQ9.06 如何控制声音? 264<br>FAQ9.07 如何应用BIOS键盘服务? 265<br>FAQ9.08 如何获取BIOS设备列表? 268<br>FAQ9.09 如何控制串行接口的I/O? 270<br>FAQ9.10 如何判断BIOS常规内存数量? 272<br>FAQ9.11 如何分配动态内存? 273<br>FAQ9.12 动态分配的内存空间会被自动释放吗? 274<br>FAQ9.13 malloc()与calloc()函数的区别? 276<br>FAQ9.14 如何解决64KB堆的限制? 277<br>FAQ9.15 如何从堆栈中分配内存? 278<br>FAQ9.16 如何改变被分配内存区域的大小? 280<br><br>第10章 日期与时间 282<br>FAQ10.01 如何使用单个数字存储日期信息?必须遵循什么标准? 282<br>FAQ10.02 如何获取当前的日期与时间? 284<br>FAQ10.03 如何判断程序的耗时? 286<br>FAQ10.04 如何设置DOS系统时间与系统日期? 289<br>FAQ10.05 如何读取BIOS计时器? 290<br>FAQ10.06 如何获取与设置系统日期以及系统时间? 292<br>FAQ10.07 如何处理日期与字符串之间的转换? 293<br>FAQ10.08 如何创建格式化日期与时间串? 294<br><br>第11章 重定向I/O与进程命令行 297<br>FAQ11.01 如何编写密码函数? 297<br>FAQ11.02 如何使用输入/输出重定向? 299<br>FAQ11.03 如何使用管道运算符? 300<br>FAQ11.04 如何自定义more命令? 301<br>FAQ11.05 如何防止I/O重定向? 303<br>FAQ11.06 如何应用STDPRN文件句柄? 304<br>FAQ11.07 如何将重定向输出分割到一个文件中? 305<br>FAQ11.08 如何应用STDAUX文件句柄? 306<br>FAQ11.09 如何使用命令行变元? 307<br>FAQ11.10 如何从命令行中显示文件内容? 309<br>FAQ11.11 如何创建定时的more命令? 310<br>FAQ11.12 如何在重定向输入内寻找字串? 312<br>FAQ11.13 如何指定重定向输入显示行数? 313<br>FAQ11.14 如何定义在程序结束时执行的函数? 314<br><br>第12章 C语言开发常见错误及程序调试 316<br>FAQ12.01 使用C语言开发会遇到哪些常见错误? 316<br>FAQ12.02 程序调试包括哪几步? 320<br>FAQ12.03 如何使用编译工具找出错误信息对应代码位置? 321<br>FAQ12.04 如何检测内存漏洞? 323<br>FAQ12.05 如何让程序发送失败报告? 324<br>FAQ12.06 哪些原因会导致运行的程序挂起? 326<br>FAQ12.07 没有声明函数原型会造成怎样的结果? 329<br>FAQ12.08 函数参数的个数有限制吗? 332<br>FAQ12.09 exit()函数与return语句有什么不同吗? 334<br>FAQ12.10 return语句是必须存在的吗? 336<br>FAQ12.11 退出main()函数就意味着程序运行的结束吗? 339
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证