《C/C++使用技巧1001例》求取 ⇩

第一章C语言学习初步1

技巧1 编程简介1

目 录1

技巧2 建立ASCII源文件2

技巧3 C语言程序的编译2

技巧4 理解语法规则的错误3

技巧5 典型C程序的结构4

技巧6 给程序增加语句5

技巧7 屏幕显示另起一行5

技巧8 C语言中区分字母的大小写6

技巧9 理解逻辑错误(BUGS)7

技巧10理解程序的开发过程7

技巧11理解文件的类型8

技巧12进一步理解连接程序9

技巧14 帮助编译器定位头文件10

技巧13理解头文件10

技巧15加快编译速度11

技巧16程序注释11

技巧17提高程序的可读性12

技巧18注意编译器的警告消息13

技巧19控制编译器的警告消息13

技巧20将语句注释掉14

技巧21 名字中有什么?15

技巧22理解C语言中的分号15

技巧23变量的理解15

技巧24给程序中变量赋值16

技巧25理解程序中的变量类型16

技巧26声明同种类型的多个变量17

技巧27声明变量时应加注释17

技巧30使用有意义的变量名18

技巧29变量声明时对变量的多个初始化18

技巧28在变量声明时进行18

技巧31理解C语言的关键字19

技巧32理解整型变量(int)19

技巧33理解字符型变量(char)20

技巧34理解浮点型变量(float)20

技巧35理解双精度型变量(double)21

技巧36给浮点数赋值21

技巧37理解类型修饰符21

技巧38理解无符号的类型修饰符(unsigned)22

技巧39理解长类型修饰符(long)22

技巧40 unsigned和long类型修饰符的结合使用23

技巧41大数值的便用24

技巧42理解寄存器类型修饰符(register)24

技巧43理解短类型修饰符(short)24

技巧45理解带符号类型修饰符(signed)25

技巧44 当变量定义中有类型修饰符时可以省略int25

技巧46多重赋值运算26

技巧47将一种类型的变量值赋给不同类型的变量26

技巧48建立自己的类型26

技巧49赋于16进制或8进制的值27

技巧50溢出的理解27

技巧51理解变量的精度28

技巧52引号及其它字符的赋值运算29

技巧53 printf语句30

技巧54使用printf显示整型数31

技巧55用八进制或十进制显示整型数31

技巧56用printf显示无符号整型数32

技巧57使用printf显示长整型数值33

技巧58使用printf显示浮点数33

技巧59使用printf显示字符34

技巧60使用指数格式显示浮点数34

技巧61使用十进制或指数格式显示浮点数35

技巧63用printf显示指针地址36

技巧62用printf显示字符串36

技巧64带符号显示数值37

技巧65使用printf格式输出一个整数37

技巧66整数输出前面置零38

技巧67#显示八进制和十六进制数的前缀39

技巧68用printf格式化输出一个浮点数40

技巧69指数格式化输出40

技巧70 printf输出左对齐41

技巧71 printf中的格式修饰符的综合使用42

技巧72字符串延续至下一行42

技巧73远近字符串的显示43

技巧74在printf中使用转义码43

技巧75 printf所显示字符数的确定44

技巧77使用ANSI设备驱动程序45

技巧76使用printf的返回值45

技巧78利用ANSI转义序列清除屏幕46

技巧79利用ANSI转义序列控制显示内容的颜色46

技巧80利用ANSI驱动程序定位光标47

技巧81 C语言中的基本数学运算47

技巧82算术中的模运算48

技巧83理解运算符的优先级49

技巧84 对运算符求值顺序的强制50

技巧85 理解C语言加运算符51

技巧86 理解C语言减1运算符52

技巧87 理解位的或运算54

技巧88理解位的与运算55

技巧89理解位的异或运算55

技巧90理解位的反运算57

技巧91 对变量自身进行运算57

技巧92 理解C的条件运算符58

技巧93 理解C的变量大小运算符59

技巧94执行移位操作59

技巧95 执行位循环移位61

技巧96 对条件运算符的理解62

技巧97 对循环过程的理解62

技巧98 C语言是如何表示条件真假的62

技巧99 使用if测试条件63

技巧100单条语句和复合语句的理解63

技巧101等式测试64

技巧102关系运算65

技巧103用逻辑与判断两个条件66

技巧104用逻辑或判断两个条件66

技巧105逻辑反运算67

技巧106条件运算结果的被赋值67

技巧107在复合语句中定义变量68

技巧108使用缩进方式提高程序的可读性69

技巧109扩展Ctrl-Break检查的使用70

技巧110检测浮点值71

技巧111无限循环71

技巧112 for语句中的一部分是可选的72

技巧113测试一个赋值语句73

技巧114对if和if—else的认识74

技巧115语句重复执行指定的次数75

技巧116 for语句当中的减量值76

技巧117 for循环增量的控制78

技巧118 for循环不仅适用于整型变量78

技巧119对空循环的理解79

技巧120对无限循环的理解80

技巧121一个for循环中使用逗号运算符80

技巧122避免在for循环中改变控制变量的值81

技巧123使用While循环81

技巧124对while循环语句中部分的理解83

技巧125使用do来重复执行一条或多条语句84

技巧126对继续语句的理解86

技巧127用break语句来结束一个循环87

技巧128使用goto分支88

技巧129测试多个条件89

技巧130对switch中break语句的理解91

技巧131 用switcb语句的default用法93

第二章宏和常量95

技巧132在程序中定义一个常量95

技巧133宏和常量的展开96

技巧134给常量和宏命名97

技巧135使用_FILE_预处理常量97

技巧136使用_LINE_预处理常量98

技巧137改变预处理器常数的值98

技巧138产生一个非条件预处理器错误99

技巧139其它的预处理器常量100

技巧140记录预处理器的日期和时间100

技巧141 测试是否与ANSI C兼容100

技巧142测试编译器是否支持C++101

技巧143解除宏或常量的定义101

技巧144宏和函数的异同102

技巧145对编译器指令的理解102

技巧146进一步学习宏、常量和预处理指令102

技巧147建立自己的头文件103

技巧148 #include<文件名>和#include”文件名”的比较103

技巧149测试是否定义一个符号103

技巧150执行If—Else预处理104

技巧151测试更强的预处理条件104

技巧152执行If—Else和Else—If预处理105

技巧154建立自己的宏106

技巧153使用多行宏和常量106

技巧155在宏定义中不能使用分号107

技巧156建立求最大最小值的宏107

技巧157建立求平方和立方的宏108

技巧158注意宏定义中空格109

技巧159对宏中括号的理解109

技巧160宏是无类型的110

第三章字符串112

技巧161字符串的形象化说明112

技巧162编译器如何表示一个字符串112

技巧163 C如何存贮字符串113

技巧164“A”和‘A’有什么区别114

技巧165在一个字符串常量中如何表示一个引号115

技巧166决定串的长度115

技巧167 strlen函数的使用116

技巧168字符串的复制117

技巧169字符串相加118

技巧170把n个字符加到一个字符串后119

技巧171 把一个串变换成另一个串120

技巧172不要超出一个字符串的边界121

技巧173判断两个字符串是否相同121

技巧174 大小写忽略时字符串相等的判断122

技巧175把字符串转换为全大写或全小写字母123

技巧176在字符串中查找某个字符124

技巧177返回某字符在字符串中第一次出现的位置126

技巧178确定某字符在字符串中的最后出现位置126

技巧179返回某字符在字符串中最后出现的位置127

技巧180远串调用128

技巧181 支持远串调用的函数129

技巧182统计一个字符串中某字符出现的次数129

技巧183反转字符串的内容129

技巧184用某一指定字符来填充字符串130

技巧185两个字符串的比较131

技巧186 比较两个中开始的n个字符132

技巧187进行大小写忽略的串比较134

技巧188把一个字符串转换为数135

技巧189复制一个字符串的内容135

技巧190找出字符串中第一个不属于给定字符集的字符137

技巧191 确定一个子串在源串中的位置138

技巧192给出现的子串计数139

技巧193获得子串出现的位置139

技巧194获得最后出现的子串指针140

技巧195 不用%s格式修饰符来显示串140

技巧196一个字符串中删除一个子串141

技巧197使用其它子串来替换一个子串142

技巧198转换一个ASCII数字表达式(ASCII Numeric Representation)143

技巧200判断一个字符是否是字母表中的一个字母144

技巧201 判断一个字符是否为一个ASCII值144

技巧199判断一个字符是否是字母数字(Alphanumeric)144

技巧202判断一个字符是否为控制字符145

技巧203判断一个字符是否是数字(Digit)145

技巧204判断一个字符是否是一个图形字符(Graphics Character)145

技巧205判断一个字符是大写字母还是小写字母146

技巧206判断一个字符是否可打印146

技巧208判断一个字符是否为空白字符147

技巧209决定一个字符是否为十六进制数值147

技巧207判断一个字符是否是标点符号147

技巧210将一个字符转换成大写形式148

转换211把一个字符转换成小写字母149

技巧212使用ASCII字符150

技巧213将格式化输出结果送到一个字符串变量150

技巧214从字符串中读取参数151

技巧215标识(tokenizing)串以节省空间152

技巧216初始化字符串152

技巧218对局部变量的理解154

第四章函数154

技巧217返回值不是整型的函数154

技巧219函数是如何使用堆栈的155

技巧220对函数调用开销的理解155

技巧221 C把局部变量放在哪里157

技巧222声明全局变量157

技巧223为什么程序应该尽量避免使用全局变量158

技巧224解决全局和局部变量名的冲突158

技巧225优化全局变量的有效范围159

技巧226对函数值参(call by value)调用的理解160

技巧227为什么值参调用能防止参数值的改变161

技巧228对形参调用(call refetence)的理解162

技巧229获得变量的地址162

技巧230使用变量的地址163

技巧231改变参数的值165

技巧232仅改变指定的参数166

技巧233形参调用仍要使用堆栈167

技巧234能记住的函数内部变量167

技巧235 C是如何初始化静态变量的169

技巧236按pascal调用顺序传递参数169

技巧237 pascal关键字真正做了什么169

技巧238混合语言编程的例子170

技巧239对cdecl关键字的理解171

技巧240对递归的理解171

技巧241对递归factorial函数的理解172

技巧242另一个递归例子173

技巧243通过显示数值进一步理解递归174

技巧244直接递归和间接递归175

技巧245使用或不使用递归175

技巧246为什么递归函数要慢177

技巧247如何取消递归177

技巧249传递具体的数组元素178

技巧248把串传递给函数178

技巧250对参数中const的理解179

技巧251使用const不能防止参数的改变180

技巧252解决名字冲突问题180

技巧253对无界串说明的理解181

技巧254 比较指针声明和串声明182

技巧255如何在堆栈中使用串参数183

技巧256对外部变量的理解183

技巧257 extern的使用184

技巧258对外部静态变量的理解185

技巧259对volatile关键字的理解186

技巧260对调用帧(CallFrame)和基地址指针(BP)的理解186

技巧261调用汇编语言函数187

技巧262从汇编语言函数中返回数值189

技巧265对auto关键字的理解190

技巧264不使用参数的函数190

技巧263不返回结果的函数190

技巧266理解C的域(SCOPE)191

技巧267对命名区(Name Space)和标识符的理解191

技巧268对标识符可视性(Visibilily)的理解192

技巧269理解变量寿命(Duration)192

技巧270支持参数个数不定的函数193

技巧271支持个数不定的参数193

技巧272 Va_start,Va_arg和Va_end是如何工作的194

技巧273建立支持多种类型多种参数的函数195

技巧274对函数的理解197

技巧275在函数中使用变量198

技巧276 main也是函数199

技巧277参数使用初步199

技巧278使用多个参数201

技巧280从函数中返回结果202

技巧279旧C程序中的参数声明202

技巧281 return语句的理解204

技巧282对函数原型的理解204

技巧283对运行库的理解205

技巧284对形式参数和实参数的理解206

技巧285对作用域的理解207

第五章热键和屏幕I/O209

技巧286从键盘上读字符209

技巧287显示字符210

技巧288对缓冲区输入的理解210

技巧289把键盘输入内容赋给串211

技巧290把getchar和putchar结合起来使用212

技巧291记住,getchat和putchar都是宏212

技巧292用直接I/O来读入字符213

技巧294使用‘\r’和‘\n’214

技巧293字符不回显的直接键盘输入214

技巧295执行直接输出215

技巧296将输入的字符放回到键盘缓存区中216

技巧 297 使用cprintf来快速格式化输出217

技巧298快速的格式化键盘输入219

技巧299写字符串219

技巧300使用直接I/O快速输出字符串221

技巧301 从键盘上读字符串222

技巧 302字符串的快速输入222

技巧303输出彩色文本223

技巧304清除屏幕内容224

技巧305清除当前行的内容直到行尾224

技巧306删除当前行的内容224

技巧307 屏幕光标的定位225

技巧308获得当前光标的行和列位置226

技巧309在屏幕上插入空行227

技巧 310把屏幕的文本内容复制到内存中228

技巧311 将保存的文本恢复到屏幕上229

技巧312获得文本模式的设置参数230

技巧313控制屏幕的颜色231

技巧314设置背景颜色232

技巧315使用 textcolor设置前景颜色233

技巧316使用textbackground设置背景颜色235

技巧317控制字符亮度236

技巧318获得当前的文本显示模式236

技巧319在屏幕上移动文本237

技巧320定义文本窗口238

第六章计算240

技巧321求整数表达式的绝对值240

技巧322反余弦值的计算241

技巧323反正弦值的计算241

技巧324反正切值的计算242

技巧325复数绝对值的计算243

技巧326浮点数的向上取整244

技巧327余弦值的计算244

技巧328双曲余弦的计算245

技巧329执行整数除法246

技巧330幂的计算247

技巧331浮点数绝对值的计算247

技巧332浮点除法余数的计算248

技巧333浮点数的有效数和指数的使用249

技巧334计算X*2?的结果250

技巧335 自然对数的计算251

技巧336 log10x的计算252

技巧337求数的最大值和最小值252

技巧338把浮点值分成整数部分和小数部分253

技巧339 Xn幂的计算254

技巧340 10x的计算255

技巧341 随机数的产生256

技巧342产生一个指定范围的随机数257

技巧343指定随机数产生种子257

技巧344正弦值的求解258

技巧345双曲正弦的计算259

技巧346平方根的计算260

技巧347正切值的计算260

技巧348双曲正切的计算261

技巧349建立自己的数学错误句柄261

第七章文件、目录和磁盘264

技巧350判断当前盘号264

技巧351 设置指定驱动器为当前盘264

技巧352判断有效的磁盘空间265

技巧353 对DBLSPACE的认识266

技巧354读文件分配表(FAT)的信息267

技巧356对扇区进行绝对的读写268

技巧355对磁盘ID的理解268

技巧357基于BIOS磁盘I/O操作269

技巧358测试软盘驱动器是否就绪271

技巧359将格式化的信息输出到文件271

技巧360文件更名272

技巧361删除文件273

技巧362判断文件的存取权限274

技巧363设置文件的存取方式276

技巧 364进一步控制文件属性277

技巧365对文件流错误的测试279

技巧366获得文件的大小281

技巧367清理I/O流282

技巧368一步关掉所有打开的文件282

技巧369得到文件流的文件句柄283

技巧370使用p_tmpdir建立临时文件284

技巧372建立真正的临时文件285

技巧371 使用TMP或TEMP建立临时文件名285

技巧373删除临时文件286

技巧374在命令行定义的路径中搜索文件286

技巧375 在DOS环境变量的目录列表中搜索文件287

技巧376在TEMP目录中打开文件288

技巧377减少文件I/O的操作289

技巧378对目录名中斜杠的认识290

技巧379改变当前目录290

技巧380创建目录291

技巧381删除目录292

技巧382删除目录树292

技巧383建立一个完整的路径名295

技巧384分解带路径的文件名296

技巧 385建立路径名297

技巧386使用低级函数来打开和关闭文件298

技巧387创建文件300

技巧388执行低级的读和写操作301

技巧389测试文件末尾302

技巧390低级文件操作函数的使用302

技巧391指定文件的翻译模式303

技巧392使用Iseek定位文件指针304

技巧393打开20个以上的文件304

技巧394使用基于DOS的文件服务305

技巧395获得文件的日期和时间306

技巧396使用位字段来获得文件的日期和时间308

技巧397设置文件的日期和时间记录309

技巧398把文件日期和时间的记录设置为当前日期和时间311

技巧399一次只读写一个字311

技巧400改变文件的大小313

技巧401控制读写文件的打开操作314

技巧402指定一个文件缓冲器316

技巧403分配文件缓冲区317

技巧404使用mktemp来建立专门的文件名318

技巧405读和写结构变量319

技巧406从一个文件流中读结构中的数据321

技巧407复制文件句柄323

技巧408强制文件句柄的设置324

技巧409将文件句柄与文件流相关联325

技巧410对文件共享的理解325

技巧411打开可共享存取文件326

技巧412锁定文件的内容327

技巧413灵活的文件锁定控制329

技巧414使用DOS目录331

技巧415打开一个目录331

技巧416读目录项332

技巧417 目录操作综合例子—读C:\DOS332

技巧419递归读取磁盘文件333

技巧418目录复位333

技巧420确定当前文件指针的位置335

技巧421打开共享文件流336

技巧422在指定目录中建立专门文件337

技巧423创建新文件338

技巧424使用fopen打开文件339

技巧425对FILE结构的理解340

技巧426关闭打开的文件341

技巧427每次读写信息的一个字符342

技巧428对文件指针中位置指针的理解343

技巧429确定当前文件位置343

技巧430对文件流的理解344

技巧431对文件翻译模式的理解344

技巧432对CONFIG.SYS FILES=Entry的理解345

技巧433低级和高级文件I/O346

技巧434对文件句柄的理解346

技巧436显示文件处理表的内容347

技巧435对文件处理表的理解347

技巧437理解系统文件表349

技巧438显示系统文件表349

技巧439对流指针和文件句柄关系的理解352

技巧440打开20个以上的文件353

技巧441 使用DOS服务来存取文件353

技巧442强制打开二进制文件或文本文件356

技巧443读和写文本文件行356

技巧444 fgets和fputs的使用357

技巧445强制二进制文件的转化358

技巧446 为什么TEXTCOPY不能复制二进制文件358

技巧447测试文件的结束(文件尾)358

技巧448退回一个字符359

技巧449格式化的读取文件数据359

技巧450文件指针的相对移动360

技巧451获得文件句柄信息361

技巧452重新打开文件流363

第八章数组、指针和结构364

技巧453对数组的理解364

技巧454声明一个数组364

技巧455对数组图示365

技巧456对数组内存要求的理解366

技巧457数组的初始化366

技巧458存取数组元素367

技巧459遍历数组元素368

技巧460使用常量来定义数组369

技巧461把数组传递给函数370

技巧462不同大小的数组参数370

技巧463串数组如何区分371

技巧464 在堆栈中传递数组………………………………………………………………………(3??)技巧465 一个数组能存贮多少元素372

技巧466使用大数组时的内存模式372

技巧467数组与动态内存的折衷比较373

技巧469对行和列的理解374

技巧 468对多维数组的理解374

技巧470 存取二维数组中的元素375

技巧 471 初始化二维数组中的元素375

技巧472确定多维数组所需的内存数量376

技巧 473遍历二维数组377

技巧474遍历三维数组378

技巧475初始化多维数组378

技巧 476传递二维数组给函数379

技巧477把多维数组作为一维数组来处理380

技巧478C是如何存贮多维数组的381

技巧 479行主排序与列主排序的比较382

技巧480结构数组的数组383

技巧481 对联合(UNION)的理解383

技巧 482使用联合来节省存贮器384

技巧483使用REGS??一种典型的联合385

技巧484 使用REGS联合386

技巧485对位域的理解387

技巧486位域结构的直观理解389

技巧487位域结构所能够存贮数值的范围解389

技巧488在数组中查找一个具体数值390

技巧489对二分法检索的理解390

技巧490使用二分法检索391

技巧491给数组排序392

技巧492对气泡排序的理解392

技巧493气泡排序的使用393

技巧494对选则排序的理解394

技巧495选则排序的使用395

技巧496对希尔排序的理解396

技巧 497希尔排序的使用397

技巧498对快速排序的理解399

技巧499快速排序的使用399

技巧501字符串数组的排序401

技巧500 上述排序中的一些问题401

技巧502使用lfind来检索数组402

技巧503使用lsearch检索数值404

技巧504使用bsearch来检索已排序数组中的元素405

技巧505使用qsort进行数组排序407

技巧506确定数组元素的数目408

技巧507一个指针是一个地址409

技巧508确定变量地址409

技巧509 C把数组作为指针来处理410

技巧510数组中使用地址运算符( )410

技巧511声明指针变量411

技巧512指针的反向引用412

技巧513使用指针值413

技巧514在函数参数中使用指针413

技巧516指针的增量与减量操作414

技巧515指针运算414

技巧517把指针引用和增量结合起来415

技巧518使用指针遍历串415

技巧519返回指针的函数416

技巧520建立返回指针的函数416

技巧521对指针数组的理解417

技巧522字符串数组的直观理解418

技巧523遍历字符串数组418

技巧525指向字符串指针的指针的使用419

技巧524把字符串数组作为指针来处理419

技巧526使用指针来定义一个字符串常量420

技巧527对void指针的理解420

技巧528函数的指针421

技巧529函数指针的使用421

技巧530指向指针的指针的指针422

技巧531对结构的理解423

技巧533结构标识符就是结构名424

技巧532结构是变量定义的模板424

技巧534用不同的方法来定义结构变量425

技巧535对结构成员的理解425

技巧536结构的形象化理解426

技巧537结构的使用426

技巧538给函数传递结构变量427

技巧539改变函数中的结构428

技巧540理解(*pointer).member的间接引用429

技巧541 pointer—>member格式的使用430

技巧542使用无标识(tag)的结构431

技巧543结构定义的作用域432

技巧544初始化结构变量432

技巧545执行结构I/O433

技巧546使用嵌套结构433

技巧548建立结构数组434

技巧547含有数组的结构434

第九章DOS和BIOS服务436

技巧549理解DOS的系统服务436

技巧550理解BIOS服务436

技巧551理解寄存器437

技巧552理解标志寄存器438

技巧553理解软件中断439

技巧554使用BIOS驱动打印机440

技巧555 Ctrl_Break信息442

技巧556 DOS的边效应(Side Effects)442

技巧557临时中止一个程序443

技巧558加上声音效果443

技巧559取得国别信息444

技巧560磁盘传输地址的理解446

技巧561 存取及控制DTA447

技巧562使用BIOS的键盘服务448

技巧563获取DOS的设备列表449

技巧564 串口I/O451

技巧565用bdos获得DOS服务454

技巧566获取扩展的DOS错误信息454

第十章内存管理457

技巧567显示BIOS常规内存数量457

技巧568将远地址分成段地址和偏移地址457

技巧569建立一个远指针(far pointer)458

技巧570确定可用的内存459

技巧571读取段寄存器的内容460

技巧572理解内存类型461

技巧573常规内存的理解461

技巧574理解常规内存的安排461

技巧575常规内存的使用462

技巧576 为什么PC以及DOS被限制在1Mb以下462

技巧578理解扩充内存463

技巧577 PC怎样结合段和偏移量来构造一个真正的地址463

技巧579使用扩充内存464

技巧580扩展内存的理解464

技巧581实模式和保护模式的理解464

技巧582访问扩展内存465

技巧583高内存区的理解465

技巧584栈的理解466

技巧585理解不同的栈配置466

技巧586判断程序当前栈空间466

技巧587用_stklen控制栈空间467

技巧588限定内存范围467

技巧589把一块内存中的内容拷贝到另一块内存中468

技巧590拷贝内存区间直到遇到指定字节468

技巧591 比较两个无符号字符数组469

技巧592交换字符串中的相邻字节470

技巧593分配动态内存471

技巧594内存指针类型472

技巧595释放不再需要的动态内存473

技巧596用calloc分配内存474

技巧597堆的理解475

技巧598突破64Kb的堆限制476

技巧599从栈中分配内存477

技巧600为巨型数据分配内存479

技巧601改变已分配内存的大小480

技巧602理解brk480

技巧603堆的检测481

技巧604快速堆检验481

技巧605填充未用的堆空间483

技巧606检查指定的堆入口484

技巧607寻访堆入口486

技巧608访问指定的内存位置487

技巧609往内存中写数据488

技巧610理解PC端口489

技巧611存取端口的数值490

技巧612 CMOS的理解490

技巧613内存模式的理解492

技巧614微内存模式的理解492

技巧615小内存模式的理解493

技巧616中内存模式的理解493

技巧617紧凑内存模式的理解494

技巧618大内存模式的理解495

技巧619巨内存模式的理解496

技巧620判断当前的内存模式497

第十一章日期和时间499

技巧621 获得从1970年1月1日算起以秒为单位的日期和时间值499

技巧622把日期和时间从秒转换成ASCII码格式500

技巧623标准时间调整500

技巧625显示程序的运行时间501

技巧624延迟指定的毫秒数501

技巧626比较两个时间502

技巧627获取日期字符串503

技巧628获得时间字符串504

技巧629读BIOS计时器504

技巧630使用本地时间506

技巧631 使用格林尼治标准时间507

技巧632获得DOS系统时间508

技巧633获得DOS系统日期509

技巧634设定DOS系统时间511

技巧635设定DOS系统日期512

技巧636把DOS日期转换为UNIX格式513

技巧637获得本地时和格林尼治标准时的时差514

技巧638确定当前所在的时区514

技巧640使用TZ环境变量515

技巧639用tzset设定时区515

技巧641在程序中设定TZ环境变量516

技巧642获得时区信息517

技巧643 以自1970年1月1日起算的秒数设定系统时间518

技巧644把日历时间转化为自1970年1月1日零时起算的秒数519

技巧645判断当前日期的儒略(Julian)日520

技巧646建立格式化的日期和时间串521

技巧647理解PC的时钟类型523

第十二章I/O定向和命令行处理524

技巧648等待压键524

技巧649提示用户键入密码524

技巧650写自己的密码输入函数525

技巧651理解输出重定向527

技巧652理解输入重定向527

技巧653综合使用输入和输出重定向527

技巧654使用标准输入(stdin)和标准输出(stdout)528

技巧656理解getchar和putchar529

技巧655理解管道操作符529

技巧657给重定向的输入编号530

技巧658确认一个信息显示在屏幕上530

技巧659建立自己的MORE命令532

技巧660显示被定向的行数533

技巧661显示I/O重定向的字符数534

技巧662一个定时的MORE命令534

技巧663制止I/O重定向536

技巧664使用标准打印(stdprn)文件句柄537

技巧665把一个重定向输出给一个文件537

技巧666使用标准辅助文件句柄538

技巧667找出在重定向输入中的某字符串539

技巧668显示重定向输入内容的前几行539

技巧669理解命令行选项540

技巧671显示命令行541

技巧670显示命令行参数数目541

技巧672在命令行中使用引号引起来的参数542

技巧673用命令行参数来显示指定文件内容542

技巧674把argv看作一个指针543

技巧675 C怎样知道命令行544

技巧676理解环境544

技巧677把env看作一个指针545

技巧678使用void作main的参数545

技巧680理解程序退出(Exit)状态值546

技巧679使用命令行中的数字546

技巧681使用return处理退出状态值548

技巧682为什么声明main为void549

技巧683在环境中搜索特定变量(entry)549

技巧684 DOS怎样看待环境550

技巧685使用全局变量environ551

技巧686在当前环境中增加一项552

技巧688放弃当前运行的程序553

技巧687在DOS环境中增加一项553

技巧689定义在程序终止时运行的函数554

第十三章编程工具556

技巧690理解库556

技巧691 目标代码的重复使用556

技巧692编译C和OBJ文件中的问题557

技巧693建立库文件557

技巧694公共库操作558

技巧695列出库文件中的函数558

技巧696使用库来减少程库的编译时间559

技巧697进一步理解库程序559

技巧698理解连接器559

技巧699了解连接器的功能560

技巧700使用连接图560

技巧701使用连接器响应文件560

技巧703生成一个简单的MAKE文件561

技巧702用MAKE建立的简单应用561

技巧704多支持文件和MAKE563

技巧705注释你的MAKE文件563

技巧706命令行和MAKE563

技巧707把多个支持文件放在一个MAKE文件中564

技巧708明示(Explicit)和暗示(Impticit)的MAKE规则564

技巧709使用MAKE的宏565

技巧710定义MAKE宏565

技巧711 MAKE的条件执行566

技巧712检验MAKE宏567

技巧713包含第二个MAKE文件567

技巧714使用MAKE宏修饰符567

技巧715结束一个MAKE文件并返回错误信息568

技巧716不显示所执行的命令名568

技巧719同时调用和改变宏569

技巧718在MAKE中处理命令执行后的退出状态569

技巧717 使用文件BUILTINS.MAK569

技巧720对多个支持文件执行同一条MAKE命令570

第十四章 高级C技巧571

技巧721判断当前机器内是否有数学协处理器571

技巧722理解ctype.h中的is类宏571

技巧723直接控制视屏显示572

技巧724检查系统和数学错误572

技巧725显示预定义的错误信息573

技巧726确定操作系统的版本号574

技巧727理解可移植性575

技巧728执行非局部的跳转575

技巧729获得进程ID(PID)576

技巧730调用DOS内部命令577

技巧731使用PSP全局变量577

技巧733使用枚举型变量579

技巧732在变量定义使用const修饰符579

技巧734如何使用枚举型580

技巧735理解枚举值580

技巧736为枚举型的成员赋值581

技巧737保存和恢复寄存器581

技巧738动态链表初步582

技巧739定义一个链表结构582

技巧740构造一个链表583

技巧741简单链表举例583

技巧742理解链表遍历584

技巧743构造一个更有趣的链表584

技巧744给链表添加一个节点586

技巧745插入一个链表节点586

技巧746显示一个排序后的目录587

技巧747删除表中的一个节点588

技巧749建立一个简单的双链表590

技巧748使用双链表590

技巧750理解node—>previous—>next592

技巧751从双链表中删除一个节点592

技巧752往双链表中插入一个节点594

技巧753理解子进程596

技巧754创建一个子进程596

技巧755使用其它的spawnlxx函数598

技巧756使用spawnvxx函数598

技巧757载入一个子进程600

技巧758使用其它的execlxx函数601

技巧759使用execvxx函数603

技巧760理解覆盖604

技巧761理解中断604

技巧762 PC机中断605

技巧763使用interrupt关键字606

技巧765设置中断向量607

技巧764确定中断向量607

技巧766中断的关闭和打开608

技巧767建立一个简单的中断处理程序608

技巧768链接第二个中断609

技巧769产生一个中断611

技巧770 PC定时器俘获612

技巧771理解严重错误613

技巧772 C中的严重错误处理程序614

技巧773一个更完善的严重错误处理程序615

技巧774恢复被替换的中断616

技巧775建立Ctrl—Break处理程序616

技巧776严重错误处理程序能干什么617

技巧777选择合适的指令集以提高性能618

技巧778内部函数代码内嵌化618

技巧780理解快速函数调用619

技巧779函数代码内嵌化的设置619

技巧781 _fastcall参数传递规则620

技巧782理解不变代码621

技巧783理解重复加载压缩621

技巧784理解代码压缩622

技巧785理解循环压缩622

技巧786理解循环归纳和强度压缩623

技巧787理解消除公用子表达式623

技巧788理解标准的类型转换624

技巧789理解C的四种基本类型624

技巧790基本的和派生的类型624

技巧791理解初始化值625

技巧792理解链接625

技巧793理解暂时性声明625

技巧795理解左值626

技巧794声明和定义的比较626

技巧796理解右值627

技巧797使用段寄存器关键字627

技巧798注意远指针628

技巧799理解正规化指针628

技巧800数学协处理器语句629

技巧801理解cdecl型变量和pascal型变量629

技巧802防止循环包含630

第十五章C++初步631

技巧803什么是C++?631

技巧804 C++源文件与原来什么不同?631

技巧805从一个简单的C++程序开始631

技巧806理解coutI/O流632

技巧807用cout输出数值和变量值633

技巧808用cout同时输出不同类型的值633

技巧810重定向cout634

技巧809显示十六进制和八进制值634

技巧811如果你喜欢printf,使用printf635

技巧812输出到cerr635

技巧813使用cin获得输入635

技巧814 cin怎样区分输入数据636

技巧815 cin、cout、cerr怎样得知数值类型636

技巧816用clog执行输出操作637

技巧817 cin、cout、cerr和clog都是类的实例637

技巧818用flush清除输出637

技巧819在iostream.h中有什么?638

技巧820 C++要求函数原型638

技巧821 C++增加了新的关键字638

技巧822 C++支持匿名联合639

技巧824提供缺省参数值640

技巧823使用全局变量640

技巧825控制cout的输出宽度641

技巧826用setw设置cout宽度642

技巧827指定cout的填充字符642

技巧828右对齐和左对齐cout输出643

技巧829控制浮点数的显示精度644

技巧830以定点格式或科学计数法显示数值645

技巧831恢复cout缺省设置646

技巧832设置I/O的进制647

技巧833在需要变量的地方声明变量647

技巧834在函数原型中放置参数缺省值648

技巧835使用位操作符和cout649

技巧836理解短路检查(Short—Circwit Evalnation)649

技巧837 C++中的cotst关键字650

技巧838 C++中的enum关键字650

技巧840用new分配内存651

技巧841为多个数组分配内存651

技巧839理解自由内存区651

技巧842检测自由内存区652

技巧843理解远近自由内存区653

技巧844使用远指针和new操作符653

技巧845释放从自由区分配的内存654

技巧846理解C++的引用655

技巧847把引用传递给函数656

技巧848注意隐蔽对象656

技巧849传递参数的三种方法657

技巧850引用使用的规则658

技巧851 函数可以返回引用658

技巧852使用C++内嵌关键字659

技巧853使用C++的asm关键字661

技巧854用cin语句读一个字符661

技巧855用cout语句输出一个字符662

技巧856一个简单的过滤程序662

技巧858一个简单的First命令663

技巧857一个简单的Tee命令663

技巧859一个改进的First命令664

技巧860测试文件的结束664

技巧861用endl进行换行665

技巧862理解链接指示符666

技巧863理解重载666

技巧864重载函数667

技巧865另一个重载函数的例子668

技巧866重载操作符669

技巧867用cin一次读取一行669

技巧868在循环中使用cin.getline670

技巧869改变new的缺省处理670

技巧870用set_new_handler设定新的new处理函数671

技巧871判断编译器类型672

技巧872结构和C++673

技巧873函数作为结构的成员673

技巧875在结构外书写函数代码674

技巧874在结构中书写函数代码674

技巧876向成员函数传递参数675

技巧877定义多个同一结构的变量676

技巧878使用同一成员函数名的不同结构676

技巧879区分同成员名的不同函数677

技巧880理解对象678

技巧881理解面向对象编程678

技巧882理解C++的类679

技巧883在变量定义中使用或省略class680

技巧884理解public:标号680

技巧885理解信息隐藏681

技巧886使用private:标号681

技巧887使用公有和私有数据682

技巧888隐藏什么,公开什么683

技巧889公有方法通常被称为接口函数683

技巧890在类外部定义类函数684

技巧891在类的内部和外部定义方法685

技巧892理解对象实例685

技巧893对象实例应共享代码686

技巧894理解构造函数687

技巧895使用构造函数688

技巧896构造函数没有返回值689

技巧897解决构造函数的参数名冲突问题689

技巧898用构造函数分配内存690

技巧899用简洁的方法处理内存分配问题692

技巧900构造函数的缺省参数值693

技巧901重载构造函数694

技巧902了解类的作用域695

技巧903理解析构函数695

技巧904建立一个类变量数组697

技巧905构造函数和类对象数组698

技巧907重载加法操作符699

技巧906重载操作符699

技巧908重载减法操作符700

技巧909理解抽象702

技巧910为类分配一个指针702

技巧911释放一个类指针703

技巧912理解封装705

技巧913清除输入串中的头部空格705

技巧914理解类库706

技巧915在头文件中定义你的类706

技巧916对类的成员函数使用inline关键字706

技巧917初始化类对象数组706

技巧918内嵌代码可以修改708

技巧919公有、私有和保护部分的出现顺序并不重要708

技巧920缺省情况下,每个成员是私有的709

技巧921理解静态存储709

技巧922用stdio同步I/O流操作709

技巧924理解C++的输出流710

技巧923理解C++的I/O流710

技巧925理解C++的输入流711

技巧926打开一个文件流711

技巧927关闭一个文件流712

技巧928读写文件流712

技巧929检查文件操作的结果713

技巧930将文件流操作结合在一起713

技巧931完成二进制文件拷贝714

技巧932控制文件流指针715

技巧933理解字符串流715

技巧934理解ends操作符716

第十六章面向对象的C++717

技巧935理解多态性717

技巧936从其他对象中调用另一个对象717

技巧938告诉编译器一个未声明的类718

技巧937理解友员718

技巧939声明类Reader为友员719

技巧940省去class class—name语句720

技巧941限制友员的访问720

技巧942名字冲突与友员722

技巧943理解继承性723

技巧944理解基类和派生类723

技巧945 C++中的继承性723

技巧946派生一个类725

技巧947理解基类和派生类的构造函数725

技巧948理解被保护成员726

技巧949使用被保护成员726

技巧950何时需要保护728

技巧951理解多重继承性728

技巧952一个简单的多重继承性范例728

技巧953构造函数的次序和基类729

技巧954说明某一基类为私有731

技巧955析构函数与多重继承性732

技巧956基类与派生类的名字冲突733

技巧957解决派生类和基类的名字冲突734

技巧958重载<<操作符735

技巧959互为友员736

技巧960理解继承性738

技巧961一个派生类可以成为其他类的基类738

技巧962在派生类中使用被保护的成员739

技巧963静态类数据740

技巧964初始化静态数据成员742

技巧965直接访问静态数据成员743

技巧966静态私有数据成员743

技巧967理解静态成员函数744

技巧968直接访问公用静态函数745

技巧969更有意义的类成员746

技巧970类的嵌套747

技巧972在方法函数中内嵌汇编语句748

技巧971理解子类和超类748

技巧973类的成员可以递归749

技巧974理解this指针750

技巧975 this指针是如何根据函数的不同而不同的751

技巧976静态链接与动态链接的理解751

技巧977指向类的指针751

技巧978使用同一指针指向不同的类752

技巧979同名基类和派生类成员在使用指针时的冲突753

技巧980理解虚函数754

技巧981实现多态性755

技巧982理解纯虚函数756

技巧983理解抽象类757

技巧984重载cout的插入操作符757

技巧985定义一个输出流的操作符758

技巧987对类使用sizeof运算符759

技巧986看一看iostream.h头文件759

技巧988私有、公有和保护属性也能用于结构760

技巧989理解类的数据转换761

技巧990在一个构造函数中转换数据762

技巧991将类赋给其它变量763

技巧992用友员进行转换765

技巧993确定操作符重载是否增加了程序的可读性765

技巧994理解使用_withassign的I/O流766

技巧995理解异常处理766

技巧996理解模板767

技巧997应用一个简单的模板768

技巧998支持多种类型的模板769

技巧999模板放在何处770

技巧1000模板也能减少重复的类770

技巧1001理解生成类771

1996《C/C++使用技巧1001例》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)KrisJamsa著;魏津,王路等译 1996 北京:电子工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

PowerPoint 4.0/7.0使用技巧1001问(1997 PDF版)
PowerPoint 4.0/7.0使用技巧1001问
1997 北京:电子工业出版社
微型计算机软件基础技术 (M6800系,8080系,Z-80系)(1986年03月第1版 PDF版)
微型计算机软件基础技术 (M6800系,8080系,Z-80系)
1986年03月第1版
Microsoft C/C++ 7.0使用指南( PDF版)
Microsoft C/C++ 7.0使用指南
北京:清华大学出版社
Visual c++ 2.0 windows95程序设计( PDF版)
Visual c++ 2.0 windows95程序设计
FOXPRO FOR DOS使用技巧1001问(1997 PDF版)
FOXPRO FOR DOS使用技巧1001问
1997 北京:电子工业出版社
Windows 95使用技巧1001例(1997 PDF版)
Windows 95使用技巧1001例
1997 北京:电子工业出版社
80X86微型计算机原理及应用(1995 PDF版)
80X86微型计算机原理及应用
1995 北京:电子工业出版社
Visual C++ 6.0编程实例技巧(1999 PDF版)
Visual C++ 6.0编程实例技巧
1999 武汉:华中理工大学出版社
Turbo C编程技巧(1994 PDF版)
Turbo C编程技巧
1994 成都:电子科技大学出版社
C++技巧与应用(1992 PDF版)
C++技巧与应用
1992 北京:北京航空航天大学出版社
Pascal程序设计(1999 PDF版)
Pascal程序设计
1999 北京市:国防工业出版社
巧学巧用Borland C/C++ OWL 5.0 for Windows95(1997 PDF版)
巧学巧用Borland C/C++ OWL 5.0 for Windows95
1997 北京:电子工业出版社
C语言实用技巧(1993 PDF版)
C语言实用技巧
1993 北京:北京师范大学出版社
C语言使用技巧及实用程序(1994 PDF版)
C语言使用技巧及实用程序
1994 北京:机械工业出版社
Borland C++实用编程技巧(1995 PDF版)
Borland C++实用编程技巧
1995 北京:清华大学出版社