C Primer Plus 学习笔记 第1章 初识C语言

 在今年5月C语言课程结束后,我开始阅读《C Primer Plus》这本书。这本书是一本很厚的C语言参考书,内容也很多,需要梳理一下。

全书共分17章,我每章都写一篇博客作为笔记,博客的目录和书上目录是相似的。

我目前大一,并且水平还有待进步,博客中若有错误或者总结不到位的地方也请见谅。

首先总结一下,本章是C语言的基础,主要介绍了C语言的历史和特点,以及与编译有关的知识,本章内容大多了解即可。

目录

1.1 C语言的起源

1.2 选择C语言的理由

1.2.1 设计特性

1.2.2 高效性

1.2.3 可移植性

1.2.4 强大而灵活

1.2.5 面向程序员

1.2.6 缺点

1.3 C语言的应用范围

1.4 计算机能做什么

1.5 高级计算机语言和编译器

1.6 语言标准

1.7 使用C语言的7个步骤

1.7.1 定义程序的目标

1.7.2 设计程序

1.7.3 编写代码

1.7.4 编译

1.7.5 运行程序

1.7.6 测试和调试程序

1.7.7 维护和修改代码

1.7.8 说明

1.8 编程机制

1.8.1 目标代码文件、可执行文件和库

1.8.2 集成开发环境(Windows)


1.1 C语言的起源

1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)在开发UNIX操作系统时设计了C语言。C语言是在B语言的基础上发展而来的。

1.2 选择C语言的理由

在过去的40多年里,C语言是最重要、最流行的编程语言之一。C语言有很多优点。

1.2.1 设计特性

C语言设计理念有利于用户完成自顶而下的规划、结构化编程和模块化设计。C语言编写的程序更易懂、更可靠。

1.2.2 高效性

C程序相对更紧凑,运行速度很快,具有通常是汇编语言才有的微调控制能力,可凭此获得最大运行速度或最有效地使用内存。

1.2.3 可移植性

在一种系统中编写的C语言程序稍作修改或不做修改便可在其他系统上运行。

1.2.4 强大而灵活

C语言功能强大而灵活。

1.2.5 面向程序员

C语言可以让程序员简洁地表达自己意图,满足程序员的需求。C语言相对比较灵活,但是这样的灵活既有优点也有缺点。优点是简洁。缺点是有时候犯莫名其妙的错误,这些错误在其他语言中不会出现。

C语言有大量的库,可以帮程序员处理问题。

39841db25ac445a5ae5cb1558f7240c9.jpg

1.2.6 缺点

C语言涉及指针的编程错误往往难以发现。

1.3 C语言的应用范围

C语言的应用范围很广,从个人计算机到大型机都有使用。

abd1a31671074ed5a4944454ff041f24.jpg

1.4 计算机能做什么

计算机CPU的工作主要是从内存中获取并执行一条指令,然后再从内存中获取并执行下一条指令。

存在计算机中的所有内容都是数字,计算机程序最终都必须是机器语言来表示。

如果希望计算机做某些事,就必须用机器语言告诉计算机要做的事以及怎么做。

1.5 高级计算机语言和编译器

高级编程语言简化了编程工作,可以更抽象地表达想法。

编译器将高级语言程序翻译成机器语言。

1.6 语言标准

1978年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)合著的 The C Programming Language第一版是最早的标准,称之为K&R C

1989年,美国国家标准协会(ANSI)发布了新标准,称为ANSI C,此标准定义了C语言和C标准库。国际标准化组织于1990年采用了此标准。此标准又称为C89或者C90。

1999年,ANSI/ISO联合委员会推出了C99标准,该标准保留了C语言的精髓。2011年推出了C11标准。

标准的修订是为了跟进新的技术。

1.7 使用C语言的7个步骤

c8c43e4c4b6c44c9b0f8a893e04080d8.jpg

1.7.1 定义程序的目标

先在脑中形成清晰的思路,明白自己想做什么,思考程序需要哪些信息和控制。

1.7.2 设计程序

接下来考虑如何用程序实现任务,考虑如何表示数据及如何处理数据。

1.7.3 编写代码

接下来把程序翻译成C语言代码。

1.7.4 编译

用编译器编译源代码。

注意编译的细节取决于编程环境。

1.7.5 运行程序

打开生成的可执行文件,进行运行。

1.7.6 测试和调试程序

程序可能会出现错误(行话是bug),此时要检查程序是否按思路运行,查找并修复错误的过程叫调试

1.7.7 维护和修改代码

在创建完程序后,发现程序有错,或者想扩展程序用途,就需要修改程序。

1.7.8 说明

编程并非就是这样的线性过程,可能在不同步骤之间往复。

开始写代码前最好先构思过程,做好规划。

1.8 编程机制

编写程序时,编写的内容被存储在文本文件中,该文件被称为源代码文件,扩展名是c

1.8.1 目标代码文件、可执行文件和库

C编程通过编译链接生成可执行文件。

编译器把源代码转换成中间代码,并存放在目标文件中。但此时还不能直接运行,还缺乏启动代码(程序和操作系统之间的接口)和库函数。

链接器把中间代码和启动代码,以及库函数代码合并,生成可执行文件。

143abacffc504ab3881c27d89fc7fe26.jpg

1.8.2 集成开发环境(Windows)

集成开发环境(IDE)可以快速开发C程序,如Microsoft Visual Studio。后续章节笔记的代码都在Visual Studio 2022中运行。通常IDE既可处理C,又可以处理C++。

如果程序执行完毕后窗口立即消失,可以在程序最后(return语句前)添加这一行代码:

getchar();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值