自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 《C缺陷和陷阱》-笔记(8)

一个函数如果不带参数,在调用时只需在函数名后加上一对括号即可加以调用了。而一个宏如果不带参数,则只需要使用宏名即可,括号无关紧要。预处理器从宏定义中就可以知道宏调用时是否需要参数。与宏调用相比,宏定义显得有些“暗藏机关”。例如,下面的宏定义中f是否带了一个参数呢?答案只可能有两种:f(x)或者代表((x)-1)或者代表在上述宏定义中,第二个答案是正确的,因为在f和后面的(x)之间多了个空格!

2024-04-11 14:15:47 812 1

原创 C缺陷和陷阱-笔记(7)

尽管函数getchar 的返回结果在赋给char类型的变量c时会发生“截断”操作,尽管while 语句中比较运算的操作数不是函数getchar 的返回值,而是被“截断”的值c,然而许多编译器对上述表达式的实现并不正确。语句将通知输入输出库,所有写入到stdout 的输出都应该使用buf作为输出缓冲区,直到buf缓冲区被填满或者程序员直接调用fflush (译注:对于由写操作打开的文件,调用fflush 将导致输出缓冲区的内容被实际地写入该文件),buf缓冲区中的内容才实际写入到stdout 中。

2024-04-01 22:17:18 901

原创 C缺陷和陷阱-笔记(6)

如果任何一个函数在调用它的每个文件中,都在第一次被调用之前进行了声明或定义,那么就不会有任何与返回类型相关的麻烦。函数square 计算它的双精度类型参数的平方值:double以及,一个调用square 函数的程序:main()要使这个程序能够运行,函数square 必须要么在main之前进行定义:doublemain()如果一个函数在被定义或声明之前被调用,那么它的返回类型就默认为整型。main()

2024-03-24 22:05:22 2129

原创 结构体-C语言

C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构体中的数据成员可以是基本数据类型(如 int、float、char 等),也可以是其他结构体类型、指针类型等。一、结构体定义由关键字 struct 和结构体名组成,结构体名可以根据需要自行定义。结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。例如:structStucharname[20//名字intage;//年龄。

2024-03-23 16:50:07 1211

原创 C语言-数据在内存存储

但是在C语言中除了8 bit 的 char 之外,还有16 bit 的 short型,32bit 的 1ong型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。在内存中存储的数据是二进制,整数的2进制表示方法有三种,即 原码、反码和补码有符号的整数,三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示"负”,最高位的一位是被当做符号位,剩余的都是数值位。

2024-03-23 16:13:58 690

原创 《C缺陷和陷阱》-笔记(5)

C语言中的一个重要思想就是分别编译,即若干个源程序可以在不同的时候单独进行编译,然后在恰当的时候整合到一起。编译器的责任是把C源程序“翻译”成对连接器有意义的形式,这样连接器就能够“读懂”C源程序了。典型的连接器把由编译器或汇编器生成的若干个目标模块,整合成一个被称为载入模块或可执行文件的实体,该实体能够被操作系统直接执行。其中,某些目标模块是直接作为输入提供给连接器的;而另外一些目标模块则是根据连接过程的需要,从包括有类似printf 函数的库文件中取得的。

2024-03-17 11:28:58 1021 1

原创 字符函数和字符串函数-C语言

字符函数和字符串函数都是在编程中用来处理字符和字符串的函数。字符函数是用来处理单个字符的函数,比如查找、替换、转换大小写、比较等操作。字符串函数是用来处理整个字符串的函数,比如查找、替换、连接、分割等操作。

2024-03-15 14:50:49 873 1

原创 《C缺陷和陷阱》-笔记(4)

任何时候缓冲区中已存放的字符数都是bufptr -buffer ,因此我们可以通过将这个表达式与N作比较,来判断缓冲区是否已满。当缓冲区全部“填满”时,表达式bufptr -buffer 就等于N,可以推断缓冲区中未占用的字符数为N-(bufptr -buffer )。

2024-03-10 13:44:08 1072 1

原创 《C陷阱和缺陷》-笔记 (3)

一个句子哪怕其中的每个单词都拼写正确,而且语法也无懈可击,仍然可能有歧义或者并非书写者希望表达的意思。在某些C语言实现中能够正常工作,而在另一些C语言实现中却又不能工作的情形,这属于可移植性方面的问题。

2024-03-09 15:48:08 944 1

原创 《C缺陷和陷阱》-笔记(2)

要理解一个C程序,仅仅理解组成该程序的符号是不够的。程序员还必须理解这些符号是如何组合成声明、表达式、语句和程序的。本章将讨论一些用法和意义与我们想当然的认识不一致的语法结构。

2024-03-08 17:41:52 1217 1

原创 《C语言缺陷和陷阱》-笔记(1)

在这一节中,我们将探索对记号的意义的普遍的误解以及记号和组成它们的字符之间的关系。稍后我们将谈到预处理器。

2024-03-03 18:40:11 685 1

原创 C语言-指针(下)

本篇文章紧接着上篇指针内容,为大家讲解C语言指针的的更多知识内容,让大家更好的了解指针,以及可以熟练使用指针来解决实际问题。

2024-03-02 16:34:46 1134 1

原创 C语言-指针(上)

本篇文章将为大家介绍C语言中的核心内容-指针,指针在C语言的中知识内容比较晦涩难懂,并且在实际运用中也被大量的使用。还有在深入学习编程中会学习的数据结构中,指针也是其相当重要的。所以,在C语言中指针是必不可少的。提示:以下是本篇文章正文内容,下面案例可供参考以上的内容为大家简单的介绍了指针的基本知识,希望大家对于指针的概念有了一个简单的了解,指针的内容较多且理解起来相对困难,希望大家继续坚持。

2024-03-01 16:57:57 926 1

原创 数据结构-图的进阶应用

数组表示法(邻接矩阵):图没有顺序存储结构,但可以借助二维数组来表示元素间的关系(1)建立一个顶点表(记录各个顶点信息)和一个邻接矩阵(表示各个顶点之间关系)。(2)设图A=(V, E)有n个顶点,则谢顶点表(3)图的邻接矩阵是一个二维数组 A.arcs[n][n]

2024-02-15 15:10:22 2199 1

原创 数据结构-图

数据的逻辑结构:集合:数据元素间除“同属于一个集合”外无其它关系一个对一个,如线性表、栈、队列树形结构:一个对多个,如树图形结构:一多个对多个,如图顶点(数据元素)的有穷非空集合边的有穷集合以上内容较为详细的为大家介绍了图的基本概念和相关术语,本章内容的概念较多,希望大家可以更好的理解掌握。如果以上内容对大家的学习有所帮助的话,希望大家可以多多支持一下。

2024-02-14 18:23:13 797 1

原创 数据结构-树和二叉树的进阶应用

在我们了解树和二叉树的基本知识后,我们紧接着就要开始学习树的进阶应用。学习二叉树的存储结构,遍历二叉树和线索二叉树,还要知道如何将树和二叉树相互转换。除此之外,我们还会简单了解哈夫曼树的相关内容。以上内容更进一步的为大家介绍了树和二叉树的知识,希望大家对其可以有更加系统的认知。

2024-02-09 17:00:13 1028 1

原创 数据结构-树和二叉树

1.线性结构2.非线性结构1.线性表2.栈(特殊线性表)3.队列(特殊线性表)4.字符串、数组、广义表1.树形结构非线性结构2.图形结构1.结点之间有分支,有层次关系树(Tree) 是n(n≥0) 个结点的有限集。若n=0,称为空树;若n>0,则它满足如下两个条件:(1)有且仅有一个特定的称为根(Root)的结点;(2)其余结点可分为 m(m≥0) 个互不相交的有限集 T1,T2, T3,…Tm,其中每一个集合本身又是一棵树,并称为根的子树(SubTree)。

2024-02-08 16:03:19 756

原创 数据结构-队列

队列是限定插入和删除只能在表的 端点 进行的线性表//队列–先进先出队列是一种先进先出的线性表。在表一端插入(表尾)。在另一端(表头)删除。//用Q来表示队列,Q中有 a b c d 四个元素Q = (a, b, c, d) //a为队头,d为队尾//入队Q = (a,b,c,d,e)//出队Q = (b,c,d,e)脱机打印输出: 按申请的先后顺序依次输出。多用户系统中,多个用户排成队,分时地循环使用CPU和主存按用户的优先级排成多个队,每个优先级一个队列实时控制系统中,信号按接收的先后顺序依次处

2024-02-05 20:44:47 789 1

原创 数据结构-栈

堆栈又名栈(stack),它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

2024-02-03 22:18:36 997 1

原创 数据结构-链表

链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。1.结点:数据元素的储存映像。由指针域和数据域组成。2.链表:n个结点由指针链组成一个链表。线性表的链式储存映像,称为线性表的链式存储结构。

2024-02-01 17:23:06 622 1

原创 扫雷游戏-C语言

今天为大家带来一个C语言经典案例-扫雷。相信大家对扫雷这个游戏多少有所了解,今天就给大家分享我的学习过程和理解,希望对大家编程学习有所帮助。以上就是我对扫雷游戏的学习过程和心得,希望可以对大家的学习有所帮助。

2024-01-30 18:30:37 1957 1

原创 C语言-函数

函数的概念函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。且每个函数执行一个特定的任务来进行的。

2024-01-28 19:53:19 617

原创 数据结构-数组、字符串

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。2. 数组是相同数据类型变量的集合。类型可以是 int 整形、char 字符、float double 浮点型。

2024-01-27 17:26:37 1065

原创 每日一练—— C语言

C:第二个参数2.8属于double类型,float类型后面需加上f。6 表示输出的最小数位,如果要输出的值小于该数,结果会用空格填充。如果输出的值大于该数,保持原数输出。//先看 * (a+1) : 相当于 (a[0]+1)],a[0]=1,*(a+1)也就是 2;// 根据题目可知:函数定义fun第一个参数为char类型,第二个为float数组类型。e 表示数据以指数形式输出 ,即10的n次幂,e+02表示10^2。选项A "abc"为字符串选项,所以C错误。输出为2.19e+02。

2024-01-26 18:46:47 289

原创 C语言分支和循环语句

C语言分支语句//注意事项:(1)使用多条语句时要用{}括起来例如:#include int main(){int a = 0;int b = 0;int c = 0;//三⻆形必须满⾜任意两天边⼤于第三条边if (a + b > c && a + c > b && b + c > a){//三条边相当if (a == b && b == c){printf(“等边三⻆形\n”);}//任意两条边相等,但是不等于第三条边,

2024-01-24 13:05:34 1081

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除