【编程语言】《C程序设计:现代方法》学习笔记

目录

C 的优缺点

优点

缺点

高效使用 C

基本概念

编译和链接

注释

声明

指令

函数

语句

变量

赋值

初始化

表达式

记号 token

定义常量/宏定义

标识符

程序退出

关键字 keyword

常用的编译选项

格式化输入输出

printf 函数

格式串

转义序列

scanf 函数

格式串

杂项

%i

显示 %

表达式

算术运算符

结合性

赋值运算符

左值 lvalue

右值

自增自减

前缀

后缀

表达式求值

表达式语句

注意

选择语句

逻辑表达式

布尔值

switch

循环

逗号表达式

退出循环

空语句

基本类型

整数

整数溢出

读写整数的格式说明

浮点

读写

字符

转义

读写

类型转换

隐式转换

强制转换

类型定义

sizeof

数组

sizeof

多维数组

常量数组

变长数组(C99)

函数

定义

声明

实际参数

数组型参数

变长数组参数

数组参数声明使用 static

复合字面量

程序终止

递归

快速排序算法

程序结构

局部变量

静态局部变量

外部变量(全局变量)

作用域

构建 C 程序

指针

指针运算符

指针赋值

指针作为参数

const 保护

指针作为返回值

打印指针

指针和数组

指针的算术运算

指针比较

指向复合常量的指针(C99)

指针用于数组处理

用数组名作为指针

用指针作为数组名

处理多维数组的元素

处理多维数组的行

处理多维数组的列

用多维数组名作为指针

指针和变长数组(C99)

字符串

字符串字面量

延续字符串字面量

如何存储字符串字面量

字符串字面量的操作

字符串字面量与字符常量

字符串字面量可以有多长

为什么不把字符串字面量称为“字符串常量”

字符串变量

初始化字符串变量

字符数组与字符指针

字符串的读和写

用 printf 函数和 puts 函数写字符串

用 scanf 函数和 gets 函数读字符串

使用 C 语言的字符串库

strcpy函数

strlen函数

strcat函数

strcmp函数

字符串数组

命令行参数

预处理器

工作原理

预处理指令

宏定义

#运算符

宏的通用属性

宏定义中的圆括号

创建较长的宏

预定义宏

空的宏参数(C99)

参数个数可变的宏(C99)

__func__标识符

条件编译

if 和 endif

#ifdef 指令和 #ifndef 指令

#elif指令和#else指令

其他指令

编写大型程序

源文件

头文件

保护头文件

include 格式

构建

在程序外定义宏

结构、联合和枚举

结构变量

对结构的操作

结构标记的声明

结构类型的定义

结构作为参数和返回值

复合字面量(c99)

嵌套的结构

结构数组

联合

用联合来构造混合的数据结构

为联合添加“标记字段”

枚举

枚举标记和类型名

枚举作为整数

用枚举声明“标记字段”

例子

指针的高级应用

动态存储分配

内存分配函数

空指针

动态分配字符串

calloc 函数

realloc 函数

释放存储空间

悬空指针

链表

->运算符

搜索链表

从链表中删除结点

指向指针的指针

指向函数的指针

qsort函数

受限指针C99

灵活数组成员

NULL宏表示什么

声明

复杂声明的理解

函数的存储类型

初始化式

未初始化的变量

内联函数

内联函数的限制

程序设计

模块

内聚性与耦合性

模块的类型

信息隐藏

抽象数据类型

封装

底层程序设计

位运算符

用位运算符访问位

用位运算符访问位域

结构中的位域

位域是如何存储的

将指针作为地址使用

volatile类型限定符

标准库

对标准库中所用名字的限制

使用宏隐藏的函数

输入输出

文件指针

文本文件与二进制文件

文件操作

打开文件

关闭文件

为打开的流附加文件

从命令行获取文件名

临时文件

文件缓冲

其他文件操作

格式化的输入/输出

...printf 函数

...scanf 函数

检测文件末尾和错误条件

字符的输入/输出

输出

输入

行的输入/输出

输出

输入

块的输入/输出

文件定位

字符串的输入/输出

输出

输入

库对数值和字符数据的支持

错误处理

诊断

错误

信号处理

signal 函数

raise 函数

非局部跳转

国际化特性

本地化

类别

localeenv 函数

多字节字符和宽字符

多字节字符

宽字符

统一码和通用字符集

多字节/宽字符转换函数

多字节/宽字符串转换函数

拼写替换

通用字符名

扩展的多字节和宽字符实用工具

流倾向

宽字符分类和映射实用工具

其他库函数

可变参数

通用的实用工具

日期和时间

C99 对数学计算的新增支持


C 的优缺点

  • 底层语言
  • 小型语言
  • 包容性语言

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禅与计算机程序设计艺术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值