我是靠谱客的博主 畅快书本,最近开发中收集的这篇文章主要介绍C语言程序设计C语言之父,C程序设计语言-美-里奇-C语言之父-机械工业出版社,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我的思考

汇编语言中,程序分为多个段,数据段和代码段,我认为所有的语言大抵也是如此。以下这两点,是所有语言的基本。

数据段:数据类型和变量。汇编中的数据段中存放着不同长度的数据,C语言则有数据类型、数组。

代码段:表达式和流程控制。汇编中的代码段中有指令,如add ax, 1等等,C语言中则有表达式。汇编中的流程控制如jmp等则对应C中的if,for等流程控制语句。

其他C语言中的特性:

编译器伪指令%include:C语言中也有#include伪指令(预处理器指令)

符号常量:#define SUCCESS 1

声明和定义分离:因为C语言编译成可执行文件需要多个步骤:预编译、编译、汇编、链接。而只有最后一步才需要查找具体的实现(定义),所以声明和实现分离是比较好的,即分为.h和.c文件

外部变量:extern,跟函数的声明有相同的作用,链接之前不会找他的实现(定义)。

C预处理器

源文件的开始处通常都会有多个#include指令,它们用以包含常见的#define语句和extern声明。或访问库函数声明,如

指针

&符号取地址,*符号取地址对应的值。指向void的指针(void*)可以存放指向任何类型的指针。指针运算pointer++每次都指向下个数据,指针移动的距离是指针指向类型的长度。

指向函数的指针,*优先级低于(),所以void *comp()表示comp函数范围了int指针,而void (comp*)()表示comp是指向函数的指针。

结构体

使用点号.访问结构体中的内容。类似Java中的类。

struct point{

int x;

int y;

};

复制代码

如果一个指针是指向结构体的指针,那么可以使用->来访问属性。

struct point *rp;

rp->x;

rp->y;

复制代码

类型定义typedef

C语言提供了typedef来定义新类型名,如typedef int Length;则Length和关键字int完全相同。

输入和输出

标准库头文件一般在/usr/include目录下。

启动一个C语言环境时,操作系统负责打开3个文件,它们分别是标准输入、标准输出、标准错误,他们在中声明。如下程序将从标准输入(键盘)读取一个字符

#include

main(){

int ch = getc(stdin);

putc(ch, stdout);

}

复制代码

读取文件时,读取到末尾时会返回EOF,在中声明,一般为-1

系统调用、POSIX、库函数

系统调用由操作系统提供,是用户程序与操作系统内核交互的桥梁。

POSIX规范是unix-like操作系统需遵循必须实现的接口,一般以库函数的形式提供。

最后

以上就是畅快书本为你收集整理的C语言程序设计C语言之父,C程序设计语言-美-里奇-C语言之父-机械工业出版社的全部内容,希望文章能够帮你解决C语言程序设计C语言之父,C程序设计语言-美-里奇-C语言之父-机械工业出版社所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部