重读《C程序设计语言》(1):序言

之前已经读过一遍K&R的《C程序设计语言》了,但是并没有写读书笔记。这次想再认认真真地读一遍被誉为C语言圣经的《C程序设计语言》。正如书中所说,C语言并不是一种大型语言,也不需要一本很厚的书来描述。所以这次读书笔记也希望采用简洁的方式来记录C语言中的重要知识点。

(1)C语言最早是由Deninis Ritchie于1973年设计并实现的。

(2)C语言是在UNIX系统上开发的,并且无论是UNIX系统本身还是运行在其上的大部分程序,都是用C语言编写的。

(3)由于C语言适合用来编写编译器和操作系统,因此被称为“系统编程语言”。

(4)C语言中的变量可以只在函数内部有效,也可以在函数外部但仅在一个源文件中有效,还可以在整个程序中有效。

(5)编译的预处理阶段将对程序文本进行宏替换,包含其它源文件以及进行条件编译。

(6)C语言是一种相对“低级”的语言,其意味着C语言可以处理大部分计算机能够处理的对象。比如字符、数字、地址。

(7)除了由函数的局部变量提供的静态定义和堆栈外,C语言并没有定义任何存储器分配工具,也不提供堆和无用内存回收工具。

(8)C语言本身没有提供输入/输出功能。

(9)C语言保持了最初的设计思想,即程序员了解他们在做什么,唯一的要求是程序员要明确地表达他们的意图。

(10)对于大量的程序设计应用来说,C语言是一种公认的非常高效的,表达能力很强的语言。

(11)实际编写程序才是学习一种新语言的好方法。

(12)标准库提供了一个与操作系统交互的公用接口。这个函数库由ANSI标准定义,这意味着所有支持C语言的机器都会支持它。因此使用这个库执行输入、输出或其它访问操作系统的操作的程序可以不加修改地运行在不同的机器上。

时间: 2024-10-21 16:59:05

重读《C程序设计语言》(1):序言的相关文章

重读《C程序设计语言》(2):导言

这一章主要是概要的介绍C语言,通过实际程序引入C语言的基本元素.至于具体细节,后续章节将进一步介绍. (1)学习一门新程序设计语言的唯一途径就是使用它编写程序. /* * Copyright (C) [email protected] */ #include <stdio.h> main() { printf("hello, world\n"); } (2)在UNIX中,要运行上述代码,首先要在某个文件中建立这个程序,并以" .c "作为文件的扩展名.通

[程序设计语言]-摘记&amp;注解-目录

这篇博文干嘛的 前一周写了一篇博文“记-码农的“启蒙”之<程序设计语言-实践之路>和<面向对象分析和设计>两书”,其中说打算总结下这两本书中有哪些收获,这个系列文章呢,就是关于第一本书<程序设计语言-实践之路>的. 这本书能带来什么 首先这是一本介绍语言的入门书籍(笔者阅读是裘宗燕老先生翻译的第二版),如果你想从中学到一些独门绝技,那么抱歉,木有. 其次它介绍的是程序设计语言的一些重要基础概念.各种概念之间的关系:并解释了语言中诸多结构的形成和发展过程,以及他们演化到今

程序设计语言基本概念语 与经典真题

一.基本概念 在计算机中,程序设计语言可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,其运行效率高,但开发效率低.与程序设计相关的基本概念如下. (1)低级语言:又称面向机器语言,它是特定的计算机系统所固有的语言. (2)汇编语言:是机器语言的一种提升,它使用了一些助记符来表示机器指令中的操作码和操作数.但它仍然是一种和计算机机器语言十分接近的语言,使用起来仍然不太方便. (3)高级语言:与人们的自然语言比较接近,使用起来很方便,也极大的提高了程序设计效率. (4)编译程

扩展《C程序设计语言》练习2-3程序通用性

最近开始自学C语言,在看K&R的<C程序设计语言>.练习2-3要求写一个函数,将输入的十六进制数字字符串转换成与之等价的整数值,配套答案没有扩展程序的通用性,所以我就稍微改造改造. 配套的答案是这样的(自己添加了注释): 1 #define YES 1 2 #define NO 0 3 4 /* htoi:将十六进制数字字符串转换成十进制数 5 * 如果发现'0x'或'0X'则跳过并设置十六进制数的起点 6 * 检查后续字符是否是0-9,a-f或是A-F 7 * 如果是则将其转换为整形

程序设计语言-标准库概述

1 认识标准库 没有任何一个重要程序只用某种赤裸裸的程序设计语言写出的:首先总要开发出一组支持库,这也形成了进一步工作的基础. 2 第一个程序 #include<iostream>  //指编译器包含位于iostream里的标准流I/O功能的声明 int main() //定义一个main()函数,该函数没有参数,也不做任何事情 { std::cout<<"hello,world!\n"; //字符串文字量"hello,world!\n"将被

c程序设计语言第一章2

练习1.13编写一个程序,打印输入中单词长度的直方图.水平方向的直方图比较容易绘制,垂直方向的直方图则要困难些 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define MAXHIST 15//定义直方图的最大值 4 #define MAXWORD 11//定义单词的最大字符数 5 #define IN 1 6 #define OUT 0 7 int main() 8 { 9 int nc;//单词所含的字符数 10 int maxv

程序设计语言学习

人,程序,计算机 计算机的诞生就是为了帮助人们完成一些任务.计算机以其速度快.失误少.持续时间长.保存时间久等特点弥补了人类的不足. 程序是计算机完成人类任务的计划书.说明书.指导书或者说是执行步骤. 运行程序就是计算机照着计划书执行任务的过程. 程序设计语言则是人们写计划书的语言.与人们给自己写计划书用汉语.英语等语言一样,人们给计算机写计划书要用计算机能够认识的语言——机器语言,也就是01串.这也是可编程计算机刚刚出现时人们使用的语言. 但是01这种二进制的语言不好记忆.不好交流.不好理解,

(读后摘抄)《计算机程序设计语言的发展》_王汝传

原文是<电子工程师>里的一篇文章,以下是部分内容摘抄 第三代计算机语言:   Fortran语言 当时主要是用于科学计算 ,它 与汇编语言助记符的本质区别是引入了变量的概 念.它奠定了程序设计语言名字的理论基础 ,同时引 入了表达式.语句和子程序等概念 ,也是高级程序设计语言的基础.因其高效 率与完善的输入输出功能而受到人们的欢迎 ,至今 在科学计算领域仍充满生命力. Algol语言 孕育了许多很有用的程序设计与程序设计语 言思想 ,如自由程序格式.保留字.数据类型.分程序 概念.子程序调用方

对于《C程序设计语言》的一点理解

想必学C语言的人大都看过这一经典书籍.对于我来说,处于不同学习层次,阅读这本书的感觉是不一样的,每次阅读都会有一番新的感悟.第一次阅读时先读的英文版,读的很困难,主要是记录不会的单词:第二遍就顺利多了,但是对于其中的内容缺乏较深入的了解:第三遍就直接买了机械工业出版社出版的中文版,尝试读了一遍,但是对于后面几章特别是指针部分几乎读不下去:然后就开始做上面的练习,主要是做了前6章的练习,这其中费了不少时间和精力,还有一部分练习没有做. 对了,需要对这一分类下的博文做出几点说明. ①笔记中所说的[教