《C语言必须知道的300个问题》PDF下载(高清完整版)
作者:明日科技 | |
出版时间:2012年01月01日 | |
出版社:清华大学出版社 | |
书号ISBN:9787302276678 | |
总页数:396 | |
总字数:59.5W |
这是一本经典的 C 语言书籍,介绍了 C 语言常见的一些疑难问题,并进行了详尽、透彻地解析,非常适合有一定 C 语言基础、想深入了解 C 语言的读者。
这里提供的是《C语言必须知道的300个问题》的高清 PDF 下载,内容完整,附带目录标签。
这本书汇集了 300 个疑难问题,都是一线的 C 语言程序员实际开发中经常遇到的。认真看完这本书,能迅速提升解决实际问题的能力。作为一名老程序员,强烈推荐有 C 语言基础的小伙伴阅读这本书。
下面是一位购买了这本书的读者给出的评价:
这本书非常好,解决了我心中的很多疑问,对 C 语言的认知又深入了一步,不错。
书籍目录
- 第1章 初识C语言
- 问题1 C语言是如何发展起来的?
- 问题3 C语言编写程序的优点有哪些?
- 问题4 如何规避C语言的不足之处?
- 问题5 C语言的应用领域有哪些?
- 问题6 什么是C99标准?与C89标准相比,C99标准有哪些新特性?
- 问题7 C语言是C++的子集吗?
- 问题8 C语言程序的开发过程是怎样的?
- 问题9 什么是编译程序和解释程序?
- 问题10 ANSIC的编译限制有哪些?
- 第2章 一个简单的C程序
- 问题11 C语言的入口函数是什么?
- 问题12 C语言程序由哪些部分组成?
- 问题14 如何在VisualC++6.0中运行一个C程序?
- 问题15 如何在VisualC++2008中运行一个C程序?
- 问题16 如何提高程序的可读性?
- 问题17 什么是关键字?C语言的关键字有哪些?
- 问题18 什么是标识符?使用标识符的注意事项是什么?
- 问题19 void关键字都有哪些用途?
- 问题20 什么是匈牙利命名约定?它是否是好的约定?
- 第3章 算法入门
- 问题21 为什么说算法是程序设计的灵魂?
- 问题23 如何评价一个算法的好坏?
- 问题24 算法的表示方法都有哪些?
- 问题25 算法的基本结构是什么?
- 问题26 算法有哪几类?
- 问题28 什么是算法的时间复杂度?
- 问题29 什么是算法的空间复杂度?
- 问题30 什么是分治法算法思想?
- 第4章 常用数据类型
- 问题31 声明变量和定义变量的区别是什么?
- 问题32 在开发时如何决定使用哪种数据类型?
- 问题34 各种数据类型所占的内存是多少?
- 问题35 字符与字符串的差别有哪些?
- 问题36 变量是否必须初始化?
- 问题37 为什么会发生数据溢出?如何避免数据溢出?
- 问题38 局部变量和全局变量能否重名?
- 问题40 如何引用一个已经定义过的外部变量?
- 问题41 全局变量和局部变量的存储方式有什么区别?
- 问题43 整型常量的表示形式有哪几种?
- 问题45 static关键字有什么作用?
- 问题46 const关键字有什么作用?
- 问题47 const与#define相比有何优点?
- 问题48 sizeof不是函数吗?
- 问题49 float类型数如何与0值比较?
- 问题50 静态变量与自动变量的区别有哪些?
- 第5章 运算符与表达式
- 问题51 运算符的优先级和结合性是怎样的?
- 问题52 如何区分“,”是运算符还是分隔符?
- 问题53 C语言如何解释x=a+=b+c?
- 问题54 x=x+1,x+=1,x++,哪个效率最高?
- 问题56 使用“++”和“--”运算符需要注意些什么?
- 问题58 赋值表达式中什么是左值和右值?数组名作为左右值时又具有怎样的意义?
- 问题59 如何确定条件表达式的结果的数据类型?
- 问题60 “%”运算符是否可以对小数进行运算?
- 问题61 “/”运算符得到的结果一定为整数吗?
- 问题62 在进行多种数据类型混合运算的时候,数据类型自动转换有哪些规则?
- 问题63 C语言中有哪些简化的运算表达式?
- 问题65 i++*i++这样的表达式为什么不能得到预期的结果?
- 问题66 a[i]=i++;这样的代码正确吗?
- 问题68 如何理解c=a,b;?
- 问题69 为无符号类型变量赋值时,数据类型应怎样转换?
- 第6章 输入/输出函数
- 问题71 函数printf()的基本格式是什么?
- 问题72 如何认识printf()函数的格式字符?
- 问题73 函数printf()的标志有几种?如何使用?
- 问题75 如何控制输出精度?
- 问题76 如何控制输出长度?
- 问题77 如何动态设置输出宽度和精度?
- 问题78 printf()函数的返回值是什么?
- 问题79 如何理解输出列表?
- 问题81 scanf()函数的格式字符是什么?
- 问题82 使用scanf()函数应注意的问题是什么?
- 问题83 scanf()函数的返回值是什么?
- 问题84 如何使用getchar()函数?
- 问题85 getch()函数如何使用?
- 问题87 如何应用putch()函数?
- 问题88 puts()函数该如何应用?
- 问题89 如何控制多数值的输入?
- 问题90 如何输入字符数组?
- 第7章 选择、分支结构程序设计
- 问题91 5>4>3为什么不成立——谈谈关系表达式的值
- 问题92 =和==如何区分?
- 问题93 什么叫逻辑短路?
- 问题94 if语句的基本形式有哪些?如何应用?
- 问题95 浮点数的相等比较是否可以用==?
- 问题96 关系运算符和数学不等号有什么区别?
- 问题97 if语句后面一定不能写分号吗?
- 问题98 这个程序为什么多执行了好多语句?
- 问题99 不用关系表达式和逻辑表达式做条件
- 问题100 怎样理解复合语句中的变量?
- 问题101 如何进行if语句的嵌套?
- 问题102 条件运算符“?:”怎样应用?
- 问题103 switch语句的基本格式是什么?
- 问题104 if语句与switch语句的优缺点是什么?
- 问题105 switch语句中的default关键字是否必须?
- 问题107 如何正确判断if和else的匹配?
- 问题108 switch和case后的表达式值的类型是否可以是浮点型?
- 问题109 区段划分型条件有什么技巧?
- 问题110 default必须写在所有case之后吗?
- 第8章 循环结构
- 问题111 循环结构的基本概念是什么?
- 问题112 while语句的基本格式是什么?
- 问题113 while循环应注意什么问题?
- 问题114 for循环语句的基本格式是什么?
- 问题115 for语句的三个表达式都是必须的吗?
- 问题116 do…while语句的基本格式是什么?
- 问题117 分号在循环体中的作用?
- 问题118 while与do…while的区别?
- 问题119 什么是循环嵌套?
- 问题120 循环嵌套的结构是怎样的?
- 问题121 如何正确使用循环嵌套?
- 问题122 死循环是怎样产生的?
- 问题123 怎样提高循环语句的效率?
- 问题124 continue语句的基本作用是什么?
- 问题125 break语句的基本作用是什么?
- 问题126 goto语句的基本格式是什么?如何使用?
- 问题127 goto语句的缺陷是什么?
- 问题128 如何选择循环语句?
- 问题130 如何避免循环中的初值错误问题?
- 第9章 数组
- 问题131 什么是数组?其存储有何特点?
- 问题133 一维数组是怎样定义的?
- 问题134 如何引用一维数组元素?
- 问题135 如何初始化一维数组?
- 问题136 如何设计数组的排序算法?
- 问题137 如何定义二维数组?
- 问题138 如何引用二维数组元素?
- 问题139 如何初始化二维数组?
- 问题140 如何定义字符数组?
- 问题142 如何引用字符数组?
- 问题143 如何进行字符数组的复制?
- 问题144 如何进行字符数组的连接?
- 问题145 如何进行字符串的比较?
- 问题146 如何测定字符串的长度?
- 问题147 如何进行字符串大小写的相互转换?
- 问题148 如何计算字符串中有多少个单词?
- 问题149 gets()函数和scanf()函数在输入字符串时有何区别?
- 问题150 puts()函数和printf()函数在输出字符串时有何区别?
- 问题151 数组与指针的区别是什么?
- 问题152 为什么作为函数形参的数组和指针可以互换?
- 问题153 为什么数组名作参数传递给子函数时,子函数可以改变主函数中数组的值?
- 问题154 C语言中有动态数组吗?
- 问题155 如何实现动态二维数组?
- 问题156 strcpy()函数可以复制字符串的一部分吗?
- 问题157 字符串和字符数组有什么区别?
- 问题158 ‘\0’和“\0”有什么区别?
- 问题159 字符数组占用内存怎样算?
- 第10章 函数编程基础
- 问题161 什么是函数?如何分类?
- 问题162 如何定义无参函数?
- 问题163 如何定义有参函数?
- 问题165 什么是形参和实参?如何使用?
- 问题166 如何从函数返回?
- 问题167 函数返回值你了解多少?
- 问题168 如何进行函数的一般调用?
- 问题169 函数调用的基本方式有几种?各是什么?
- 问题171 如何进行函数的嵌套调用?
- 问题172 什么是递归调用?如何实现?
- 问题173 函数如何将数组元素作为实参?
- 问题174 如何将数组名作为函数参数?
- 问题175 如何将多维数组名作为函数参数?
- 问题176 什么是局部变量?
- 问题177 什么是全局变量?如何应用?
- 问题178 存储方式有哪几种?分别是什么?
- 问题179 如何使用auto关键字?
- 问题180 什么是静态变量?如何实现?
- 问题181 什么是寄存器变量?如何实现?
- 问题182 如何声明外部变量?
- 问题183 如何调用编译后的函数?
- 问题184 如何限定外部变量的使用范围?
- 问题185 如何使用函数调用实现对字符串的统计?
- 问题186 main()函数有什么作用?
- 问题188 什么是外部函数?怎么用?
- 问题189 static()函数与普通函数有什么区别?
- 问题190 形参和实参有什么区别?
- 第11章 指针解析
- 问题191 什么是指针?什么是指针变量?
- 问题192 如何创建指针?
- 问题193 如何初始化指针?
- 问题194 如何使用指针?
- 问题195 函数中如何传递指针?
- 问题196 指针、数组和地址之间的关系是什么?
- 问题197 如何进行指针运算?
- 问题198 如何使用指针操作数组?
- 问题199 如何用指针表示多维数组?
- 问题200 如何使用指针操作多维数组?
- 问题201 如何用指针为函数传递数组?
- 问题202 如何用指针表示字符串?
- 问题203 如何使用字符串指针作为函数参数?
- 问题204 字符数组和字符指针的区别是什么?
- 问题205 什么是指针数组?
- 问题206 如何使用指针数组处理字符串?
- 问题207 如何将指针数组作为函数的参数?
- 问题208 什么是指向指针的指针?
- 问题209 二级指针如何应用于一维数组?
- 问题210 如何实现二级指针对二维数组的操作?
- 问题211 二级指针如何操作字符串数组(指针数组)?
- 问题212 如何理解返回指针的函数?
- 问题213 什么是指向函数的指针?
- 问题214 如何用const控制指针?
- 问题215 什么是“野指针”?
- 问题217 void指针就是空指针吗?它有什么作用?
- 问题218 指针是一种特殊的变量,只能用来保存地址。这句话对吗?
- 问题220 一个32位的机器,该机器的指针是多少位?
- 第12章 常用数据结构
- 问题221 空结构体所占的内存是多少?
- 问题222 在C语言中,一个结构体可以包含指向自己的指针吗?
- 问题223 structperson{...};persona;为什么编译出错?
- 问题224 怎样从/向数据文件读/写结构?
- 问题225 枚举与#define宏的区别有哪些?
- 问题226 如何看待枚举类型,枚举类型的优点是什么?
- 问题227 关键字typedef的功能是什么?
- 问题228 类型定义是否允许嵌套?
- 问题229 typedef与#define宏的相似之处与不同之处是什么?
- 问题230 什么是散列法?
- 问题231 大小端模式对union类型数据有什么影响?
- 问题232 如何为联合体变量赋初值?
- 问题233 如何证明联合体变量的所有成员是共享一个内存单元的?
- 问题234 堆和栈的区别是什么?
- 问题235 举例说明,什么是静态链表?什么是动态链表?
- 问题236 单向链表、双向链表和循环链表有什么区别?
- 问题237 如何在链表中的指定位置插入结点?
- 问题238 如何删除链表中指定位置的结点?
- 问题239 如何创建一个动态链表?
- 问题240 指向结构体数组的指针如何应用?
- 第13章 位运算操作符
- 问题241 什么是位运算?位运算符包括哪些?
- 问题242 移位运算中如何补位?
- 问题243 移位运算符与加减运算符的优先级哪个较高?
- 问题244 什么是循环移位?
- 问题245 什么是位段?其优点是什么?
- 问题246 如何正确使用位段?
- 问题247 数据在计算机中的存储单位有哪些?有几种存储形式?
- 第14章 存储管理
- 问题248 与内存息息相关的重要概念有哪些?
- 问题249 指针指向不合法引起了哪些内存问题?
- 问题250 内存分配与释放引起的常见问题有哪些?
- 问题251 什么是内存越界?什么是内存泄露?二者是如何产生的?
- 问题252 C语言提供了哪些动态内存分配函数?
- 问题253 malloc()函数与calloc()函数有什么区别?
- 问题255 动态内存会被自动释放吗?
- 问题257 free()和delete()怎样处理指针?
- 问题258 怎样利用好敏感的内存资源?
- 第15章 预处理和函数类型
- 问题259 在头文件中#if、_STDC_等字符起什么作用?
- 问题260 如何书写多条语句宏?
- 问题261 预处理中#和##运算符是什么意思?
- 问题262 一个头文件可以包含另一个头文件吗?
- 问题263 #include<>和#include“”有什么区别?
- 问题264 什么是无参宏定义?
- 问题265 什么是带参宏定义?
- 问题266 怎样写参数个数可变的宏?
- 问题267 #pragma预处理的作用是什么?
- 问题268 条件编译的表达形式有哪些?
- 问题269 如何应用内部函数?
- 问题270 如何应用外部函数?
- 第16章 文件的读写操作
- 问题271 各个读写操作的区别是什么?
- 问题272 C语言文件有哪几类?
- 问题273 怎样写数据文件,使之可以在不同字大小、字节顺序或浮点格式的机器上读入?
- 问题274 能否使用fflush()函数清除多余的输入?
- 问题275 fopen()函数打开文件失败的原因是什么?
- 问题276 为什么打开文件后要及时关闭?
- 问题278 如何正确使用putchar()函数和getchar()函数?
- 问题279 getchar()函数、getch()函数和getche()函数的区别是什么?
- 问题280 使用printf()函数和scanf()函数需要注意什么?
- 问题281 printf()函数有哪些参数?
- 问题282 scanf()函数的格式控制包括哪些?
- 问题283 printf()函数和scanf()函数格式符的修饰符“*”有什么作用?
- 问题284 fscanf()函数、fprintf()函数与scanf()函数和printf()函数有什么不同?
- 问题285 如何判断文件的结束?
- 第17章 图形图像处理
- 问题286 为什么在使用图形函数时要首先初始化图形模式?
- 问题288 初始化时提示“BGIError:Graphicsnotinitialized(use'initgraph')”怎么办?
- 问题289 怎样利用C语言建立独立的图形运行程序?
- 问题290 TC中有几个画线函数?怎么使用?
- 问题291 TC中有几个画矩形函数?怎么使用?
- 问题292 TC中有几个画圆函数?怎么使用?
- 问题293 如何使用C语言填充封闭图形?
- 问题294 TC中有几个和光标有关的函数?怎样使用?
- 问题295 如何在图形模式下输出文本?
- 问题296 背景色、线条颜色和填充颜色有什么区别?何时使用?
- 问题297 怎样记住那么多的颜色?
- 问题298 线条样式和填充样式都有哪些?怎样设置?
- 问题299 怎样复制图形?
- 问题300 怎样在C语言中制作动画?
书籍下载
免费下载完整版 PDF,文件名称:《C语言必须知道的300个问题》.pdf