C
文章平均质量分 79
Kylee Kello
不一定每个人都会失败,但也不一定每个人都运气好。怎么做是你的自由。
展开
-
C语言 - 【sacnf】读取数据整形检测模块
需求:从控制台读取一个整形年份数据,范围 [1, 3000],函数返回输入数据,输入格式有误时提醒重新输入;☞ 输入数据:aaaa (报错)☞ 输入数据:aaaaa (报错)☞ 输入数据:11aa (报错)☞ 输入数据:12345(报错)☞ 输入数据:2020(通过)int inputYear(){ int year = 0; char data[5] = {'\...原创 2020-04-25 15:59:01 · 362 阅读 · 0 评论 -
C语言 - 【当void遇到*】void *
void * 表示无类型指针,大小为8B,任何类型指针均为8B;举个例子:char *a = calloc(8,5); //分配5个连续8字节内存空间;int *b = calloc(8,5); //分配5个连续8字节内存空间;结果使用char类型接收,每个char占用一个字节,因为分配的空间总共有40字节,所以char类型的a数组可以存放50个字符,使用索引获取值的时...原创 2020-04-07 23:42:22 · 337 阅读 · 1 评论 -
C Structure - 顺序表
顺序表:以顺序方式将数据存放在内存中的一种数据结构;1> 预处理阶段为了提高程序的可读性,将部分数据与变量重命名:#define OK 0#define ERROR -1#define MAXSIZE 20typedef int ElemType;typedef int Status;2> 定义顺序表结构体在结构体中,存储指定大小的数组和数组实际长度,增...原创 2020-03-14 18:17:21 · 285 阅读 · 0 评论 -
C Structure - 顺序栈
顺序栈:以顺序方式将数据存放在内存中的一种栈结构(只允许在尾部插入与删除的线性表);1> 预处理阶段#define OK 0#define ERROR -1#define MAXSIZE 20typedef int SElemType;typedef int Status;2> 定义顺序栈结构体结构体中使用 int 类型变量top作为栈顶指针(栈顶:允许插入...原创 2020-03-17 10:46:35 · 184 阅读 · 0 评论 -
C Structure - 单链表
如果学习C语言数据结构,那么第一步接触的应该就是链表。▷ 接触链表前,我们应该明白为什么会出现链表?到底什么是链表呢?首先,我们应该都知道数组,数组作为存放同类数据的集合,在我们进行程序设计时带来了很多的方便。但是数组也同样存在一些问题,比如数组的大小在定义时要事先规定,不能在程序中进行调整,这样以来,在程序设计中针对不同问题有时需要30个大小的数组,有时需要300个数组的大小, 难以统...原创 2018-08-05 22:03:52 · 2522 阅读 · 0 评论 -
C Structure - 双向链表
双向链表:具有首尾两个指针的链表;附加文章:单链表1> 预处理阶段#define OK 0#define ERROR -1typedef int ElemType;typedef int Status;2> 定义双向链表结构体typedef struct Node{ ElemType data; struct Node *left,*r...原创 2020-03-18 17:25:28 · 205 阅读 · 0 评论 -
C Structure - 链栈
链栈:以链式将数据存放在内存中的栈结构(栈顶后入先出);<一> 预处理阶段#define OK 0#define ERROR -1typedef int SElemType;typedef int Status;<二> 定义链栈结构体( 节点+栈顶指针 )typedef struct Node{ SElemType data; ...原创 2020-03-17 15:09:43 · 205 阅读 · 0 评论 -
C Structure - 链队
链队:指定尾部插入头部删除的一种特殊链表结构;<一> 预处理阶段#define OK 0#define ERROR -1typedef int Status;typedef int QElemType;<二> 定义链队结构体( 节点+首尾指针 )typedef struct Node{ QElemType data; struc...原创 2020-03-17 23:04:47 · 186 阅读 · 0 评论 -
C Structure - 二叉树
二叉树的存储与遍历的方式有很多种,本文主要介绍二叉树的链式存储;其中存储与遍历均采用前序序列。************************************************************************************************************************************★下面给出了两种表示类型...原创 2018-08-15 18:23:47 · 2706 阅读 · 0 评论 -
C Structure - 二叉搜索树(更新中...)
二叉排序树可以看做是一个较好的数据存储模型,因为在二叉排序树中有属于它自己的一套方法对数据进行高效操作:1> 数据的链式存储2> 数据的排序 (有序读取)3> 查找数据(指定数据,最大值、最小值)4> 数据的删除 (2018.12.22更新)5> 完整源码本篇文章将会介绍二叉排序树的建立以及对应的一些操作;一:建立 ( 将数据存进...原创 2018-11-30 16:41:39 · 1538 阅读 · 0 评论 -
C Programming - 随机数生成
"随机数"在C语言程序设计中也会经常遇到,利用随机数生成函数我们可以获取许多位的随机数、随机数组、随机矩阵等等。是不是充满了吸引力~下面就介绍如何使用:生成随机数要使用到三个函数:rand():rand()函数用来产生随机数,会在0~32767的范围内随机返回一个整型数; 使用该函数之前需要引用库函数"stdlib.h"; 其函数原型为:int rand(void),参数为空,...原创 2018-08-06 17:54:58 · 6121 阅读 · 0 评论 -
C Programming - GCC编译过程
源文件:test.c1. 预处理:gcc -E test.c -o test.i2. 编译为汇编语言:gcc -S test.i -o test.s3. 生成目标代码:gcc -c test.s -o test.o4. 链接二进制目标文件(生成可执行文件):gcc test.o -o test0. 为编译生成的文件改名:-o如果程序中包含自定义头文件:-I 头文件路径(...原创 2019-09-04 22:29:01 · 253 阅读 · 0 评论 -
C Programming - const与_Bool
引入:c++支持bool类型,但c不支持,c中支持_Bool类型变量,长度为1B;若想使用bool和true/false可以手动#define,或者声明 <stdbool.h> 头文件。[root@localhost day0305_1_baseC]# find / -name stdbool.h/usr/lib/gcc/x86_64-redhat-linux/4.8....原创 2020-03-05 23:23:00 · 269 阅读 · 0 评论 -
C Programming - 数组与数据类型
目录数组声明 数组赋值 数组作为变量类型<一> 数组声明int a[10];printf("%d",sizeof(a)); for(int i=0;i<10;i++){} 程序分析:int类型占用4个字节,数组a声明后会自动分配空间40字节内存空间,由于没有初始化,内部数据是随机值(原内存中的值);<二> 数组赋值1&g...原创 2020-03-07 16:12:44 · 228 阅读 · 0 评论 -
C Programming - 格式化输入输出
目录printf 与 sprintf scanf getchar、getch 与 putchar、putch gets 与 puts<一> printf 与 sprintf1> printf 为标准输出函数;printf输出标志:示例及输出:unsigned x = 99; int y = -99;printf("%-3d%-3d\n",...原创 2020-03-08 00:29:28 · 294 阅读 · 0 评论 -
C programming - 字符数组和字符串
目录如何存储字符串? 字符数组与字符串有何区别? 字符串操作函数<一> 如何存储字符串C中字符串使用字符数组进行存储,未初始化的部分补 '\0',如果没有指定数组大小,字符串初始化时最后会额外存储 '\0' 。char c1[10] = "hello!";char c2[10] = {'h','e','l','l','o','!','\0'};if(c1[9]...原创 2020-03-08 15:21:16 · 509 阅读 · 0 评论 -
C Programming - stdarg与函数可变参数
<一> 查看stdarg.h:find / -name stdarg.h变量:va_list方法:va_start(v,last)、va_arg(v,last)、va_end(v)<二> 函数可变参数1> 语法结构#include <stdarg.h>int Sum(int n,...){ va_list vp; ...原创 2020-03-08 16:33:34 · 203 阅读 · 0 评论 -
C Programming - CMD带参执行( argc+argv )
argc:arguments-count(argument 变元)表示命令行参数总个数,包括可执行程序名,其中当argc=1时表示只有一个程序名称,此时存储在argv[0]中;argv:arguments-value存放指向字符串参数的指针数组:argv[0] 指向程序运行时的全路径名argv[1] 指向程序在DOS命令中执行程序名后的第一个字符串argv[2] 指向执行程序名...原创 2019-03-30 12:27:22 · 1878 阅读 · 0 评论 -
C Programming - 冒泡排序及优化
第一版:#include"stdio.h" void bubble(int *array,int length){ for(int i=0;i<length-2;i++){ for(int j=0;j<length-1-i;j++){ if(*(array+j)>*(array+j+1)){ int temp = *(array+j); *(...原创 2018-11-29 21:01:22 · 3656 阅读 · 0 评论 -
C Programming - 杨辉三角
杨辉三角(如下):问题:求杨辉三角指定位置的元素 ;#include<stdio.h> long f(int row, int col) { if (row<2) return 1; if (col == 0) return 1; if (col == row) return 1; long a[1024]; a[0] = 1; a[1] = ...原创 2019-01-03 10:58:11 · 1780 阅读 · 0 评论 -
C Programming - 结构体(Struct)
自定义字符串求长len():int len(char *data="\0"){ int length = 0; for(length;data[length]!='\0';length++); return length;}结构体的几种情况实例分析:#include<stdio.h>typedef struct demo{ char *name; int...原创 2018-10-18 18:52:28 · 4012 阅读 · 0 评论 -
C Programming - 移位操作与位域
思维导图:注意事项:&&、||和!分别是与或非的逻辑运算符&、|和~分别是与或非的位运算符原创 2019-03-21 14:54:57 · 836 阅读 · 0 评论 -
C Programing - Dev配置快捷键
Tools->Configure Shortcuts...Ctrl+Enter:Jupyter Notebook'sshortcut to run python_scripts.原创 2019-04-25 16:02:58 · 790 阅读 · 0 评论 -
C语言 - 【warning C4172】auto int与static int的生命周期
首先这里给出一个测试demo,根据其结果引出本篇文章的主题内容:#include <stdio.h>int *Func(int a){ int *temp; int n; n = a; temp = &n; return temp;}int main(){ int *a = Func(10); //printf("%p\n", a); prin...原创 2019-01-04 21:04:25 · 7229 阅读 · 0 评论 -
C语言 - Hush查找算法(简易)
首先附上本篇文章的Hush查找核心算法:☆源码 (Hush_Search.cpp)://Hush_Search#include <iostream>#include <time.h>typedef int DataType;using namespace std;typedef struct node{ DataType number;...原创 2018-12-14 13:17:41 · 2837 阅读 · 0 评论 -
C语言 - 【双指针】将负数快速移到正数前面
本问题思路同【快速排序】思路基本一致:主要通过设置两个指针变量来进行正负数的定位进而前后交换;#include <stdio.h>#include <time.h>#include <windows.h>void Divide(int *a, int low, int high){ int temp = 0; while (low <...原创 2019-01-09 19:19:34 · 4570 阅读 · 0 评论 -
C语言 - 【单链表操作】判断单链表内部数据是递增还是递减
单链表介绍:【点我即达】问题分析:基本思路是通过在遍历的过程中比较来实现增减性的判断,对于递增与递减或是乱序的三种情况的考虑,这里使用计数的方法来实现:遍历一共进行了count次,递增比较使用count_up计数,递减比较使用count_down计数,当count和后方两个计数器变量中的一个相等时就确定数据的增减性,如果都不等于则数据是乱序存放。**************...原创 2019-01-09 20:11:24 · 4700 阅读 · 0 评论 -
C语言 - 【线性代数】二阶、三阶行列式的计算
运行测试:源码:#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <windows.h>#include <conio.h>using namespace std;void CleanConsole(int x, int y) //y是指定...原创 2019-02-28 12:32:29 · 8723 阅读 · 1 评论 -
C语言 - 【二叉树操作】计算二叉树中度数为X(0、1、2)的节点数
首先提到计数,因为是对节点属性的判断,而刚刚好二叉树的遍历算法直接访问了整棵树,所以:对于节点数的计算,本篇文章会分别给出两种方法:1 . 在递归遍历的基础上进行计数2 . 在非递归遍历的基础上进行计数*****************************************************************************************...原创 2019-01-09 21:17:12 · 6110 阅读 · 0 评论 -
C/C++ 折半查找与顺序查找【对比分析】
在线性表的顺序存储结构中用到的查找方式莫过于顺序查找和折半查找;尽管顺序查找的时间复杂度为O(n), 折半查找的时间复杂度为O(log2n),相比之下折半查找就显得效率更高,但是二者使用的场合不同,需要满足的条件也不同,于是乎优劣之分便不再那么重要。 首先博主对二者的效率做了一个简单的测试:对已经进行排序后的含有10000的随机数的数组分别进行顺序查找与折半查找,查找的值随机赋...原创 2018-11-29 20:28:28 · 7166 阅读 · 0 评论 -
C语言 - 【回溯算法】迷宫问题 (顺序栈与链栈)
回溯算法可以看成是栈的一个十分成熟的应用,本质上秉承着:"正确前进错误返回"的原则,通过入栈存储以前经过的所有节点,当在一个方向上遇到死路,则依次弹栈返回前一个节点,继续按照相同的规律继续下一步的判断+入栈+弹栈操作。< 本篇文章主要通过顺序栈与链栈(通过链表模拟)的方式实现迷宫问题 >一:迷宫问题思路分析及实现(顺序栈)1> 先不谈具体算法,首...原创 2018-11-07 14:14:12 · 12018 阅读 · 2 评论 -
☆ C/C++中使用单链表与结构体数组->排序(姓名+学号+分数)
对于单链表的排序,这篇文章介绍的是交换节点数据域的方法。在写的时候仍然遇到了一些很奇怪的问题~(百思不得其解~)(ㄒoㄒ)*--->>>已解决~对于那些相应的问题会附在这篇文章的最后方,如果解决 ,后续会在下方附加解决方案。 ****************************************************************...原创 2018-09-29 00:38:08 · 8291 阅读 · 0 评论 -
☆ 库函数"string.h"下部分字符串函数的使用
声明了库函数,我们就可以使用gets()、puts()这样的基本字符串输入输出函数,但是这里面还包含了许多实用的对字符串操作的函数,通过简单调用便可以省去了自己编写的繁琐;本文主要介绍以下几类字符串函数(可适当筛选食用~):字符串复制(替换)函数 字符串前n位复制(替换)函数 字符串长度计算函数 字符串比较函数 字符串前n位比较函数 字符串连接函数 字符串前n位连接函数 使用...原创 2018-08-07 17:30:36 · 3163 阅读 · 0 评论 -
☆ 延时输出 与 即时输出系统时间
相信我们大家都用过PPT的自动放映功能,但是联系到C语言我们难免会想到:在C的世界中能不能做到利用延时输出来达到自动放映的效果呢?当然是可以的,下面将在这一个知识点的基础上进行放射性展开。****************************************************************************************************...原创 2018-08-01 18:05:28 · 5279 阅读 · 3 评论 -
☆ C/C++回文字符串的判定(使用链栈与队列)
在上一篇文章中我提到了如何去写链栈与链队,但是任何代码都是要有用处才可以吸引我们的兴趣,给我们继续前进的动力。那么下面就来介绍如何使用链栈来解决回文数问题。 时空门--->>>链栈与链队(^_−)☆ *******************************************************************************...原创 2018-09-29 13:50:30 · 7900 阅读 · 0 评论 -
☆ C/C++ 即时刷新并显示当前时间
原先想着在原文章上进行修改,可是一直提示修改失败( ・´ω`・ )转之想一想,而且那篇文章中也没有把光标定位放在一个函数中调用,那就再另开一篇文章使用gotoxy()定位函数通过调用输出,顺便再复习以前的知识点。★源码(有bug):#include <iostream> #include <windows.h>#include <time....原创 2018-09-29 19:39:55 · 12651 阅读 · 12 评论 -
☆ C/C++ 十进制转二进制
* 因为没有实质运用C++的OOP面向对象编程的思想,虽使用的部分C++语法,但程序本质还是C语言:在C中我们可以很简单的实现十进制到十六进制与八进制之间的转换(%x/%X、%o),但是却没有直接的方法直接将十进制转换为二进制,这就需要我们自己编写相应的功能函数去实现转化;本篇文章将介绍两种转化方法:1> 短除法(正存逆读)2> 转换为八进制,然后使用二进制数据对点...原创 2018-11-06 22:11:23 · 3893 阅读 · 0 评论 -
Python - C语言文件操作与Python文件操作的对比
一:C语言中的对文件的操作主要介绍以下函数:★fopen(path,model) + fclose(FILE*fp)★fgetc(FILE*fp) + fputc(char c,FILE*fp)★fgets(char *a,n,FILE *fp) + fputs(char *str,FILE *fp)1)文件的打开与关闭FILE 是一个结构体指针变量,首先自定义一个文件类型...原创 2018-10-31 17:49:22 · 5692 阅读 · 0 评论 -
☆ C/C++ 字符串的排序、粘贴与转型
因为代码不是在一个文件中,不方便贴在博客页面上,代码我已上传到我的资源中,需要的可以直接下载使用:资源地址:https://download.csdn.net/download/qq_42292831/10734117代码基于VS2010编写,在VS2010以下版本无法直接运行,但是代码.cpp文件还是可以直接分开使用的;********************************...原创 2018-10-20 19:04:50 · 5231 阅读 · 0 评论 -
☆ C/C++中使用结构体数组->排序(姓名+学号+分数)
使用单链表进行排序见上一篇文章,这两篇文章相辅相承; 传送门:点我即达(。・ω・。) **************************************************************************************************************************************** ★首先附上一系列...原创 2018-09-30 16:44:19 · 7578 阅读 · 0 评论