pointer on C_1 基本概念

来源:互联网 发布:万捷网络验证系统 编辑:程序博客网 时间:2024/06/07 20:18

第一章:基本概念

1.1环境

ANSI C的实现存在两种环境:翻译环境 和 执行环境。

翻译环境:源代码->可执行代码(机器指令)

执行环境:执行可执行代码

那么问题来了,什么叫做“交叉编译”?

答:翻译和执行在不同类型的机器上。

1.1.1翻译

编译(预处理、解析):源代码->目标代码(该代码可用优化器优化)

链接:(目标代码+库函数+启动代码)->可执行代码

1.1.2执行(见C和指针21页)

载入内存->调用main函数->执行程序代码->终止

1.2词法规则

一个ANSI C程序由声明函数组成。声明描述了函数和函数将要操作的数据类型,函数定义了需要执行的工作。

1.2.1字符

C标准规定规定字符集必须包括大小写字母0~9

!        “       #       %      ‘        (        )        *       +       ,        -        .        /       :        ;        <       >       =       ?       [        ]        \       ^       _       {        }        |         ~

空白字符:换行符(\n)、空格( 或\32)、水平制表符(\t)、垂直制表符(\v)、格式反馈字符(打印显示为空白)

三字母词:有时候不一定适用

??= equals #      ??) equals ]

??! equals |      ??(equals [

??' equals ^      ??> equals }

??/ equals \      ??< equals {

??- equals ~

转义字符(escapesequence)或者字符转义(character escape)

\?  \”  \’ \\  \a  \b \f  \n  \r \t  \v

\ddd表示1~3个八进制数字,取值范围\0~\377,超出的部分将会解释成多个字符

例:

printf("\12345");

结果:

S45

\xdd表示1~2个十六进制数字,取值范围\0~\FF

注意:ASCII码定义了\0~\7E,其他数值没有定义输出为空。

例:

printf("\x101");

结果:

[Warning]:hexescape sequence out of range

1.2.2注释

注释用//或者/*  */

注意:注释不能嵌套;注释可以出现在任何空格可以出现的地方;

1.2.3标识符

标识符便是变量、函数、类型等的名字,由字母、数字和下划线组成,开头只能以字母或者下划线开头。C语言区别大小写。C语言的关键字(char auto do等)是保留的,它们不能被标识符使用。

1.3编程风格

C语言是一个自由形式的语言,用清楚的风格编写程序便于维护和阅读。

0 0
原创粉丝点击