美文网首页
c语言记录

c语言记录

作者: eeert2 | 来源:发表于2022-06-16 12:24 被阅读0次

# c语言

## 一 语法

### 第一章 类型,运算符与表达式

#### 1.变量

##### 1.1 变量名

变量标识符只可以使用字母,下划线以及数字,其中标识符的开头必须是字母或下划线。

下划线开头的变量一般是扩展或实现,用户不应该直接使用。

变量是区分大小写的,我们一般用小写来标识变量,大写来标识常量。

变量名不能与关键字冲突。

##### 1.2 变量与常量

变量是可以变化的,有的时候我们不想要变量被改变,可以使用 `#define`定义一个宏,或者使用 `const`关键字对变量进行限定。前者是狭义上的常量。

#### 2. 数据类型及长度

##### 2.1 基本数据类型c89

- `char`: 1个字节

- `short`: 2个字节

- `int`: 2 或 4个字节

- `long`: 4 或 8个字节

- `float`: 4 个字节

- `double`: 8 个字节

添加 `unsigned`,长度不变,范围则从0开始。

##### 2.2 新增数据类型c99

- `long long`:8 个字节

- `long doble`: 长度不定

- `_Bool`: 1个字节,需要包含 `stdbool.h`

- `int_8`, `int_16`, `int_32`... 需要包含`inttypes.h`

#### 3. 常量

##### 3.1 数字类型常量

- `123`:  默认为`int`类型的常量, 后缀 `l` 或 `L` 则为 `long` 类型, 如 `123L`。

- 如果一个数字太大,超过 `int` 的范围,则被当作 `long` 类型进行处理。

- 无符号常量用 `u` 或 `U`进行结尾, 如 `123u` 表示 `unsigned int` 类型, `u`/`U` 可以与 `l`/`L`一起使用, 如 `1111UL` 表示 `unsigned long int` 类型。

- `123.45`: 浮点数默认为 `double` 类型,后缀 `f`/`F`, 则表示为 `float` 类型。

##### 3.2 八进制,十六进制的整型

- `011`: 0开头的数字表示8进制,这里`011` 即十进制的 `9`

- `0X11` / `0x11`: `0x`或`0X`开头的数字表示16进制整数, 这里的 `0x11` 即 17

##### 3.3 字符常量

字符常量是整数类型的一种, 因此可以直接与整数进行运算:

```c

```

## 二 标准库

## 三 三方库

## 四 c语言标准变化

## 五 gcc

相关文章

  • c语言记录

    # c语言 ## 一 语法 ### 第一章 类型,运算符与表达式 #### 1.变量 ##### 1.1 变量名 ...

  • C语言基础知识记录

    C语言基础知识记录

  • C语言Bug记录

    在学习用C语言写个简单的Lisp语言 源代码如下: bug1:fatal error: 'editline/his...

  • C语言上课记录

    第一次晚自习的课程 第一大点: C语言的起源 语言的基本结构: 第二大点: 输入:scanf("控制字符",&接收...

  • C语言记录日志

    查日志一直是调试问题的重要途径,那么就需要详细完备的日志记录才能提供有用信息。最好包括哪个文件、哪行、哪个函数等信...

  • C中字符串数组表示方法

    C的基础不太扎实,这个文集里面着重记录C语言的常用和不常用的语法和技巧。 C语言中字符串数组怎么表示? char ...

  • 读 《C Traps and Pitfalls》Record

    @(C 语言)[基础, 编程] 薄薄一本书, 却记录了c 编程经常犯下的错误,再读,记录下。 词法 词法分析 : ...

  • 国二c语言记录

    1. 数据流图中带有箭头的线段是数据流 2. 循环队列需要队首指针和队尾指针同时反映队列中元素的动态变化情况。 3...

  • C语言学习记录

    1、计算数组长度 通常做法: int array[] = {1, 2, 3, 4}; unsized int co...

  • C语言常用函数记录

    malloc函数 malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void...

网友评论

      本文标题:c语言记录

      本文链接:https://www.haomeiwen.com/subject/ewqqvrtx.html