pointer on C_1 基本概念

本文详细介绍了C语言中的基本概念,包括翻译和执行环境、词法规则、字符与注释、标识符以及编程风格。讲解了编译过程、字符集、转义字符和注释的使用规则,并强调了编程风格对于代码可读性和维护性的重要性。
摘要由CSDN通过智能技术生成

第一章:基本概念

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Contents A Quick Start ........................................................................................................ 1 Basic Concepts ...................................................................................................... 7 Data ....................................................................................................................... 11 Statements ............................................................................................................. 15 Operators and Expressions .................................................................................... 23 Pointers .................................................................................................................. 29 Functions ............................................................................................................... 37 Arrays .................................................................................................................... 43 Strings, Characters, and Bytes .............................................................................. 55 Structures and Unions ........................................................................................... 69 Dynamic Memory Allocation ................................................................................ 75 Using Structures and Pointers ............................................................................... 79 Advanced Pointer Topics ...................................................................................... 87 The Preprocessor ................................................................................................... 93 Input/Output Functions .......................................................................................... 95 Standard Library .................................................................................................... 119 Classic Abstract Data Types ................................................................................. 129 Runtime Environment ........................................................................................... 145
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值