图书介绍
C语言程序设计疑难解析与技巧300例PDF|Epub|txt|kindle电子书版本网盘下载
![C语言程序设计疑难解析与技巧300例](https://www.shukui.net/cover/69/31249587.jpg)
- 何晓霞,陈旭斌,王立龙等编著 著
- 出版社: 北京:中国铁道出版社
- ISBN:9787113094515
- 出版时间:2009
- 标注页数:247页
- 文件大小:81MB
- 文件页数:261页
- 主题词:C语言-程序设计
PDF下载
下载说明
C语言程序设计疑难解析与技巧300例PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 初识C语言1
1-1 C语言是如何成熟的2
1-2 使用C语言编写程序有什么优点2
1-3 C语言语句简练表现在哪些方面3
1-4 如何利用C语言的弱类型特性3
1-5 如何利用C语言移植性好这一特性4
1-6 如何规避C语言的不足之处4
1-7 C语言主要应用在哪些领域4
1-8 如何理解C+十是C语言的超集5
1-9 C语言的开发过程包括哪些步骤5
1-10 C语言中,程序、文件、函数三者有何关系5
1-11 组成C语言程序的最小可执行单元及最小模块单元是什么5
1-12 如何保证程序的可读性6
1-13 为什么说算法是程序设计的关键6
1-14 结构化程序设计包含的三种基本结构是什么7
1-15 如何在Turbo C 2.0中输入一个程序8
1-16 选用什么方法来调试程序比较好10
1-17 如何掌握优秀的编程风格11
1-18 在编写输入语句时应当注意什么12
1-19 多文件程序如何实现12
第2章 数据类型13
2-1 如何区分常量和变量14
2-2 数据在内存中是如何存储的14
2-3 怎样合理使用整型数据类型14
2-4 怎么界定数字型变量的范围15
2-5 超出int型数据取值范围的数如何进行赋值15
2-6 不同进制的整型数据之间怎么样进行运算16
2-7 如何正确确定实型数据的有效数字位数16
2-8 C语言中允许使用的浮点数包括什么17
2-9 单精度型和双精度型实型变量有什么区别17
2-10 怎样区分字符常量与字符串常量18
2-11 如何理解字符与整数之间的关系18
2-12 数字在计算机中的表示方法和存储方法分别有哪些19
2-13 为什么C语言的常量通常用符号常量替代19
2-14 字符串常量后面的' '的含义是什么20
2-15 如何规定常量的前缀和后缀20
2-16 如何有效使用转义字符21
2-17 怎么合理给变量取名21
2-18 说明一个变量和定义一个变量有什么区别22
2-19 如果程序中出现没有定义的变量会发生什么现象22
2-20 变量必须初始化吗?给变量赋初值和赋值有什么区别23
2-21 一个float变量赋值为3.1时,为什么printf()函数输出的值为3.099999923
2-22 如何确定变量所占内存空间24
2-23 编写程序将小写字母转换为大写字母24
2-24 如何避免在自动转换数据类型过程中损失数据精度25
2-25 什么时候应该对数据类型进行强制转换26
2-26 事先定义类型的变量经过强制转换后,它的类型会发生变化吗26
第3章 运算符和表达式27
3-1 如何利用运算符的优先级和结合性28
3-2 运算符的结合性总是保证“自左至右”或“自右至左”吗28
3-3 “5/2”和“5%2”的结果分别是什么29
3-4 如何区分“,”是运算符还是分隔符30
3-5 什么是左值和右值?数组名为什么不能作为左值30
3-6 表达式“a=b”和“a==b相同吗31
3-7 赋值运算符两边的数据类型不相同怎样处理31
3-8 试用三目运算符找出三个数中的最大值32
3-9 计算表达式值时需要注意什么32
3-10 怎样将数学表达式转化为算术表达式33
3-11 C语言中有哪些简化的运算表达式33
3-12 计算逻辑表达式有什么特殊要求33
3-13 如何确定条件表达式结果的数据类型34
3-14 “++”和“--”运算时需要注意什么35
3-15 C语言系统如何处理表达式a+++b36
3-16 如何避免表达式的二义性36
3-17 在一个表达式中,有几种不同类型的变量如何处理37
第4章 语句38
4-1 怎么区分赋值表达式和赋值语句39
4-2 如何利用空语句39
4-3 举例说明复合语句的用途39
4-4 复合语句与分程序有什么区别40
4-5 if语句后面的括号中的表达式可以是什么类型40
4-6 举例说明if语句的判断流程41
4-7 if语句中else个数是否有限制42
4-8 在含有多个if..else语句中,怎样判断哪个else是属于哪个if的语句43
4-9 举例说明switch语句的判断流程44
4-10 什么时候使用switch语句比使用if语句好45
4-11 switch语句中default关键字是否必须有46
4-12 在switch语句中使用break语句应该注意什么47
4-13 利用三种循环体分别编写:从1加到100的程序48
4-14 while语句中循环条件可以使用什么表达式48
4-15 while语句和do...while语句有什么区别49
4-16 for语句后面的三个表达式是否可以省略50
4-17 如何判断for循环语句中循环体的循环次数50
4-18 怎样将for循环转换为while循环51
4-19 编写程序:使用穷举法来判断一个数是否是素数52
4-20 如何避免循环结构中累加(乘、减)变量忘记置初值或置初值的位置不对的错误52
4-21 空循环是不是就是无限循环53
4-22 如何判定循环结束?循环提前结束如何判定53
4-23 continue语句和break语句有什么区别53
4-24 循环嵌套时需要注意些什么54
4-25 如何利用循环嵌套输出菱形54
4-26 如何使用辗除法求最大公约数和最小公倍数55
4-27 怎样提高循环语句的执行效率.55
4-28 C语言提供了哪些转向语句?有什么特点56
4-29 为什么要慎用goto语句56
4-30 返回语句return在一个函数体内必须使用吗?并且只能使用一次吗57
第5章 函数和存储类别58
5-1 怎样定义一个函数59
5-2 定义函数时比较容易犯的错误包括什么59
5-3 怎么区分函数定义和函数说明60
5-4 如何正确理解函数分类60
5-5 如何确定是否需要函数说明61
5-6 如何区分函数的简单说明和原型说明61
5-7 在函数定义中如何利用关键字void62
5-8 什么是空函数63
5-9 什么是库函数?常用的库函数包括什么63
5-10 一个有返回值的函数,调用时不使用其返回值会出现什么现象63
5-11 调用一个函数有几个返回值64
5-12 函数的形参和实参有什么区别65
5-13 main函数的参数如何设置?其参数有什么作用66
5-14 函数定义时不作任何类型说明,这种定义代表什么67
5-15 C语言中函数的调用方式有哪几种67
5-16 函数传值调用时对函数参数有什么要求68
5-17 函数的参数传递有哪几种?有什么区别68
5-18 举例说明如何嵌套调用函数69
5-19 举例说明怎样使用函数的递归调用71
5-20 exit()函数与return语句功能有什么不同73
5-21 在C语言中如何调用库函数73
5-22 C语言中标识符、语句标号、变量和函数的作用域分别是怎样规定的74
5-23 变量的存储类有什么作用74
5-24 变量存储在内存的什么地方74
5-25 C语言中变量“寿命”有哪些种类75
5-26 作用域和“寿命”有什么关系75
5-27 哪些存储类变量属于全局变量?哪些存储类变量属于局部变量76
5-28 举例说明auto变量是局部有效的76
5-29 为什么寄存器变量不能随意使用77
5-30 为什么要尽量不要过多定义静态变量78
5-31 外部静态变量和内部静态变量如何区分78
5-32 外部变量的定义和外部变量的说明一样吗79
5-33 如何理解外部变量是实现函数之间数据通信的有效手段80
5-34 各存储类变量未被编译系统赋值或赋初值时能否使用81
5-35 C语言怎样规定外部函数和内部函数81
第6章 数组83
6-1 什么情况下需要定义数组这种数据结构84
6-2 数组下标总是从0开始的吗84
6-3 C语言为什么不进行数组下标有效性检查84
6-4 数组下标使用小数会出现什么情况85
6-5 定义数组时数组元素个数的位置上能不能出现变量85
6-6 用数组名作函数参数与用数组元素作实参有什么不同之处S6
6-7 在给一维数组赋初值时,对数组元素个数和初始值表中的数据项的个数有何要求88
6-8 举例使用循环对数组赋值和输出88
6-9 什么是信号变量?它有什么功能89
6-10 为什么要谨慎对待紧跟在数组后面的元素90
6-11 如何使用冒泡法进行数组元素排序90
6-12 举例使用比较交换法进行数组排序91
6-13 使用选择法排序有什么优点92
6-14 int a[2][3]={ { 1,2,3},{4,5,6}}同int a[2][3]={1,2,3,4,5,6}声明效果相同吗92
6一15 在给二维数组赋初值时,对数组元素个数和初始值表中的数据项的个数有何要求93
6-16 如何利用双循环遍历二维数组的各个元素93
6-17 如何看待二维数组中的行地址与列地址的关系95
6-18 如何利用数组输出杨辉三角95
6-19 什么是字符串?一维字符数组就是字符串吗96
6-20 在给字符数组赋初值时,对数组元素个数和初始值表中的数据项的个数有何要求96
6-21 编写程序:输入五个地区的名称,并按字母顺序排列输出97
6-22 在使用scanf()函数读入字符串时需要注意什么97
6-23 怎样使用字符串输出函数puts()98
6-24 字符串输入函数gets()的功能是什么98
6-25 如何正确使用字符串连接函数strcat()98
6-26 怎样复制字符串99
6-27 如何确定字符串比较函数strcmp()的返回值99
6-28 如何使用测字符串长度函数strlen()99
6-29 'O'和"O"有什么区别100
第7章 指针101
7-1 如何理解指针就是一种变量102
7-2 指针的类型和指针所指向的类型是一样的吗102
7-3 给指针赋值或赋初值时需要注意什么102
7-4 指针运算符与取地址运算符有什么关系103
7-5 指针本身的值和指针所指向的变量的值是否相同103
7-6 空指针有何意义103
7-7 什么是void指针?有什么用途103
7-8 指针所占内存有多少104
7-9 使用只定义而不赋值的指针会有什么后果104
7-10 是否可以将一个float型变量的地址赋给int型指针104
7-11 指针运算和地址运算有什么区别105
7-12 指针变量加上或减去一个整数与一般变量的加减运算有什么区别106
7-13 任何情况下两指针变量相减都有意义吗107
7-14 两个指针可以相加吗?为什么108
7-15 两个指针p<q表示什么108
7-16 如何正确理解指针相互交换的实质108
7-17 指针能作为if语句的条件表达式吗109
7-18 如何避免混淆数组名与指针变量110
7-19 指向数组的指针和指向数组元素的指针有什么区别110
7-20 如何避免指针指向越界错误111
7-21 使用下标法和指针法表示数组中的元素有什么区别?哪一种方法更好111
7-22 什么是指针数组?它主要有些什么应用112
7-23 指向指针的指针和指针数组有什么相似之处113
7-24 在int*p1[2],(*p2)[3];中,p1和有p2什么不同114
7-25 在数组a(3)(4)中,a+1、&a(1)(0).*(a+1)、a(1)分别代表什么115
7-26 使用字符指针有什么好处115
7-27 使用字符串变量指针和字符数组处理字符串有什么不同116
7-28 怎样判断两个字符串相同116
7-29 如何使用指针变量作为函数的参数117
7-30 什么是函数的指针?它与指针函数有什么区别118
7-31 如何用指向函数的指针变量的方式来调用相应的函数118
7-32 用指向函数的指针作为函数的参数有何好处119
7-33 如何正确使用指针函数120
7-34 用指向数组的指针作为函数参数与用数组名作为函数参数有什么区别121
7-35 什么是far指针和near指针,它们有什么区别121
7-36 C语言编译系统允许使用哪些存储模式?应该如何选用存储模式122
7-37 在连接过程中出现DGROUP:group exceeds 64KB信息应该怎么处理122
7-38 什么是const指针122
第8章 编译预处理124
8-1 C语言包含哪些预处理功能125
8-2 怎样正确理解宏定义的实质125
8-3 为什么要使用宏定义125
8-4 宏定义的作用域有多大126
8-5 如何结束宏定义的作用126
8-6 宏定义可以进行嵌套吗127
8-7 在宏定义中必须使用大写字母吗127
8-8 宏定义中括号有什么重要的作用127
8-9 使用宏定义和宏替换时最需要注意的是什么127
8-10 如何区分带参数的宏定义和带参数的函数128
8-11 什么时候使用宏代替函数129
8-12 标准预定义宏包括什么?有什么作用129
8-13 C语言中使用的#和##运算符有什么用途129
8-14 文件嵌入预处理指令有什么作用130
8-15 文件包含只能包含.h文件吗130
8-16 如何建立.h文件131
8-17 文件包含命令格式#include〈file〉与#include "file"有什么区别131
8-18 包含文件可以嵌套吗131
8-19 文件包含在程序中有什么作用131
8-20 在什么时候才对程序中某些内容进行条件编译132
8-21 常用的条件编译##ifdef格式包括什么132
8-22 条件编译##if常用于什么方面133
8-23 如何使用条件编译#ifndef格式133
8-24 什么是行控制预处理指令?它有什么功能134
8-25 怎样检查一个符号是否被定义134
第9章 结构体和联合体135
9-1 如何定义一个结构体136
9-2 定义一个结构体对结构体成员类型是否有所限制136
9-3 说明结构体变量有哪些方法136
9-4 成员运算符(·)和指向结构体成员运算符(->)有什么区别137
9-5 结构体变量成员为数组和结构体变量为数组元素有什么联系137
9-6 结构体变量可以进行哪些运算?与数组运算有什么相似之处138
9-7 怎样正确使用指向结构体变量的指针139
9-8 如何使用结构体变量作为函数参数和指向结构体变量的指针作为函数参数140
9-9 结构体和联合体有什么区别和相同之处140
9-10 如何为联合体变量赋初值142
9-11 如何验证联合体变量的若干成员是共享内存单元的143
9-12 栈和堆分别用来做什么143
9-13 如何正确看待链表这种数据结构体144
9-14 单链表、双向链表和循环链表有什么不同之处144
9-15 举例说明如何建立链表145
9-16 如何查找链表中的结点146
9-17 如何删除链表中的指定结点146
9-18 怎样在链表中指定位置插入一个结点147
9-19 如何看待枚举类型147
9-20 枚举值是如何确定的148
9-21 枚举类型有什么优点149
9-22 如何给枚举类型变量的赋值149
9-23 使用enum关键字定义常量比用#define来定义常量有什么好处149
9-24 如何使用typedef定义类型149
9-25 类型定义是否允许嵌套150
9-26 类型定义有什么用途150
9-27 宏定义和类型定义有什么不同之处151
9-28 什么是位运算,位运算包括哪些152
9-29 9&5的结果是什么152
9-30 915的结果是什么153
9-31 9^5的结果是什么153
9-32 左移运算和右移运算过程中如何补位154
9-33 如何实现左右循环移位154
9-34 什么是位段,位段有什么优点155
9-35 如何正确使用位段155
第10章 文件158
10-1 为什么说“一个C语言文件可以看做是字符流”159
10-2 非缓冲区文件和缓冲区文件有什么区别159
10-3 C语言文件可以分为哪些种类159
10-4 标准文件和一般文件有什么区别160
10-5 常用的C语言库文件包含哪些160
10-6 为什么文件打开后要及时关闭161
10-7 如何定义文件指针?它是怎样获得的162
10-8 在使用打开文件函数fopen()时需要注意什么162
10-9 文件的打开方式有哪些163
10-10 使用fopen()函数打开一个文件时,该文件的读写指针一定指向文件头吗164
10-11 如何正确使用putchar()函数和getchar()函数164
10-12 getchar()函数和getch()函数有什么区别165
10-13 使用printf()函数需要注意什么165
10-14 printf()函数有哪些参数165
10-15 如何选择向屏幕上写数据的函数166
10-16 scanf()函数中参数列表由什么组成167
10-17 scanf()函数有哪些参数?该函数的返回值是什么167
10-18 在使用scanf()函数时需要注意什么168
10-19 在printf()函数和scanf()函数格式符的修饰符“*”有什么作用169
10-20 scanf()函数在输入信息流中遇到非法输入字符如何处理169
10-21 在连续使用scanf()函数时,缓冲区内的剩余字符有何影响169
10-22 scanf()函数中字符格式(%c)和字符串格式(%ls)有什么不同170
10-23 i++作为printf()函数输出项参数和作为赋值表达式一部分有什么区别171
10-24 举例说明在printf()函数的格式说明符中使用大写字母的含义171
10-25 用printf()函数格式符%u能够输出一个负整数吗171
10-26 fgetc()函数的使用需要注意什么172
10-27 如何正确使用写字符函数fputc()172
10-28 fgets()函数的功能是什么174
10-29 如何使用写字符串函数fputs()174
10-30 C语言提供了哪些用于整块数据的读写函数175
10-31 fscanf()函数、fprintf()函数与scanf()函数、printf()函数有什么区别175
10-32 使用EOF和feof()函数判断文件结束有什么区别176
10-33 如何对文件进行随机读写操作176
10-34 检测文件错误用什么函数177
第11章 图形图像和音频179
11-1 怎么打开图形图像模式180
11-2 怎样利用C语言建立独立图形运行程序181
11-3 如何设置屏幕颜色181
11-4 如何利用C语言进行画点操作182
11-5 如何利用C语言进行画线操作182
11-6 如何使用C语言填充封闭图形184
11-7 怎样设定屏幕窗口186
11-8 如何在图形模式下输出文本187
11-9 怎么用C语言播放或者编写音频文件189
第12章 内存管理191
12-1C 语言提供了哪些常用的内存管理函数192
12-2 如何处理C语言常见内存管理问题193
12-3 堆和栈有什么区别194
12-4 高位优先与低位优先的区别是什么195
12-5 什么是“内存泄漏”196
12-6 怎样正确和合理地利用内存这种敏感资源196
12-7 指针参数是如何传递内存的197
12-8 什么是“野指针”198
12-9 有了malloc()/free()函数为什么还要用new()/delete()函数198
12-10 内存耗尽怎么办199
12-11 如何提高文件访问速度200
第13章 C语言应用技巧201
13-1 如何实现C语言的高效编程202
13-2 在使用C语言生成随机数时,如何解决两次运行产生的随机数列相同的问题204
13-3 stdlib.h,math.h和time.h分别有什么用途204
13-4 编写程序时优化数组的寻址有什么技巧205
13-5 怎样才能检测到链表中存在循环206
13-6 程序运行结果为nullpointerassignment表示什么207
13-7 如何实现实现程序到屏幕的无缓冲输出207
13-8 如何在退出main()函数后调用一些特定的函数208
13-9 可以使用sizeof()函数来计算一个指针变量所分配的内存块的大小吗208
13-10 编写一个函数,作用是把一个char组成的字符串循环右移n个209
13-11 请说出static和const关键字作用209
13-12 编写一个C函数:若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1210
13-13 为什么使用const变量来初始化数组时,ANSIC编译器将会报告错误210
13-14 常用键盘扫描码包括什么211
13-15 如何在C程序中显示汉字212
13-16 如何使用C语言进行CGI程序设计213
13-17 什么是中断?有什么作用214
13-18 怎样实现文本模式和图形模式之间的转换214
13-19 如何利用C语言编写一个“棋盘”类游戏217
13-20 使用C语言编写一个网吧电影管理系统220
附录A225