当前位置:当前位置:主页 > 计算机电子书 > C++ > C语言 pdf电子书
C语言程序设计

C语言程序设计 PDF 清晰版

  • 更新:2022-05-05
  • 大小:35.2 MB
  • 类别:C语言
  • 作者:亚沙万特·卡内特卡尔
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

C语言程序设计》是由人民邮电出版社出版的一本关于C语言方面的书籍,作者是亚沙万特·卡内特卡尔,主要介绍了关于C语言、程序设计方面的知识内容,目前在C语言类书籍综合评分为:9.1分。

书籍介绍

内容简介

学习任何程序设计语言的方法都是创建良好的程序,C语言也不例外。一旦决定编写程序我们就会发现,总是有至少两种方法可以实现。那么,如何才能找到好的方法来实现程序?本书就能帮助读者解决此类问题。本书是一本C语言程序设计的经典教材。多年来,本书被很多工程和科学研究所及院校指定为学习教材。

本书这一版本(第17版)除了讲解C语言中基本的函数、指针、控制指令、数据类型、数组、字符串、输入输出、位操作等内容外,还增加了C语言程序设计的各个主题的实例和面试问题,以便读者尽快熟悉C语言的实际应用。书中的实例和习题已经过作者认真挑选,集中体现了各个知识要点的具体用法。本书提供可供读者下载的程序源代码,并配套出版《C语言程序设计习题解答》。

本书结构合理,内容深入浅出,既适合用作高等学校本科和专科学生学习C语言程序设计的教材,也适合用作零基础的程序设计初学者的自学用书。

目录

  • 第1章起步001
  • 本章内容002
  • 1.1什么是C语言003
  • 1.2C语言的基础知识003
  • 1.2.1字母、数字和特殊符号004
  • 1.2.2常量、变量和关键字004
  • 1.2.3C语言的常量类型004
  • 1.2.4整型常量的创建规则005
  • 1.2.5浮点型常量的创建规则005
  • 1.2.6字符型常量的创建规则005
  • 1.2.7C语言的变量类型006
  • 1.2.8变量名的创建规则006
  • 1.2.9C语言的关键字006
  • 1.3第1个C语言程序007
  • 1.3.1C语言程序的格式007
  • 1.3.2C语言程序中的注释007
  • 1.3.3什么是main()008
  • 1.3.4变量及其用法009
  • 1.3.5printf()及其用法009
  • 1.3.6编译和运行010
  • 1.4接收输入010
  • 1.5程序011
  • 习题012
  • 课后笔记014
  • 第2章C语言的指令017
  • 本章内容018
  • 2.1指令的类型019
  • 2.2类型声明指令019
  • 2.3算术指令019
  • 2.4整型和浮点型的转换021
  • 2.5赋值时的类型转换021
  • 2.6操作符的优先层次022
  • 2.7操作符的结合性024
  • 2.8控制指令024
  • 2.9程序024
  • 习题026
  • 课后笔记028
  • 第3章决策控制指令031
  • 本章内容032
  • 3.1if-else语句033
  • 3.2if-else中的多条语句034
  • 3.3嵌套的if-else语句035
  • 3.4一点告诫036
  • 3.5程序037
  • 习题038
  • 课后笔记041
  • 第4章更复杂决策的创建043
  • 本章内容044
  • 4.1使用逻辑操作符:检测范围045
  • 4.2使用逻辑操作符:是否问题046
  • 4.3!操作符048
  • 4.4再论操作符的优先层次049
  • 4.5条件操作符049
  • 4.6程序050
  • 习题052
  • 课后笔记056
  • 第5章循环控制指令059
  • 本章内容060
  • 5.1循环061
  • 5.2while循环061
  • 5.2.1提示和陷阱062
  • 5.2.2其他操作符063
  • 5.3程序065
  • 习题066
  • 课后笔记068
  • 第6章更复杂的循环控制
  • 指令069
  • 本章内容070
  • 6.1for循环071
  • 6.1.1循环的嵌套073
  • 6.1.2for循环的多重初始化074
  • 6.2break语句074
  • 6.3continue语句075
  • 6.4do-while循环076
  • 6.5非常规循环077
  • 6.6程序078
  • 习题079
  • 课后笔记081
  • 第7章case控制指令083
  • 本章内容084
  • 7.1使用switch的决策085
  • 7.2switch与if-else梯状结构的对比088
  • 7.3goto关键字088
  • 7.4程序090
  • 习题092
  • 课后笔记095
  • 第8章函数097
  • 本章内容098
  • 8.1什么是函数099
  • 8.2在函数之间传递值101
  • 8.3参数的传递顺序104
  • 8.4使用库函数104
  • 8.5一个不确定的问题105
  • 8.6函数的返回类型105
  • 8.7程序106
  • 习题108
  • 课后笔记109
  • 第9章指针111
  • 本章内容112
  • 9.1传值调用和传引用调用113
  • 9.2指针概述113
  • 9.3再论函数调用116
  • 9.4结论118
  • 9.5程序118
  • 习题120
  • 课后笔记122
  • 第10章递归125
  • 本章内容126
  • 10.1递归的概念127
  • 10.2程序128
  • 习题130
  • 课后笔记131
  • 第11章再论数据类型133
  • 本章内容134
  • 11.1整型:long、short、signed、unsigned135
  • 11.2字符型:signed、unsigned136
  • 11.3浮点型:float、double、longdouble136
  • 11.4一些其他问题137
  • 11.5C语言的存储类型138
  • 11.5.1自动存储类型138
  • 11.5.2寄存器存储类型139
  • 11.5.3静态存储类型140
  • 11.5.4外部存储类型140
  • 11.5.5一些微妙的问题142
  • 11.5.6何时何地使用存储类型143
  • 习题143
  • 课后笔记145
  • 第12章C预处理器149
  • 本章内容150
  • 12.1C预处理器的特性151
  • 12.2宏展开指令151
  • 12.2.1带参数的宏152
  • 12.2.2宏与函数的比较153
  • 12.3文件包含指令153
  • 12.4条件编译指令154
  • 12.5#if和#elif指令155
  • 12.6其他指令156
  • 12.6.1#undef指令156
  • 12.6.2#pragma指令156
  • 12.7构建过程158
  • 12.8程序159
  • 习题161
  • 课后笔记162
  • 第13章数组165
  • 本章内容166
  • 13.1什么是数组167
  • 13.2关于数组的其他信息168
  • 13.2.1数组的初始化168
  • 13.2.2内存中的数组元素168
  • 13.2.3边界检查169
  • 13.2.4向函数传递数组元素169
  • 13.3指针和数组170
  • 13.3.1使用指针访问数组元素171
  • 13.3.2把数组传递给函数172
  • 13.4可变长数组174
  • 13.5程序175
  • 习题176
  • 课后笔记179
  • 第14章多维数组181
  • 本章内容182
  • 14.1二维数组183
  • 14.1.1二维数组的初始化183
  • 14.1.2二维数组的内存映射184
  • 14.1.3指针和二维数组184
  • 14.1.4指向数组的指针186
  • 14.1.5把二维数组传递给函数186
  • 14.2指针数组187
  • 14.3三维数组188
  • 14.4程序189
  • 习题191
  • 课后笔记193
  • 第15章字符串195
  • 本章内容196
  • 15.1什么是字符串197
  • 15.2关于字符串的其他说明197
  • 15.3指针和字符串199
  • 15.4字符串处理函数200
  • 15.4.1strlen()201
  • 15.4.2strcpy()202
  • 15.4.3strcat()203
  • 15.4.4strcmp()203
  • 15.5程序204
  • 习题206
  • 课后笔记208
  • 第16章处理多个字符串211
  • 本章内容212
  • 16.1二维字符数组213
  • 16.2字符串指针数组214
  • 16.3字符串指针数组的限制216
  • 16.4程序216
  • 习题218
  • 课后笔记219
  • 第17章结构体221
  • 本章内容222
  • 17.1为什么要使用结构体223
  • 17.2结构体数组224
  • 17.3结构体的细节225
  • 17.3.1结构体的声明225
  • 17.3.2结构体元素的存储226
  • 17.3.3复制结构体元素227
  • 17.3.4嵌套的结构体227
  • 17.3.5传递结构体元素结构体变量228
  • 17.3.6结构体元素的对齐229
  • 17.4结构体的应用230
  • 17.5程序230
  • 习题233
  • 课后笔记234
  • 第18章控制台输入输出237
  • 本章内容238
  • 18.1IO的类型239
  • 18.2控制台IO函数239
  • 18.2.1格式化的控制台IO函数240
  • 18.2.2sprintf()和sscanf()函数244
  • 18.2.3未格式化的控制台IO函数245
  • 习题246
  • 课后笔记249
  • 第19章文件输入输出251
  • 本章内容252
  • 19.1文件操作253
  • 19.1.1打开文件253
  • 19.1.2读取文件254
  • 19.1.3关闭文件255
  • 19.2对字符、制表符、空格等进行计数255
  • 19.3一个文件复制程序256
  • 19.4文件打开模式257
  • 19.5文件中的字符串(行)IO257
  • 19.6文本文件和二进制文件259
  • 19.7文件中的记录IO259
  • 19.8低层文件IO262
  • 19.9程序264
  • 习题266
  • 课后笔记267
  • 第20章关于输入输出的更多知识271
  • 本章内容272
  • 20.1使用argc和argv273
  • 20.2在读取写入时检测错误275
  • 20.3标准文件指针276
  • 20.4IO重定向276
  • 20.4.1输出重定向276
  • 20.4.2输入重定向277
  • 20.4.3同时重定向278
  • 习题278
  • 课后笔记279
  • 第21章对位进行操作281
  • 本章内容282
  • 21.1位的编号和转换283
  • 21.2位操作284
  • 21.3反码操作符284
  • 21.4右移位和左移位操作符285
  • 21.4.1警告286
  • 21.4.2<<操作符的用途287
  • 21.5AND、OR和XOR位操作符287
  • 21.5.1&操作符的用途288
  • 21.5.2|操作符的用途289
  • 21.5.3^操作符的用途289
  • 21.6showbits()函数290
  • 21.7位复合赋值操作符290
  • 21.8程序291
  • 习题292
  • 课后笔记294
  • 第22章C语言的其他特性295
  • 本章内容296
  • 22.1枚举数据类型297
  • 22.1.1枚举数据类型的用途297
  • 22.1.2枚举真有必要吗298
  • 22.2使用typedef对数据类型进行重命名299
  • 22.3强制类型转换300
  • 22.4位段300
  • 22.5函数指针301
  • 22.6返回指针的函数302
  • 22.7接收可变数量参数的函数302
  • 22.8联合体303
  • 22.9volatile限定符306
  • 22.10程序306
  • 习题307
  • 课后笔记309
  • 第23章常见的C语言面试问题311
  • 附录A编译和运行325
  • 附录B优先级表格331
  • 附录C追踪缺陷333
  • 附录DASCII表339
  • 附录E阶段测验343

资源获取

相关资源

网友留言