当前位置:首页 > 安卓软件 > 地图导航 > 正文
c语言基础编程100道(21天学通c语言) 地图导航

c语言基础编程100道(21天学通c语言)

8个月前 (08-13) 类别:地图导航

  • 发布日期:2025-04-22 18:20:39
  • 所属类别:地图导航
  • 下载人数:7443
  • 版本:
  • 大小:

立即下载

扫二维码手机浏览

c语言基础编程100道(21天学通c语言)介绍

大家好,今天小编来为大家解答以下的问题,关于c语言基础编程100道,21天学通c语言这个很多人还不知道,现在让我们一起来看看吧!

学习c语言看什么书

如果是自学的话,最好不要看潭浩强的书,他喜欢用数学公式做例题,不适合初学者或自学。

c语言基础编程100道(21天学通c语言)

其实潭浩强的书并不怎么样,比国外的教程差远了,只是国内高校缺乏创新意识,跟风现象严重,从高校到职校,《C程序设计》几乎人手一本,这才创下了“发行量第一”现象。而且潭浩强已公开表示:不再就他的书回答任何技术性的问题!这分明是对自己技术没信心、落后于时代的表现。

国外教程:

《21天学通C语言》

c语言基础编程100道(21天学通c语言)

《C语言三日通》(很多人国外自学者都是看了这本书才入门的,所用的例题简单易懂)

再介绍以下两本真正经典的教材:

1.《The C Programming Language》

2.《Expert C Programming--- Deep C Secrets》

如果E文好就看原版,否则只有买译本了。

强调一句:如果您是自学(初学者),千万别表谭浩强的书,否则你很难看懂。他的书到处都是,您自己找一本先体验一下就知道了。

1、《啊哈C语言》

这本书为计算机纯小白量身打造。风格幽默,生动形象,通俗易懂,对入门小白培养兴趣大。在语言艺术这方面,是登峰造极。对已经有基础的人进阶或者巩固帮助不大。

2、《C primer plus第5版/第6版》

从书名就可以看出这是一本为入门小白准备的,对希望能够系统学习c语言的读者很有帮助。入门小白在啃书过程中,遇到的主要阻碍,以及对很多关键字不够了解,而这本书中每一个知识点都安排了很多生动简单的示例,并给出了相应的运行结果,畅通无阻的感觉。而《C Primer Plus 6》相对于第5版又做了一个全新的升级,在完整度、示例运行、详细度上更进一步,读起来不会枯燥乏味。

3、《C++ Primer Plus(第6版)中文版》

被誉为“开发人员学习C++的必备教程,没有之一”!一本经久不衰的c++入门畅销书适合,从未学习过C语言甚至没学过编程的零基础小白。从基础内容开始,先讲解了有关传统编程的一些规则,到了后面才一点一点引出C++的精髓之一的相关内容,挺有丰富的案例,新手理解容易。

4.《C和指针》

指针和指针操作一直是c语言中的重点和难点。而这本书深入和完整的提供了关于指针的知识,足以帮助避开指针的痛苦。更主要的一点,这本书中ADT、递归、指针和数组的部分有自己独特的思想,可以和教材互补,形成一个正确的c语言观。

5、《C程序设计语言》

这本书在c语言界的殿堂级宝藏,可谓是经典之中的经典。纵向上,从hello world衍生出计算机的发展历程,横向上不断深入,层层拔高。在短短的100多页之内,几乎就手把手教写了stdio.h stdlib.h string.h当中大部分例程,实现了二分查找、快速排序、二叉树、哈希表这些重要的数据结构和算法。

21天学通C语言6.0的内容简介

第一篇为C语言入门篇,该篇介绍了C语言程序的特点及编程的准备。第二篇为C语言基础篇,该篇介绍了常量与变量、整型、字符型与浮点型和表达式与操作符等内容。第三篇为结构编程篇,该篇通过两章的篇幅讲解了选择结构和循环结构两种常用的程序结构。第四篇为数组和字符串篇,该篇通过两章的篇幅分别讲解了C语言中数组和字符串的应用。第五篇为函数篇,该篇主要内容包括函数、函数与文件、函数中的变量和字符串处理函数等。第六篇为指针篇,该篇通过两章的篇幅介绍了指针的重要概念和应用。第七篇为高级应用篇,该篇内容主要包括堆管理、位运算操作符、结构体、共用体、枚举和位域,以及预处理等。第八篇为综合案例篇,该篇以图书管理系统开发为例,详细介绍了C语言和文件处理开发的过程。

本书附赠DVD光盘1张,内容包括超大容量手把手视频、电子教案(PPT)、编程参考宝典电子书、源代码及各章习题答案。

本书特点

千里之行,始于足下!

——老子

为什么要写这样一本书

C语言作为一门基础语言,从其诞生以来就受到编程爱好者的广泛关注并作为应用程序开发中的一把利器。同时,也被认为是最适合编程爱好者步入编程殿堂的一门编程语言。市面上关于学习C语言的书非常丰富,很多书都是大而全,但这类书籍很难做到从初学者的角度来讲解和介绍C语言的基本概念和编程技术。所以初学者阅读后都有种无从下手的感觉。

为了让初次接触C语言编程的爱好者能够快速而轻松地学会C语言编程,笔者总结自己学习C语言的经验,并结合多年的开发经验,编写了这本C语言基础教程。在本书中,笔者将从基本概念入手,循序渐进地将C语言编程技术展现在读者面前,让读者快速掌握C语言编程的基本概念及编程技术。

本书有何色

1.细致体贴的讲解

为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用准确的语言总结概念#用直观的图示演示过程#用详细的注释解释代码#用形象的比方帮助记忆。

1)知识点介绍准确、清晰是其显著特点,一般放在每一节开始位置,让零基础的读者了解相关概念,顺利入门。

2)范例书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,放在每节知识点介绍之后。

3)范例代码与范例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程序,均在每行代码前设定编号便于学习。

4)运行结果对范例给出运行结果和对应图示,帮助读者更直观地理解范例代码。

5)代码解析将范例代码中的关键代码行逐一解释,有助于读者掌握相关概念和知识。

6)综合练习为了便于读者巩固所学内容,本书每章中均提供了综合练习,并给出了操作提示和结果,配合读者自己动手实践。

7)习题每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握,题目的提示或答案放在光盘中。

8)贴心的提示为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下:

—提示:通常是一些贴心的提醒,让读者加深印象或提供建议,或者解决问题的方法。

—注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。

—警告:对操作不当或理解偏差将会造成的灾难性后果做警示,以加深读者印象。

经作者多年的培训和授课证明,以上讲解方式是最适合初学者学习的方式,读者按照这种方式,会非常轻松、顺利地掌握本书知识。

在本书中,大部分的内容是基于Turbo C 2.0编译器实现的,但是为了适应最新的C99语言标准,本书部分章节是基于Visual C++编译器实现的(两者主要的差别在于内存空间不同)。使用Visual C++编译器的章节是第3~5章,第8~9以及14~19章。

2.实用超值的DVD光盘

为了帮助读者比较直观地学习,本书附赠DVD光盘,内容包括多媒体视频、电子教案(PPT)、编程参考宝典电子书、各章习题答案和实例源代码等。

多媒体视频

赠送1GB,长达21小时手把手教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示,手把手教会读者使用。

电子教案(PPT)

本书可以作为高校相关课程的教材或课外辅导书,所以笔者特别为本书制作了电子教案(PPT),以方便老师教学使用。

编程参考宝典电子书

为方便广大读者学习,特别制作了编程开发参考电子书,供读者查阅和参考。

3.提供完善的技术支持

本书提供了论坛:,读者可以在上面提问交流。另外,论坛上还有一些小的教程、视频动画和各种技术文章,可帮助读者提高开发水平。

4.丰富的额外素材下载

相关的开发素材文件,在www.broadview.com.cn提供下载。

推荐的学习计划

本书作者在长期从事相关培训或教学实践过程中,归纳了最适合初学者的学习模式,并参考了多位专家的意见,为读者总结了合理的学习时间分配方式,

本书适合哪些读者阅读

本书非常适合以下人员阅读:

—从未接触过C语言的自学人员;

—有一定C语言基础,但还需要进一步学习的人员;

—其他编程爱好者。

本书作者

2009年1月

21天学通C语言的作品目录

第一周课程

第1天课程 C语言初步2

1.1 C语言简史2

1.2为何要使用C语言2

1.3编程前的准备工作3

1.4程序开发周期4

1.4.1创建源代码4

1.4.2编译源代码4

1.4.3链接以创建可执行文件5

1.4.4结束开发周期6

1.5第一个C语言程序7

1.5.1输入并编译hello.c7

1.6总结9

1.7问与答9

1.8作业10

1.8.1小测验10

1.8.2练习10

TYPE&RUN1打印程序清单12

第一个TYPE&RUN12

第2天课程 C语言程序的组成部分14

2.1一个简短的C语言程序14

2.2程序的组成部分15

2.2.1 main()函数(第8~23行)15

2.2.2#include编译指令(第2行)15

2.2.3变量定义(第4行)15

2.2.4函数原型(第6行)16

2.2.5程序语句(第11、12、15、16、19、20、22和28行)16

2.2.6函数定义(第26~29行)16

2.2.7程序注释(第1、10、14、18和25行)16

2.2.8使用花括号(第9、23、27和29行)17

2.2.9运行程序17

2.2.10有关精度的说明18

2.3重温程序的组成部分18

2.4总结20

2.5问与答20

2.6作业20

2.6.1小测验20

2.6.2练习21

第3天课程存储信息:变量和常量23

3.1计算机内存23

3.2使用变量存储信息24

3.2.1变量名24

3.3数值变量的类型25

3.3.1变量声明27

3.3.2 typedef关键字27

3.3.3初始化变量28

3.4常量28

3.4.1字面常量28

3.4.2符号常量29

3.5总结31

3.6问与答32

3.7作业32

3.7.1小测验32

3.7.2练习32

第4天课程语句、表达式和运算符34

4.1语句34

4.1.1空白对语句的影响34

4.1.2创建空语句35

4.1.3使用复合语句35

4.2表达式35

4.2.1简单表达式35

4.2.2复杂表达式36

4.3运算符36

4.3.1赋值运算符36

4.3.2数学运算符37

4.3.3运算符优先级和圆括号40

4.3.4子表达式的计算顺序41

4.3.5关系运算符41

4.4 if语句42

4.4.1 else子句44

4.5判断关系表达式46

4.5.1关系运算符的优先级47

4.6逻辑运算符48

4.7再谈true/false值48

4.7.1运算符的优先级49

4.7.2复合赋值运算符50

4.7.3条件运算符50

4.7.4逗号运算符51

4.8再谈运算符优先级51

4.9总结52

4.10问与答52

4.11作业53

4.11.1小测验53

4.11.2练习53

TYPE&RUN2猜数游戏55

第5天课程使用函数封装代码57

5.1函数是什么57

5.1.1函数的定义57

5.1.2函数的用法57

5.2函数的工作原理59

5.3函数和结构化编程60

5.3.1结构化编程的优点60

5.3.2规划结构化程序60

5.3.3从顶向下的方法61

5.4编写函数61

5.4.1函数头62

5.4.2函数的返回类型62

5.4.3函数名62

5.4.4参数列表62

5.4.5函数体64

5.4.6函数原型67

5.5将参数传递给函数67

5.6调用函数68

5.6.1递归69

5.7函数的位置70

5.8内联函数70

5.9总结71

5.10问与答71

5.11作业72

5.11.1小测验72

5.11.2练习72

第6天课程基本的程序流程控制74

6.1数组的基本知识74

6.2控制程序的执行75

6.2.1 for语句75

6.2.2嵌套for语句79

6.2.3 while语句80

6.2.4嵌套while语句82

6.2.5 do…while循环84

6.3嵌套循环87

6.4总结88

6.5问与答88

6.6作业88

6.6.1小测验89

6.6.2练习89

第7天课程信息读写基础90

7.1在屏幕上显示信息90

7.1.1 printf()函数90

7.1.2格式化字符串90

7.1.3转义序列91

7.1.4使用puts()显示消息96

7.2使用scanf()函数输入数值数据97

7.3三字符序列100

7.4总结101

7.5问与答101

7.6作业102

7.6.1小测验102

7.6.2练习102

第一周复习104

第二周课程

第8天课程使用数值数组110

8.1数组是什么110

8.1.1一维数组110

8.1.2多维数组113

8.2命名和声明数组114

8.2.1初始化数组115

8.2.2初始化多维数组116

8.2.3数组的最大长度119

8.3总结121

8.4问与答121

8.5作业121

8.5.1小测验121

8.5.2练习122

第9天课程指针123

9.1指针是什么123

9.1.1计算机内存123

9.1.2创建指针123

9.2指针和简单变量124

9.2.1声明指针124

9.2.2初始化指针124

9.2.3使用指针125

9.3指针和变量类型126

9.4指针和数组127

9.4.1作为指针的数组名128

9.4.2数组元素的存储128

9.4.3指针算术130

9.5有关指针的注意事项133

9.6数组下标表示法和指针133

9.7将数组传递给函数133

9.8总结137

9.9问与答137

9.10作业138

9.10.1小测验138

9.10.2练习138

TYPE&RUN3让程序暂停139

第10天课程字符和字符串141

10.1 char数据类型141

10.2使用字符变量141

10.3使用字符串144

10.3.1字符数组144

10.3.2初始化字符数组144

10.4字符串和指针144

10.5不存储在数组中的字符串145

10.5.1编译时分配字符空间145

10.5.2 malloc()函数145

10.5.3使用malloc()函数146

10.6显示字符串和字符148

10.6.1 puts()函数149

10.6.2 printf()函数149

10.7从键盘读取字符串150

10.7.1使用gets()函数输入字符串150

10.7.2使用scanf()函数输入字符串152

10.8总结154

10.9问与答154

10.10作业155

10.10.1小测验155

10.10.2练习156

第11天课程结构、共用体和TypeDef157

11.1简单结构157

11.1.1定义和声明结构157

11.1.2存取结构的成员158

11.2复杂结构160

11.2.1包含其他结构的结构160

11.2.2包含数组的结构162

11.3结构数组164

11.4初始化结构167

11.5结构和指针168

11.5.1将指针作为结构的成员168

11.5.2创建指向结构的指针170

11.5.3使用指针和结构数组171

11.5.4将结构作为参数传递给函数173

11.6共用体174

11.6.1定义、声明和初始化共用体175

11.6.2存取共用体的成员175

11.7使用typedef给结构创建别名179

11.8总结179

11.9问与答179

11.10作业180

11.10.1小测验180

11.10.2练习180

第12天课程变量作用域182

12.1作用域是什么182

12.1.1演示作用域182

12.1.2作用域为何重要184

12.2外部变量184

12.2.1外部变量的作用域184

12.2.2何时使用外部变量184

12.2.3 extern关键字184

12.3局部变量185

12.3.1静态变量和动态变量186

12.3.2函数参数的作用域187

12.3.3外部静态变量188

12.3.4寄存器变量188

12.4局部变量和main()函数189

12.5应使用哪种存储类型189

12.6局部变量和代码块189

12.7总结190

12.8问与答191

12.9作业191

12.9.1小测验191

12.9.2练习191

TYPE&RUN4机密消息194

第13天课程高级程序流程控制197

13.1提早结束循环197

13.1.1 break语句197

13.1.2 continue语句199

13.2 goto语句200

13.3死循环202

13.4 switch语句205

13.5退出程序212

13.5.1 exit()函数212

13.6在程序中执行操作系统命令213

13.7总结214

13.8问与答215

13.9作业215

13.9.1小测验215

13.9.2练习215

第14天课程操纵屏幕、打印机和键盘217

14.1流和C语言217

14.1.1何为程序的输入/输出217

14.1.2什么是流217

14.1.3文本流和二进制流218

14.1.4预定义的流218

14.2使用C语言的流函数219

14.2.1例子219

14.3读取键盘输入220

14.3.1字符输入220

14.3.2格式化输入225

14.4控制屏幕输出231

14.4.1使用putchar()、putc()和fputc()输出字符231

14.4.2使用puts()和fputs()输出字符串233

14.4.3使用printf()和fprintf()格式化输出234

14.5重定向输入/输出238

14.5.1重定向输入239

14.6何时使用fprintf()239

14.6.1使用stderr240

14.7总结241

14.8问与答241

14.9作业242

14.9.1小测验242

14.9.2练习242

第二周复习244

第三周课程

第15天课程有关指针的高级主题252

15.1声明指向指针的指针252

15.2指针和多维数组253

15.3指针数组259

15.3.1复习字符串和指针259

15.3.2声明char类型指针数组259

15.3.3范例261

15.4函数指针265

15.4.1声明函数指针265

15.4.2初始化并使用函数指针266

15.5链表273

15.5.1有关链表的基本知识273

15.5.2使用链表274

15.5.3演示简单链表278

15.5.4实现链表280

15.6总结286

15.7问与答286

15.8作业286

15.8.1小测验287

15.8.2练习287

第16天课程使用磁盘文件289

16.1将流与磁盘文件关联起来289

16.2磁盘文件的类型289

16.3文件名290

16.4打开文件290

16.5读写文件数据292

16.5.1格式化文件输入/输出293

16.5.2字符输入/输出296

16.5.3直接文件输入/输出297

16.6文件缓冲技术:关闭和刷新文件300

16.7顺序文件存取和随机文件存取301

16.7.1 ftell()和rewind()函数301

16.7.2 fseek()函数303

16.8检测文件尾305

16.9文件管理函数307

16.9.1删除文件307

16.9.2给文件重命名308

16.9.3**文件309

16.10使用临时文件311

16.11总结312

16.12问与答312

16.13作业313

16.13.1小测验313

16.13.2练习313

TYPE&RUN5计算字符数314

第17天课程操纵字符串318

17.1确定字符串的长度318

17.2**字符串319

17.2.1 strcpy()函数319

17.2.2 strncpy()函数320

17.2.3 strdup()函数321

17.3拼接字符串322

17.3.1 strcat()函数322

17.3.2 strncat()函数324

17.4比较字符串325

17.4.1比较两个完整字符串325

17.4.2比较字符串的一部分326

17.4.3比较字符串时忽略大小写328

17.5查找字符串328

17.5.1 strchr()函数328

17.5.2 strrchr()函数329

17.5.3 strcspn()函数329

17.5.4 strspn()函数330

17.5.5 strpbrk()函数331

17.5.6 strstr()函数331

17.6字符串转换332

17.7其他字符串函数333

17.7.1 strrev()函数333

17.7.2 strset()和strnset()函数334

17.8将字符串转换为数字334

17.8.1将字符串转换为int335

17.8.2将字符串转换为long值335

17.8.3将字符串转换为long long值335

17.8.4将字符串转换为浮点数335

17.9字符检测函数336

17.9.1 ANSI对大小写转换的支持339

17.10总结340

17.11问与答340

17.12作业341

17.12.1小测验341

17.12.2练习341

第18天课程有关函数的高级主题343

18.1将指针传递给函数343

18.2 void类型的指针346

18.3接受可变数目参数的函数348

18.4返回指针的函数350

18.5总结352

18.6问与答352

18.7作业352

18.7.1小测验352

18.7.2练习353

第19天课程函数库354

19.1数学函数354

19.1.1三角函数354

19.1.2指数函数和对数函数354

19.1.3双曲线函数355

19.1.4其他数学函数355

19.1.5演示数学函数355

19.2处理时间356

19.2.1时间的表示356

19.2.2时间函数356

19.2.3使用时间函数359

19.3处理错误360

19.3.1 assert()宏361

19.3.2头文件errno.h362

19.3.3 perror()函数362

19.4查找和排序364

19.4.1使用bsearch()进行查找364

19.4.2使用qsort()进行排序365

19.4.3演示查找和排序365

19.5总结370

19.6问与答370

19.7作业370

19.7.1小测验370

19.7.2练习371

TYPE&RUN6计算抵押贷款的偿还金额372

第20天课程管理内存374

20.1类型转换374

20.1.1自动类型转换374

20.1.2显式转换376

20.2分配内存的存储空间377

20.2.1使用malloc()函数分配内存377

20.2.2使用calloc()函数分配内存379

20.2.3使用realloc()函数分配更多的内存380

20.2.4使用free()函数释放内存381

20.3操纵内存块383

20.3.1使用memset()函数初始化内存383

20.3.2使用memcpy()**内存中的数据383

20.3.3使用memmove()函数移动内存中的数据383

20.4位的用法385

20.4.1移位运算符385

20.4.2按位逻辑运算符386

20.4.3求补运算符387

20.4.4结构中的位字段387

20.5总结389

20.6问与答389

20.7作业390

20.7.1小测验390

20.7.2练习390

第21天课程编译器的高级用法392

21.1使用多个源代码文件的编程392

21.1.1模块化编程的优点392

21.1.2模块化编程技术392

21.1.3模块的组成部分394

21.1.4外部变量和模块化编程395

21.1.5使用.obj文件395

21.1.6使用生成工具396

21.2 C语言的预处理器396

21.2.1#define预处理器编译指令397

21.2.2使用编译指令#include400

21.2.3使用#if、#elif、#else和#endif400

21.2.4使用#if…#endif来帮助调试401

21.2.5避免将头文件包含多次401

21.2.6#undef编译指令402

21.3预定义的宏402

21.4使用命令行参数403

21.5总结405

21.6问与答405

21.7作业405

21.7.1小测验405

21.7.2练习406

第三周复习407

附加课程(具体内容见光盘)413

附录A ASCII字符集414

附录B C/C++中的保留字418

附录C使用二进制和十六进制数420

C.1十进制420

C.2二进制420

C.3十六进制420

附录D移植性问题422

D.1 ANSI标准422

D.2 ANSI关键字422

D.3区分大小写422

D.4可移植的字符424

D.5确保ANSI兼容性424

D.6绕开ANSI标准424

D.7使用可移植的数值变量425

D.7.1最大值和最小值426

D.7.2确定数字的类型430

D.7.3转换字符的大小写:一个可移植性范例434

D.8可移植的结构和共用体434

D.8.1字对齐434

D.8.2读写结构435

D.8.3在可移植的程序中使用非-ANSI特性436

D.8.4 ANSI标准头文件437

D.9总结438

D.10问与答438

D.11作业438

D.11.1小测验438

D.11.2练习439

附录E常用的C语言函数440

附录F作业答案444

第1天课程的答案444

小测验444

练习444

第2天课程的答案445

小测验445

练习445

第3天课程的答案446

小测验446

练习446

第4天课程的答案447

小测验447

练习447

第5天课程的答案449

小测验449

练习449

第6天课程的答案452

小测验452

练习452

第7天课程的答案453

小测验453

练习453

第8天课程的答案457

小测验457

练习457

第9天课程的答案461

小测验461

练习461

第10天课程的答案463

小测验463

练习463

第11天课程的答案465

小测验465

练习466

第12天课程的答案467

小测验467

练习467

第13天课程的答案470

小测验470

练习471

第14天课程的答案471

小测验471

练习472

第15天课程的答案472

小测验472

练习473

第16天课程的答案473

小测验473

练习474

第17天课程的答案474

小测验474

练习474

第18天课程的答案475

小测验475

练习475

第19天课程的答案475

小测验475

练习476

第20天课程的答案476

小测验476

练习477

第21天课程的答案477

小测验477

附加课程1的答案478

小测验478

附加课程2的答案478

小测验478

附加课程3的答案478

小测验478

附加课程4的答案479

小测验479

附加课程5的答案479

小测验479

附加课程6的答案480

小测验480

附加课程7的答案480

小测验480

练习480

附录G Dev-C++编译器482

G.1 Dev-C++简介482

G.2在Microsoft Windows上安装Dev-C++482

G.3 Dev-C++中的程序484

G.4使用Dev-C++484

G.4.1针对C语言编程定制Dev-C++485

G.4.2在Dev-C++中输入并编译程序486

G.4.3编译Dev-C++程序488

G.4.4运行Dev-C++程序488

G.5总结489

版权说明:如非注明,本站文章均为 皮努努下载 原创,转载请注明出处和附带本文链接;

本文地址:https://www.pinunu.com/map/cyyjcbc1.html