![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
文章平均质量分 79
用来记录我学习C语言的一些知识
西邮郭富城
不要摆烂!不要摆烂!!不要摆烂!!!
展开
-
【C语言】—— 数据结构与算法基础学习
这篇博客是我学数据结构随便写写的,就当笔记记的,不要太较真,中间也有好多知识点没写。数据结构概述定义我们如何把大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应的操作,这个相应的操作也叫做算法。数据结构 = 个体 + 个体的关系算法 = 对存储数据的操作算法解题的方法和步骤衡量算法的标准: 1.时间复杂度 大概程序要执行的次数,而非执行时间。原创 2021-11-19 17:45:27 · 1524 阅读 · 2 评论 -
C语言实现简易四则运算表达式
简单理解:对于C语言实现四则运算我们首先必须知道先乘除后加减,由于这个特性,所以四则运算的运算顺序极为重要,对于怎样解决这个问题,我们可以想到使用栈来解决。大体思路:首先,一说到栈,我们能想到栈的特殊处理方式,先进后出,由此我们又能想到,使用两个栈利用它特殊的处理方式来实现简单的四则运算,第一个栈用来存储数据,将你输入的字符串中的所有的数字都存入这个栈中,方便后续的使用,另一个栈用来存储符号,当然不能只无脑的往栈中存储,还需要考虑怎么才能实现先乘除后加减的特殊运算顺序,此时我们可以为其特殊的符号赋予不原创 2021-09-22 19:42:58 · 6464 阅读 · 4 评论 -
C语言中缀表达式转后缀表达式
一.基本概念:逆波兰式(Reverse Polish notation,RPN,或逆波兰记法),也叫后缀表达式(将运算符写在操作数之后)。将中缀表达式转化为后缀表达式的原因:原因就在于这个简单是相对人类的思维结构来说的,对计算机而言中序表达式是非常复杂的结构。相对的,逆波兰式在计算机看来却是比较简单易懂的结构。因为计算机普遍采用的内存结构是栈式结构,它执行先进后出的顺序。二.算法思路:首先设置一个操作符栈,临时存放操作符,再设置一个队列或数组,存放后缀式。 以#作为运算开始和结束的标志。1、原创 2021-09-23 11:08:54 · 6846 阅读 · 6 评论 -
学生管理系统总结
实现学生管理系统,注意要模块化,多使用函数!!!一.登陆 / 注册想要实现登陆注册功能首先需要一个存放账号和密码的文件还需要定义一个结构体,用于存放用户的账号和密码:typedef struct Account { char number[20]; //账号 char account[20]; //学号 char password[20]; //密码 char identity[10]; //原创 2021-05-15 20:58:56 · 399 阅读 · 1 评论 -
基础递归算法
一.递归的基础知识1.定义:递归和平常函数之间的相互调用相同,不过递归是一种函数自己之间或者间接调用自己来完成对数值计算的方法。2.原理:(需要用到栈的相关知识)简单的函数调用:#include <stdio.h>void func_A() { printf("AAA\n"); func_B(); printf("aaa\n"); return;}void func_B() { printf("BBB\n"); func_C(); pri原创 2021-04-30 13:18:17 · 278 阅读 · 1 评论 -
文件的基本操作
一.基础知识文件是数据的集合,这个数据集的名称就是文件名。 实际上在前面的各章中我们已经多次使用了文件,例如:源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是存放在外部介质(如磁盘等)上的,在使用时才调入内存中来。从用户的角度看,Linux系统的文件分为普通文件和设备文件两种。普通文件是指存放在磁盘或其它外部介质上的一个有序数据集,可以是源文件、目标文件、可执行程序; 也可以是一组待处理的原始数据,或者是一组输出的结果。对于源文件、目标文件、 可执行程序可以称作程序文件,对输入输出数据原创 2021-05-10 22:11:08 · 834 阅读 · 7 评论 -
指针函数和函数指针(回调函数)
注:()的优先级高于*。一.指针函数1.定义:指针函数实质是一个函数,与普通的函数相同,但是普通函数都有返回类型(如果不返回值,则为无值型),指针函数返回类型是某一类型的指针。2.一般形式:类型名 *函数名(函数传参列表);例如:int* fun(int a, int b);int * fun(int a, int b);int *fun(int a, int b);//都定义了一个指针函数,具体的写法因人而异。该代码定义了一个指针函数,它的返回值类型为 int * 类型。3.示例原创 2021-04-14 20:20:58 · 578 阅读 · 14 评论 -
队列的基本认识和操作
队列的基本认识和操作一.队列的基础知识1.定义:队列是一种可以实现 “先进先出” 的存储结构。 也可以理解为一种特殊的链表,它只允许在链表的一端进行插入,在链表的另一端删除元素,不可以在中间操作。如同我们平常去排队买票,先到的先买到票就可以先走,后来的就只能等轮到自己时才可以买票走。2.队列的分类链式队列和静态队列的大体相同,不过实现方法不同。队列的结构图:对于队列也是受限的线性表,但是由于顺序存储会出现假溢出,所以出现了循环队列的结构防止顺序存储的队列出现溢出假现象,链队列不会出现这种原创 2021-04-23 20:58:53 · 972 阅读 · 4 评论 -
位运算(以二进制补码为对象的运算)
位运算运算符含义运算符含义&按位与~按位取反按位或^按位异或>>右移原创 2021-04-09 20:47:44 · 884 阅读 · 6 评论 -
基础链表的认识与学习
附录:一.计算机内存有四个区域:1.代码区 :函数代码存放在代码区,函数名就是这个函数的地址。2.全局区 :全局的变量,字符串常量等在此定义都会被初始化。3.栈区 :告诉计算机定义一个int,double等等类型变量,由c语言系统开辟,释放。内存小。4.堆区:使用前自己确定有多大,装什么数据,用完后还要不要继续使用,由程序员自己决定开辟,释放。内存大。使用该区域需要用到动态内存分配。二.数据结构:用一套具体的方法来管理这些内存,达到高效,有序的作用。三.链表:就像火车一样,每节车厢原创 2021-04-05 11:04:15 · 256 阅读 · 4 评论