C语言学习(路线参考)

本文的记录皆为快速学习C语言的一个路线,其中许多内容了解即可。
PS:本文中所有代码配置环境为:Windows 10 + VS2013
(使用的都是.cpp文件,不是.c)

进制介绍

参考文章:
C语言进制介绍

循环操作

参考文章:
C语言打印五角星(源码)

数组操作

数组介绍:

  • 优点:
    1.随机访问性强
    2.查找速度快
  • 缺点:
    1.插入和删除效率低
    2.空间利用率不高
    3.内存空间要求高,必须有足够的连续内存空间。
    4.数组大小固定,不能动态拓展
  • 使用场景:
    1.数据比较少
    2.经常做的运算是按序号访问数据元素
    3.数组更容易实现,任何高级语言都支持
    4.构建的线性表较稳定。

参考文章:
C_数组and字符串操作记录
C_数组and二维数组(扫雷地图)操作记录

指针操作

参考文章:
C_指针(一级指针交换值操作)

函数操作

PS:
1、自定义函数中的参数,无法修改"形参"中的值
2、特殊情况:“实参指针"指向"形参”,会改变"形参"中的值

函数介绍

  • 主函数中参数名为:形参
  • 自定义函数中的传参为:实参

变量介绍

  • 局部变量: { } 以内定义的变量统称为 局部变量。
    使用范围:{ }以内,
    生存周期;出 { } 结束(自动释放变量)
  • 全局变量: 主函数以外 and { }以外定义的变量,统称为 全局变量。
    使用范围:全局可以调用;
    生存周期:直到程序结束;
  • 静态变量: 凡是 static 定义的变量,统称为 静态变量。
    使用范围:是局部的;
    生存周期:全局的(直到程序结束)

函数传参表格参考

  • 指针:“定义一个指针变量"指向所"获取变量的地址”
    定义方式:int *p; (PS:“&” and "[]"都具有取地址的作用,)
  • 指针数组介绍:里面存的都是"指针"指向的"地址";
    定义方式:int *ppArr[10];
  • 数组指针介绍:通过"指针"的方式指向数组中的二维数组;
    定义方式:int(*pdArr)[6];
实参形参定义方式注释
int xint x实参类型要与实参类型一样
&xint*p此方法可以通过形参修改实参的值
int arr[5]int parr[] 或 int*parr一维指针 对应 一级指针
int dArr[5][6]int pdArr[][6] 或 int(*pdArr)[6]二维数组 对应 数组指针
int *ppArr[10]int*pp[] 或 int **pp指针数组 对应 二级指针

参考文章:
C_函数and指针传参and返回值操作
C_函数and回调函数(汉诺塔小游戏)

结构体 and 枚举

关键词:结构体(struct)、联合结构体(union)、枚举(enum)
PS: 联合结构体 and 枚举 在开发中很少使用,相关介绍在文中,

参考文章:
C_结构体(图书修改)
C_联合结构体(union)and枚举(enum)使用

文件操作

PS: 打开了文件 就一定 要关闭

  • 打开关闭操作函数:
    1、打开文件:fopen(“文件名+后缀”,“打开格式”) 函数
    2、关闭文件:fclose(文件指针)函数

PS:
1、fprintf() 函数 and fscanf() 函数 需要搭配使用
2、fputs() 函数 and fgets() 函数 需要搭配使用

  • 字符串操作函数:
  • 字符串写入:
    1、fprintf(文件指针,"文件格式’',变量) 函数
    2、fputs(“内容”,文件指针) 函数
  • 字符串读取:
    2、fscanf(文件指针,"文件格式’',变量) 函数
    3、fgets(“内容”,文件指针) 函数
  • 单字符操作函数:
  • 单字符写入:
    1、fputc(data,文件指针) 函数
  • 单字符读取:
    2、fgetc(文件指针) 函数

注释:
(1)SEEK_SET从开头开始偏移
(2)SEEK_CUR从当前位置开始偏移
(3)SEEK_END从结尾开始偏移

  • 文本指针偏移操作函数:
    1、fseek(文件指针, 偏移量, best);

打开格式(简介):

打开格式注释
r只读的方式打开
1、如果没有则返回NULL
2、有文件则打开文件
w写入的方式打开
1、如果没有则新建文件
2、有文件则清空后在写入内容
a追加的方式打开
1、如果没有则新建文件
2、有文件则在内容的末尾处写入新内容
+以读写的形式打开
t以文本的形式打开
(没选择二进制打开,默认以文本形式打开)
d以二进制的形式打开

打开格式(一般使用方法):

打开格式注释
rt+以读写的形式打开文本文件
1、如果没有则返回NULL
2、有文件则打开文件
wt+以读写的形式打开文本文件
1、如果没有则新建文件
2、有文件则清空后在写入内容
at+以读写的形式打开文本文件
1、如果没有则新建文件
2、有文件则在内容的末尾处写入新内容
rd+以读写的形式打开二进制文件
1、如果没有则返回NULL
2、有文件则打开文件
wd+以读写的形式打开二进制文件
1、如果没有则新建文件
2、有文件则清空后在写入内容
ad+以读写的形式打开二进制文件
1、如果没有则新建文件
2、有文件则在内容的末尾处写入新内容

参考文章
C_文件操作(图书信息存储)

顺序表 栈 队列 链表

简介

静态数组优缺点:

  • 缺点:
    1、栈区小放不了太多数据
    2、数组大小不能改变
  • 优点:
    1、可以通过下标访问快速实现更改数据
    2、自动释放内存

动态数组优缺点

  • 缺点:
    1.如果有一个数据 插入 重新申请内存 所有数据都要移动一次
    2.插入删除不便
    3.需要主动释放内存
    4.申请大的空间可能会申请失败
  • 优点:
    1.大小不固定,可以灵活扩展

栈优缺点:

  • 优点:
    后进先出

队列优缺点:

  • 优点:
    先进先出

链表优缺点:

  • 缺点:
    1.不能随机查找,必须从第一个开始遍历,查找效率低
  • 优点:
    1.增加一个数据 就申请一个节点(插入删除速度快)
    2.删除数据时不影响其他节点
    3.每次申请空间都比较小(申请失败可能性小)
    4.内存利用率高,不会浪费内存(大小没有固定,拓展很灵活)
  • 使用场景
    1.对线性表的长度或者规模难以估计
    2.频繁做插入删除操作
    3.构建动态性比较强的线性表。

参考文章
C_顺序表(指定增删改查)
C_顺序表(动态数组插入)
C_栈(进制转换)
C_队列(插入输出)
C_链表(单链表基本功能实现)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值