
c语言
文章平均质量分 59
落春只在无意间
不能打败我的只会让我更强大
展开
-
c++ VS2019中使用Log4cplus打印日志最新介绍、详细编译过程及使用
VS2019中使用Log4cplus打印日志简述一、log4cplus介绍二、log4cplus下载三、log4cplus配置3.1 对log4cplus文件借助vs2019进行编译对目标程序进行配置四、测试五、扩展知识补充 ---- vs2019附加库、包含目录等配置原创 2022-10-19 23:56:17 · 2277 阅读 · 2 评论 -
关于c语言的字符常量
逝者如斯夫,不舍昼夜”##在c语言中,字符常量有以下特点:1.字符常量只能用单引号括起来,也就是说不能用双引号或其它括号。2.字符常量只能是单个字符,不能为字符串。3.字符可以是字符集中的任意一个(ASCII)表中。4.在运算时‘3’的值就变成了其在ASCII表中对应的数值51(其他数字同理)。例:下列常量中合法的字符常量是(B)A.AB.‘\t’C.‘65’D.“A”希望对大家有帮助呀List item...原创 2021-01-04 16:40:57 · 7861 阅读 · 2 评论 -
用c语言写一个栈
栈**栈( stack)是一种重要的线性结构,它是受限的线性表,是仅能在表的一端进行插入和删除运算的线性表,栈被广泛的运用到各种系统的程序设计中。**(1)通常称插入、删除的一端为栈顶,另一端称为栈底。(2)当表中没有元素时称为空栈。(3)栈为后进先出的线性表。栈的修改是按熙后进先出的原则进行。每次删除(退栈)的总是当前栈中“最新”的元素,即最后插入(进栈)的元素,而最先插入的则是被放在栈的底部,要到最后才能删除。栈的基本运算在实际使用过程中,常用的栈的操作如下。InitStack(S原创 2021-01-18 16:58:44 · 2384 阅读 · 1 评论 -
关于c语言中合法的数值常量
考点大致分为以下几种:1.实数型常量:必须含有小数点,但看到float f=1. ;是对的,系统会默认小数点后的值为0,即输出时为1.000002.八进制常量:开头必定是0,且后面的数只能在0~7之间。如091就是错误的。3.十六进制常量:以0x或0X开头,在16进制中不区分大小写,即0x6与0X6等价。可包含字母ABCDEF(11,12,13,14,15,16)。4.指数型常量:(底数为10),e与E等价,且e与E后面必须接数字,且必须为整数。如1.85e2。就是185。![在这里插入图.原创 2021-01-04 17:02:37 · 20758 阅读 · 1 评论 -
c语言中赋值表达示与复制语句的区别
最大区别:赋值语句后面必须要有分号,(其实是语句都必须有分号),如i=i+1 是赋值表达示,而i=i+1;是赋值语句。赋值运算符:“=”,它的作用是将一个数据(可以是一个表达示)赋给一个变量。复合的赋值运算符如+=,%=,=,/=。a+=3 等价于 a=a+3;a=3 等价于 a=a*3;且特别注意:例如:a+=3+4 等价于 a=a+(3+4)因为+号运算符(其他运算符也是一样的哦)优先级高与符合运算符。对于赋值表达示1.形式为:变量 赋值运算符 表达示2.表.原创 2021-01-06 16:41:53 · 779 阅读 · 4 评论 -
指针的深入理解第一篇(基本概念与一维数组)
重要干货放前边:对于分辨指针的类型的方法(感谢大佬的思路):从变量名开始(前边为数据类型说明符)后边依据运算符的前后顺序结合例:int * arr[ ]因为[ ]优先级比*高,所以arr先与 [ ]结合,所以为一个数组,数据类型是int 型 所以该句是一个数组(数组里面的数据类型是指针类型)即 指针数组。又如 int ( arr)[10]。因为()运算符优先级高 所以 先知道 它是一个变量 ,然后与[ ]结合 就是一个指向数组的一个指针,然后与int 结合,所以为 一个指向数组的指针(数组原创 2021-03-25 09:05:34 · 184 阅读 · 0 评论 -
指针的深入理解第二篇(指针与字符串)
首先了解一下字符文本和常量定义字符串时编译器自动在字符串结尾增加转义字符·0。某些文献中字符串常量也叫作字符串文本。最有趣的事是从RO扇区分配内存给字符串常量。RO扇区是存储字符串文本和常量的只读数据区。存储在该区域的数据的生命周期为程序运行的整个生命周期,这也是存储在该区域的数据变量的生命期。#include<stdio.h>char * fool(void);int main(){ char *m=fool(); printf("%s\n",m);}char *fool原创 2021-03-26 22:56:13 · 131 阅读 · 0 评论 -
一篇带你了解函数指针
函数指针***首先要明确函数名就是一个地址***定义函数指针变量的定义依赖于该变量要指向的函数定义。一般形式为:*返回值类型 (变量名)(参数列表)(这里的小括号不能缺,缺的话就变成了返回值为 指针的函数了)例子: //被指向的函数: int add(int x,int y); //函数指向上面的函数: int (* addfuncptr)(int x,int y);2.初始化函数指针有两种方法:a.使用”取址“ 操作符。b.使用隐含赋值。例子:#include&原创 2021-04-03 13:08:11 · 237 阅读 · 1 评论 -
c语言中文件的四种读取方法
读取函数都在 <stdio.h>头文件中。1.从文件中读取单个字节函数:int fgetc(FILE * fptr);当调用该函数时,文件指针返回它指向的字符,接着文件指针前进到下个字符。该调用函数返回一个文件缓冲区读出字符的整数值。例子: int date; while((date=fgetc(fp)!=EOF)//其中fp为文件指针 { printf("%d\n",date); }代码演示了如何调用fgetc() 函数。每次调用函数时, 检查返回值是否为E原创 2021-04-03 13:44:39 · 34984 阅读 · 1 评论 -
c语言建立线性表(顺序储存,链式储存,循环,双向)全
c语言建立线性表顺序储存储存结构初始化(建立)顺序表查找操作一、按值查找,找到返回对应的下标二、按照下标返回元素插入操作一、在线性表尾部添加元素二、在位置i处插入元素三、顺序表(有序)插入,(如都是由小到大)删除操作一、删除位置i的元素,删除成功后,返回删除的值二、删除值为val的第一个元素,没有返回-1三、在非递减有序的有序表中删除多余的相同元素其余操作一、将线性表中的所有元素转置二、两个有序的顺序表合并后任然有序完整代码链式储存存储结构建立链表一、尾插法建立原创 2021-09-02 13:32:00 · 12442 阅读 · 5 评论 -
线性表的应用之多项式的表示与相加
多项式的表示与相加一元多项式的表示一元多项式的建立一元多项式相加一元多项式的打印完整代码原创 2021-09-02 15:40:27 · 186 阅读 · 0 评论 -
单链表逆序
思路要通过迭代的方法,一个一个将结点脱离出链表再建立关系。如有这样一个链表:第一步首先要将head指向的第一个结点从链表中分离出:实现的伪代码是:head->next=NULL; next=p->next; //存下p的下一个结点,以便可以迭代p->next=head->next; //将第一个结点分离出来head->next=p; //p=next; //将p往后移第二部第三步再这一步可以看都迭代结束的标识是p==NULL;实原创 2021-06-29 13:13:30 · 143 阅读 · 0 评论 -
c语言队列(顺序队列,循环队列,链式队列)
顺序队列1.初始化:front=-1;rear=-1;2.判空条件font=rear;3.队列已满条件rear=max-1;代码:#include<stdio.h>#include<stdlib.h>#define maxn 6typedef struct node{ int date[maxn]; int font; int rear;}SeqQueue;void Init(SeqQueue* SQ)//初始化队列{ SQ->原创 2021-07-04 11:54:46 · 275 阅读 · 0 评论 -
c语言建立栈(顺序栈、双栈和链式栈)
c语言建立栈顺序存储栈的顺序存储定义初始化栈入栈操作出栈操作其余操作读取栈顶元素栈中元素个数栈是否为空双栈双栈的顺序存储结构定义建立双栈判断栈为空进栈操作出栈操作链式栈前言链式存储表示进栈操作出栈操作取栈顶元素置空栈原创 2021-09-05 10:28:59 · 4526 阅读 · 2 评论 -
c语言数据结构篇之栈(线性栈与链式栈)
线性栈1.判空条件:S.top==-1;2.满栈条件:S.top=maxn-1#include<cstdio>#include<stdlib.h>#define maxn 1000typedef struct node{ int date[maxn]; int top;//类似于栈顶指针}seqstack;void stack_init(seqstack *S)//栈的初始化{ S->top = -1;}int stack_empty(se原创 2021-07-02 20:42:33 · 251 阅读 · 0 评论 -
c语言建立队列(顺序队列、循化队列和链式队列)
c语言建立队列一、顺序队列队列的顺序存储结构顺序队列的讨论"下溢"现象"真上溢"现象"假上溢"现象二、如何解决"假上溢"问题三、循环队列循环队列说明循环队列的实现方法1、设置一个标记以区别队列是空还是满2、使用一个计数器记录队列中元素的总数3、保留对空条件,修改队满条件(常用)循化队列的存储结构定义初始化队列设置标志入队操作出队操作设置计数器方法入队操作出队操作方法三入队操作出队操作其余操作四、链式队列说明链式存储结构入队操作出队操作其余操作原创 2021-09-07 16:10:37 · 3476 阅读 · 0 评论 -
c语言数据结构-算法篇之选择排序
文章目录前言一、选择排序是什么?二、选择排序代码前言排序方法是一种重要的,基本的算法。排序的方法很多,本章就介绍选择排序一、选择排序是什么?第一次从R[0]R[n-1]中选取最小值,与R[0]交换,第二次从R[1]R[n-1]中选取最小值,与R[1]交换,第三次从R[2]R[n-1]中选取最小值,与R[2]交换……,第i次从R[i-1]R[n-1]中选取最小值,与R[i-1]交换……,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码..原创 2021-06-26 17:27:57 · 244 阅读 · 0 评论 -
c语言数据结构-算法篇之冒泡排序
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、冒泡排序是什么?二、简单版冒泡排序1.升序,降序2.代码改进版前言排序方法是一种重要的,基本的算法。排序的方法很多,本章就介绍冒泡排序一、冒泡排序是什么?1)比较相邻的元素。如果第一个比第二个大,就交换他们两个;2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数;3)针对所有的元素重复以上的步骤,除了最后一个;4)持续每次对越来越少的元素重复上面的步骤,直到原创 2021-06-26 16:33:24 · 719 阅读 · 0 评论 -
日期和时间处理函数
1.astime()char *asctime(const struct tm *timeptr);功能:将参数timeptr 所指的 tm 结构中的信息转换成真实时间所使用的时间日期表示方法,然后结果以字符串形态返回。2.ctime() char *ctime(const time_t *timep);功能:将参数 time所指的tme_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。3.gmtime()struct tm*gmtime(co原创 2021-01-13 17:03:31 · 463 阅读 · 0 评论 -
c语言随机函数
1.初识随机函数在实践中,找到真正的随机数字是困难的。数字计算机只能在一个限定的范围内和有限的精度下去处理数字。在大多数情况下,最好的方法是产生伪随机数,这不是真正意义的随机数,它的意义是:单次产生的数列是无法预测的,但是每次都会生成同样的一组随机数列。C语言的标准函数库提供有一个随机数函数,即 rando()函数,它返回[0,MAX均匀分布的伪随机整数。rand()函数不接受参数,默认以1为种子(即起始值),它总是以相同的种子开始,所以形成的伪随机数列也相同,不是真正的随机。这是有意设计的,目的是为了原创 2021-01-13 16:13:14 · 1799 阅读 · 0 评论 -
c语言----预处理
c语言----预处理宏不带参数的宏带参数的宏头文件条件编译#if 命令#else 与#elif#ifdef及#ifndef命令#progma命令预定义宏名原创 2021-09-13 18:56:09 · 376 阅读 · 0 评论 -
c语言常用术语,保证让你大开眼界
c语言常用术语术语一:预备知识术语三 :c语言基础术语:表达式与运算符术语:函数术语:指针术语:位运算术语:存储管理术语:文件原创 2021-09-08 11:07:54 · 4212 阅读 · 2 评论 -
c语言获取当前日期和时间
c语言获取当前日期和时间`time_t`类型:日历时间`time`函数:获取当前日历时间tm 结构体:分解时间`localtime`函数:从日历时间转换为分解时间代码原创 2021-09-08 10:12:10 · 17028 阅读 · 11 评论