前言 之前写代码的时候发现,我们在C++中调用的rand函数返回的随机数随机性有些许不足。随机数的质量比较差,并且范围有限,甚至有概率被预测,如果在部分应用场景下(如点名器、随机抽奖等)使用系统自带的random函数,可能会导致有些情况下有失公平(比如点名字经常性的点中一个人,有些人非常难以点中,抽奖程序中有些人的概率会比别人高很多。所以我需要想一…
c语言打开文件的函数的第二个参数有很多种模式,我用这篇博文用来记录一下,免得我以后需要还要在网上找来找去的。 函数原型: FILE *fopen(const char *filename, const char *mode); 我们这篇博文就是记录第二个参数的值的用处 模式值代表的含义r只读模式,打开一个文本文件进行读取。w写入模式,打开一个文本文…
前言 有时候编写C语言程序,需要让输出的字体有颜色,更好让用户区别出程序是否有故障或者其他的问题,让输出的信息更好看,如下图 操作方法 首先我们一般的printf输出语句是长这个样子的 printf("要输出的内容\n"); 这样子输出的是黑底白字的,那么我们只需要这样子写,就可以让输出的内容有颜色(其实就用了ansi的转义序列达成的) print…
临近期末,复习C语言的时候看到一道题目: 下列数据中是合法的字符常量的是( )。 A: ‘\97’ B: “!” C. ‘\t’ D. “\0” 答案肯定是C,但是在听讲的时候,我仍然对A的选项抱有疑问。老师不是说像这样的"\12"这样的数据表示为一个字符,那么为什么‘\97’这个变量是错误的?于是我默默的将我藏在犄角旮旯的ASCII码对照表给拿了…
问题描述 如下图,在使用visual stdio编译C语言程序的时候,默认情况下将编译出来的exe文件放置到其他的没有安装过很多其他软件的电脑上执行便会出现这个问题。运行时候会出现如下的错误。 问题出现原因 这个问题是由于使用visual stdio 编译C语言的时候没有没有附带动态链接库,导致程序运行的时候出现缺少DLL文件的问题 解决方案 这边…
学习C语言,绝对逃不过内存这个问题,这篇博文便是我的C语言的内存使用的学习笔记 C语言的内存用来干啥了? 首先研究内存,我们就要搞清楚C语言程序用内存干了一些什么,一个经过编译的C语言程序占用的内存分为以下的几个部分:栈区,堆区,全局区,文字常量区以及程序代码区,接下来我们便一一来研究一下这些部分的具体作用 栈区 首先排名第一的就是栈区,那么,什么…
前言 C语言是编译性的语言,所以说C语言程序要运行有一个必不可少的过程——编译,这篇笔记解释了我对C语言编译过程的理解 c语言编译过程大概分为以下几个流程,预处理=》编译=》=汇编=》链接,接下来就会详细分析一下上面的过程 预处理 简单来说,C语言的预处理的过程有点类似于文本的替换,即将源代码文件中的#开头的命令来进行替换,比如将 #include…
前言 众所周知,C语言的数据类型有好几种,而其都有大小限制,比如说常见的长整型,其占用内存4个字节,可以储存的数字的大小为-2147483648~2147483647,但是在编程的时候,我们有可能会碰到非常非常大的数字,其可能超过长整型的最大上线导致数据溢出,所以我们得想一个方法来让C语言能够储存并且·处理超大数字。 我这篇博客文章便提供了一个思路…
问题发生过程 在VISUAL STDIO 中执行git将库推送远端服务器报出以下故障(windows版本的 VISUAL STDIO) 未能推送到远程仓库。请参见输出窗口了解更多详细信息。 已在仓库 C:\Users\q2019715\Source\Repos\example 中本地创建提交 29b45e0e 正在推送 main Enumerati…
学习c语言,逃脱不了的就是编码,这篇博客就是来学习下计算机中的原码反码补码,首先就是原码,一开始计算机并不能表示正负,为了让计算机能够表示正负,人们发明了原码,原码的工作原理就是在数字前面再加上一位,用来表示正负,0表示正,1表示负。比如说2这个数字与-2这个数字,可以如如下的方法来表示(具体是多少位可以自己定或看计算机储存位数,2表示为0 010…