大学必备知识:C语言速成笔记
2025-10-06 08:42:33 0 举报
AI智能生成
大学必备知识:C语言速成笔记
作者其他创作
大纲/内容
C语言基础
数据类型
基本类型
int
整数类型,用于存储整数值
float
单精度浮点数,用于存储小数值
double
双精度浮点数,用于存储更精确的小数值
char
字符类型,用于存储单个字符
派生类型
指针
存储变量地址的变量
数组
同类型数据的集合
结构体
用户自定义的数据类型
联合体
同一内存位置存储不同数据类型
枚举
一组命名的整型常量
变量和常量
变量声明
定义变量的类型和名称
常量定义
使用const关键字定义常量
运算符
算术运算符
+,, *, /, %
分别代表加、减、乘、除、取模
关系运算符
<, >, <=, >=, ==, !=
分别代表小于、大于、小于等于、大于等于、等于、不等于
逻辑运算符
&&, , !
分别代表逻辑与、逻辑或、逻辑非
位运算符
&, , ^, ~, <<, >>
分别代表按位与、按位或、按位异或、按位取反、左移、右移
赋值运算符
=
将右侧表达式的值赋给左侧变量
+=,=, *=, /=, %=
分别代表复合赋值运算符
控制结构
条件语句
if
单分支条件判断
else if
多分支条件判断
switch
多路分支选择结构
循环语句
for
初始化、条件判断、迭代的循环结构
while
条件为真时执行循环体
do-while
至少执行一次循环体,然后条件为真时继续循环
函数
函数定义
返回类型
指定函数返回值的类型
函数名
函数的唯一标识符
参数列表
函数接收的输入参数
函数体
函数执行的代码块
函数声明
提前告知编译器函数的存在和类型
调用函数
使用函数名和参数列表执行函数
递归函数
函数自我调用以解决问题
指针和动态内存管理
指针基础
指针声明和初始化
定义指针变量并赋予地址值
指针运算
指针与整数的加减、指针间的减法等
指针与数组
指针遍历数组元素
指针与函数
函数参数的传递方式
动态内存分配
malloc
在堆上分配内存
calloc
分配并初始化内存
realloc
调整已分配内存的大小
free
释放动态分配的内存
预处理器
宏定义
#define
定义宏,进行文本替换
文件包含
#include
包含其他文件的内容
条件编译
#ifdef, #ifndef, #endif
根据条件编译代码块
高级主题
结构体和联合体的高级用法
结构体指针
指向结构体的指针操作
位字段
在结构体中定义位宽的字段
指针数组和数组指针
指针数组
元素为指针的数组
数组指针
指向数组的指针
动态数据结构
链表
动态创建和管理节点的列表
栈和队列
后进先出和先进先出的数据结构
C语言标准库
C99和C11标准
了解C语言的更新和新特性
POSIX标准
了解类Unix系统的C语言接口
性能优化
编译器优化选项
利用编译器优化代码性能
算法优化
选择更高效的算法和数据结构
安全编程
缓冲区溢出
防止和处理缓冲区溢出攻击
格式化字符串漏洞
避免格式化字符串的安全风险
内存管理安全
安全地管理动态内存分配
文件操作
文件指针
FILE类型
用于标识和操作文件
文件打开和关闭
fopen, fclose
分别用于打开和关闭文件
文件读写
fread, fwrite
分别用于从文件读取和写入数据
fscanf, fprintf
分别用于格式化读取和写入文件
fgetc, fputc
分别用于读取和写入单个字符
错误处理和调试
错误处理
errno
全局变量,用于报告错误
perror
打印错误信息
调试技巧
使用调试器
如GDB进行程序调试
打印调试信息
使用printf等函数输出调试信息
断言
assert宏,用于检查程序中的条件
标准库函数
输入输出函数
printf
格式化输出到控制台
scanf
从控制台读取输入
字符串处理函数
strcpy, strcat, strlen, strcmp
分别代表字符串复制、连接、长度计算、比较
数学函数
sqrt, pow, sin, cos, tan
分别代表平方根、幂运算、正弦、余弦、正切
时间日期函数
time, localtime, strftime
分别代表获取时间、转换时间、格式化时间
0 条评论
下一页