- 博客(38)
- 收藏
- 关注
原创 C语言学习第十九弹
在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编。在编译预处理用字符串替换宏名时,不作语法检查,只是简单的字符串替换。带参数的宏在展开时,只作简单的字符和参数的替换,不进行任何计算操作。宏定义是由源程序中的宏定义命令完成的。宏名和参数列表之间不能有空格,否则空格后面的所有字符串都作为替换的字符串。对程序中用双引号扩起来的字符串内的字符,不进行宏的替换操作。在宏定义中的参数称为形式参数。,如果定义宏的时候用小括号括住参数,把上面的第。在宏调用中的参数称为实际参数。
2023-07-28 20:33:44 234
原创 C语言学习第十八弹
预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件。语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释。语言函数库和我们编译好的二进制合并为一个文件。通过地址线找到对应地址的存储单元。执行预处理编译后生成的文件。打开预处理编译后生成的文件。执行二进制编译后生成的文件。打开二进制编译后生成的文件。通过数据线将内存中的值传输到。执行汇编编译后生成的文件。打开汇编编译后生成的文件。
2023-07-28 20:32:54 96
原创 C语言学习第十七弹
不同作用范围可以定义同名变量,内部作用域的变量会覆盖外部作用域的变量。从程序运行到定义哪一行开始分配存储空间到程序离开该变量所在的作用域。按照作用域的不同,变量可以分为:局部变量和全局变量。定义变量的代码在整个程序运行期间仅仅会执行一次。可以在本文件中以及其他的文件中访问的函数。默认情况下多个同名的全局变量共享一块空间。由于默认情况下所有的函数都是外部函数。定义在函数内部的变量以及函数的形参。定义在函数外面的变量称为全局变量。默认情况下所有的函数都是外部函数。局部变量会存储在内存的栈区中。
2023-07-28 20:32:07 77
原创 C语言学习第十六弹
示学生,要统计老师和学生的情况,用结构体就比较浪费内存,这时就可以考虑用共用体来设。)通信中的数据包会用到共用体,因为不知道对方会发送什么样的数据包过来,用共用体。)某些应用需要大量的临时变量,这些变量类型不同,而且会随时更换。的话就简单了,定义几种格式的包,收到包之后就可以根据包的格式取出数据。不同作用范围可以定义同名变量,内部作用域的变量会覆盖外部作用域的变量。间,这些临时变量不用长期保存,用完即丢,和寄存器差不多,不用维护。结构体变量占用的内存空间永远是所有成员中占用内存最大成员的倍数。
2023-07-28 20:30:35 82
原创 C语言学习第十五弹
函数有自己的地址,那就好办了,我们的指针变量就是用来存储地址的。由于这类指针变量存储的是一个函数的入口地址,所以对它们作加减运算。结构类型定义在函数内部的作用域与局部变量的作用域是相同的。结构类型定义在函数外部的作用域与全局变量的作用域是相同的。我们就可以利用我们定义的结构体类型来定义结构体变量。这种结构体最大的问题是结构体类型不能复用。使用字符数组来保存的字符串是保存栈里的。我们的结构体中需要存储哪些类型的数据。在使用结构体之前必须先定义结构体类型。只不过是数组中的元素都是结构体而已。
2023-07-28 20:29:47 56
原创 C语言学习第十四弹
现在只有一个地址,我怎么才能知道要从这个地址开始向后访问多少个字节的存储空间呢,是。数组名虽然是数组的首地址,但是数组名所所保存的数组的首地址是不可以更改的。函数有自己的地址,那就好办了,我们的指针变量就是用来存储地址的。如果一个指针变量存放的又是另一个指针变量的地址。则称这个指针变量为指向指针的指针变量。一个指针变量所占用的内存空间是固定的。使用字符数组来保存的字符串是保存栈里的。只要一个指针变量保存了数组元素的地址。所有指针占用的内存空间是一样的。数组的首元素的地址赋给指针变量。
2023-07-28 20:28:12 48
原创 C语言学习第十三弹
由于通过地址能找到所需的变量单元,所以我们说该地址指向了该变量单元。所以指针变量需要它所指向的数据类型告诉它要访问多少个字节存储空间。类型说明符表示本指针变量所指向的变量的数据类型。来定义指针变量和访问指针变量指向的内存存储空间。如果一个指针变量存放的又是另一个指针变量的地址。地址与内存单元中的数据是两个完全不同的概念。则称这个指针变量为指向指针的指针变量。一个指针变量所占用的内存空间是固定的。允许用一个变量来存放其它变量的地址。这种专门用于存储其它变量地址的变量。说明定义的这个变量是一个指针变量。
2023-07-28 20:27:11 56
原创 C语言学习第十二弹
如果要存储多个字符串,比如一个班所有学生的名字,则需要二维字符数组,本程序把初始化赋值的字符数组与动态赋值的字符串连接起来。个字符构成的字符串,其中最后一个字符的位置要留给字符串的结尾标示。二维数组作为函数参数,在被调函数中可以计算出二维数组有多少列。把字符数组中的字符串输出到显示器。所谓二维数组就是一个一维数组的每个元素又被声明为一 维数组。大致可分为字符串的输入、输出、合并、修改、比较、转 换、很容易导致数组下标越界,是一个不安全的字符串操作函数。字符串数组其实就是定义一个数组保存所有的字符串。
2023-07-28 20:26:28 73
原创 C语言学习第十一弹
数组的元素作为函数实参,与同类型的简单变量作为实参一样,如果是基本数据类型。序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。数组,从字面上看,就是一组数据的意思,没错,数组就是用来存储一组数据的。说该数列已经排序完成。因为数组在内存中占用的字节数取决于其存储的数据类型和数据的个数。)的算法描述是一种简单直观的排序算法。类型的变量能保存一个人的年龄,如果想保存整个班的年龄呢?的排序算法,是简单插入排序的改进版。是一种简单的排序算法。的区别就是它们的最高位是否要当做符号位,并不会像。
2023-07-28 20:25:13 385
原创 C语言学习第十弹
通过控制线发出内存读取命令,选中存储器芯片,并通知它,将要从中读取数据。通过控制线发出内存写入命令,选中存储器芯片,并通知它,要其写入数据。:表示无符号,也就是说最高位并不当做符号位,所以不包括负数。补最低位,所以符号位也会被丢弃,左移出来的结果值可能会改变。可以提供不同长度的整型数,也就是可以改变整型数的取值范围。程序中的所有数据在计算机内存中都是以二进制的形式储存的。的区别就是它们的最高位是否要当做符号位,并不会像。因此,如果使用的整数不是很大的话,可以使用。所有数据的运算都是以补码进行的。
2023-07-28 20:23:58 120
原创 C语言学习第九弹
默认情况下,只有后面定义的函数才可以调用前面定义过的函数。最后将整数部分的二进制和小数部分的二进制合并起来。一个函数在它的函数体内调用它自身称为递归调用。系统搞不清楚这个函数的返回值类型是什么。当被调函数的函数定义出现在主调函数之前时。在主调函数中也可以不对被调函数再作声明。声明仅仅代表着告诉系统一定有这个函数。这个函数具体的业务逻辑是怎么运作的。函数能正常调用这些函数,那就必须在。系统搞不清楚这个函数接收几个参数。和这个函数的参数、返回值是什么。函数的返回值类型就必须是什么类型。
2023-07-22 10:14:38 83
原创 C语言学习第八弹
在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少。一重循环解决线性的问题,而二重循环和三重循环就可以解决平面和立体的问题了。尖尖朝下,改变内循环的初始化表达式,让内循环的初始化表达式随着外循环的。尖尖朝上,改变内循环的条件表达式,让内循环的条件表达式随着外循环的。循环结构的循环体中存在其他的循环结构,我们称之为循环嵌套。默认情况下,只有后面定义的函数才可以调用前面定义过的函数。语句,仅能在本函数内实现跳转,不能实现跨函数跳转。一个个相对独立的函数,然后再需要的时候调用它。
2023-07-22 10:12:50 96
原创 C语言学习第七弹
默认情况下程序运行后,系统会按书写顺序从上至下依次执行程序中的每一行代码。但凡遇到比较一个变量等于或者不等于某一个常量的时候,把常量写在前面。对给定的条件进行判断,再根据判断结果来决定执行代码。接收用户输入的两个整数,判断大小后输出较大的那个数。接收用户输入的三个整数,判断大小后输出较大的那个数。要求用户输入一个分数,根据输入的分数输出对应的等级。的整数,根据用户输入的整数,输出对应的星期几。的流程控制结构可以实现不同的运行流程。接收用户输入的三个整数,排序后输出。用两种方式交换两个变量的保存的值。
2023-07-22 10:11:35 80
原创 C语言学习第六弹
默认情况下,我们在程序中写的每一句正确代码都会被执行。可以用来计算一个变量或常量、数据类型所占的内存字节数。同一个表达式中同一个变量自增或自减后如何运算。最后整个逗号表达式的值等于最后一个表达式的。逗号运算符会从左至右依次取出每个表达式的值。,因此,判断条件是否成立,就是判断条件的。语言为这种操作提供了两个更为简洁的运算符。语言规定,任何数值都有真假性,任何非。将变量中的值取出之后进行对应的操作。优先级高于逗号运算符和赋值运算符。写在前面还是后面都会对变量做。变量的值再进行自增自减变化。
2023-07-22 10:09:25 66
原创 C语言学习第五弹
格式控制字符串和地址列表项在数量和类型上必须一一对应。语言中的运算符是告诉程序执行特定算术或逻辑操作的符号。非字符和字符串情况下如果没有指定多条数据的分隔符。格式控制字符串会赋值给地址项列表项中的变量。系统会将用户输入的内容先放入输入缓冲区。如果参与运算的两个操作数其中一个是浮点数。运算次序按照结合性规定的方向执行。如果参与运算的两个操作数皆为整数。参与运算的两个操作数必须都是整数。两个数相加的结果就是表达式的。按照参与运算的操作数个数划分。蕴含了优先级和结合性的问题。运算结果的正负性取决于被除数。
2023-07-22 10:08:27 236
原创 C语言学习第四弹
用来约束变量所存放数据的类型。在内存中开辟一块存储空间,开辟时从内存地址大的开始开辟(内存寻址从大到小)变量,则表示一些不固定的数据,也就是可以改变的数据。常量,则表示一些固定的数据,也就是不能改变的数据。为了更好地理解变量在内存中的存储细节,先来认识一下内存中的。张三使用这个格子的时候里面放的可能是尿不湿。指数形式的常量就是科学计数法的另一种表 示。可以将一个变量存储的值赋值给另一个变量。不同类型的变量占用不同大小的存储空间。但是李四使用这个格子的时候里面放的。后面会再次更深入的讲解存储的各种细。
2023-07-22 10:07:28 77
原创 C语言学习第三弹
其实标识符的作用就跟人类的名字差不多,为了区分每个人,就在每个人出生的时候起了个名字。哪些是动态数据:当运行某个程序(软件)时,整个程序就会被加载到内存中,在程序运行过。程中,会产生各种各样的临时数据,这些临时数据都是存储在内存中的。哪些是静态数据:静态数据一般是以文件的形式存储在硬盘上,比如文档、照片、视频等。程序中可能会有多个函数,为了区分这些函数,就给每一个函数都起。计算机被强制关闭时,这个程序产生的所有临时数据都会被清除。在我们使用计算机的过程中,也会接触到各种各样的数据。
2023-07-22 10:04:52 74
原创 C语言学习第二弹
注释是在所有计算机语言中都非常重要的一个概念,从字面上看,就是注解、解释的意思。注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流沟通。大部分人都在关注你飞的高不高,却没人在乎你飞的累。而在支持的实施的时候由于各大厂商利益、理解等问题。所以大家才会看到不同的书上书写的格式有所不同。启动计算机的时候就会让你选择哪个用户登录。代表函数执行之后会返回一个整数类型的值。代表函数执行之后会返回一个整数类型的值。代表函数执行之后会返回一个整数类型的值。被注释的内容在开发工具中会有特殊的颜色。
2023-07-22 10:03:46 88
原创 C语言学习第一弹
其实我们通过人能听懂的语言告诉别人做某件事就是在发送一条条的指令。优点:简单、易用、易于理解、远离对硬件的直接操作、有可移植性。优点:直接对硬件产生作用,程序的执行效率非常高、可读性稍好。优点:直接对硬件产生作用,程序的执行效率非常非常高。它拥有了今天计算机的主要结构和功能,是通用计算机。的程序是由很多开关和连接电线来完成的。语言是所有编程语言中的经典,很多著名的系统软件也是。任何一种计算机已经掌握的语言就可以和计算机交流。语言是所有编程语言中的经典,很多高级语言都是从。
2023-07-22 10:00:26 50
原创 C语言学习目录篇
关注微信公众号:C和C加加回复“十进制小数转换为二进制小数。二进制小数转换为十进制小数。二维数组作为函数参数注意点。结构体变量占用存储空间大小。常见的计算机语言类型有哪些。ZXC"更多教程等你领取。数组名作函数参数的注意点。访问指针所指向的存储空间。变量内存分析(简单版)运算符的优先级和结合性。工欲善其事必先利其器。如何执行定义好的函数。如何运行编写好的程序。函数注意点及其它写法。初学者如何避免程序出现。数组元素作为函数参数。二维数组的遍历和存储。指针变量的初始化方法。计算机是运算过程分析。
2023-07-22 09:56:56 96
原创 C语言实现点餐系统,大学期末作业,计算机科学与技术,课程设计
本文实例为大家分享了C语言实现餐厅点餐系统的具体代码,供大家参考,具体内容如下这应该是比较简单的c语言程序了,因为学校c语言结课结的早,我当时才学到结构体指针,所以我就把我当时能运用的知识点全用在这个程序上了。虽说这个程序对当时的我来说是天花板,但是当我继续学习,我逐渐发现这个程序能升级的点实在是太多了。但我也一直没去完善。所以就硬着头皮把他发出来了。顺序结构,选择分支结构,循环结构,数组,自定义函数,指针和结构体。
2023-07-09 14:34:39 2816 2
原创 C语言写#字棋,大学期末作业,课程设计
这里电脑的落子,采用了生成随机数的方法,具体方式为调用rand()函数,并在调用rand()函数之前,先用srand()为伪随机数生成器播撒种子,种子采用系统时钟来生成。这里为了不让棋子的坐标超出棋盘范围,可以让每次的随机数对棋盘的尺寸取模,这样产生的结果只有0~2之间的数,从而产生的坐标范围就不会超出棋盘的大小。这里为了贯彻上面所提到的代码的可读性与可拓展性,没有选择一行一行的打印棋盘,而是换了一种做法,在我们更改棋盘的尺寸时也可以很好的兼容。这里的四种情况分别返回四个不同的字符,然后再判断游戏的结果。
2023-07-09 14:25:27 94 1
原创 C语言写闪烁的爱心,情侣,大学期末作业,课程设计
给大家放过一个C语言爱心代码实现心形表白功能的小程序,许多C语言爱好者觉得有意思,用C语言打印心形图案,今天给大家再放几个个更炫酷的表白程序,有需要的童鞋拿去吧~其实并不困难,大家都能够写出来,想表白的小伙伴拿去吧~ 不谢不谢~ 咩哈哈哈!//左边的空格,每下一行左边的空格比上一行少2个//8*(n+1)-2*i。//左边的空格,每下一行左边的空格比上一行少2个 //8*n-2*i。//左边的空格 //8*(n-1)+1。
2023-07-09 14:17:28 776 1
原创 C语言写猜数字游戏,大学期末作业,课程设计
之所以先前每次都会生成相同的一个数,就是因为rand函数默认的种子常量是1.要生成不同的随机数,就必须改变种子的值;如正确答案为576,而猜的人猜的56,则我们可以给猜的人一点提示,告诉他猜小了;如果猜的人猜的人为999,则我们可以给猜的人一点提示,告诉它猜大了;printf("+******* 猜数字游戏(1~100) *******+\n");一般方法只需:b+rand()%(a+1)//生成大于等于b且小于等于b+a的随机数;1、既然需要猜数字,我们玩家就不能知道,电脑就得随机产生一个值给我们猜;
2023-07-09 14:12:55 130 1
原创 C语言写旋转光标,大学期末作业,课程设计
/这里\\代表一个字符\。\n:中文名叫换行,作用是将光标移动到下一行开头,从头开始写入;\r:中文名叫回车,作用是将光标移动到本行开头,从头开始写入;Sleep(300);//让程序休息0.3s。思路:主要用到了\r这个转义字符,中文名称叫回车;接下来我们再写一个小游戏;就是这个光标一直在旋转;
2023-07-09 14:12:15 55 1
原创 C语言写多个字符从两端移动,向中间汇聚,大学期末作业,课程设计
/2 两者字符数组一定要一样长才有效果;//防止上一个回车把I吃掉了;最后一个小游戏,和旋转光标差不多;
2023-07-09 14:11:17 55 1
原创 C语言写恶搞:关机小程序,情侣,大学期末作业,课程设计
最后在本文件目录下会生成一个可执行文件.exe格式,我们可以将这个.exe文件包装一下,然后发给我们的好基友!如果你的好基友正在用电脑做重要的不建议这么搞,这么搞可能会造成文档未来得及保存!//开始执行关机命令,同时你也可以把使时间调的更短。//这里可以更改密码,比如叫爸爸😁😁😁。printf("请注意你的电脑将在1min之内关机,请输入我是猪来取消关机\n");printf("成功取消关机");我们可以将这段程序打包给我们的好基友😁😁;
2023-07-09 14:10:11 139 1
原创 C语言写闪烁的五彩爱心,情侣,大学期末作业,课程设计
/这里可以留言,'\t'字符相当于Tab,将我们的字顶到爱心的中间位置,可以根据实际情况适当添加或减少。Sleep(100);//这里控制进度条的每一次进度条的刷新时间(注意是以毫秒为单位!//这里控制每一行爱心出现的时间间隔。该代码主要应用了’\r’的知识和printf可以输出颜色字符的知识;//利用格式化字符让printf输出不同的颜色。里面有详细的讲解过程!
2023-07-09 14:09:12 280 1
原创 C语言写猜数字,大学作业系列,课程设计
以上就是今天要讲的内容,本文简单的介绍了用C语言实现猜数字小游戏的思路,还进一步展示了代码的运行结果验证了作者的思路,在练习选择语句和循环语句的同时还学习了部分关于时间戳方面的知识。本文的作者也只是一个正在学习C语言等编程知识的萌新,若这篇文章中有哪些不正确的内容,请在评论区向作者指出(也可以私信作者),欢迎大佬们指点,也欢迎其他正在学习C语言的萌新和作者进行交流。最后,如果本篇文章对你有所启发的话,也希望可以支持支持作者,后续作者也会定期更新学习记录。
2023-07-09 14:00:28 89 1
原创 C语言写推箱子,大学期末作业,课程设计
else if (map[level][i + 1][k] == BOX)//玩家的前面是箱子 { if (map[level][i + 2][k] == SPACE || map[level][i + 2][k] == DEST)//箱子的前面是空地或者是目的地 { map[level][i + 2][k] += BOX;
2023-07-08 17:54:29 129
原创 C语言写贪吃蛇,大学期末作业,课程设计
if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*//*设置填充模式和颜色,0表示黑色*//*设置填充模式和颜色,0表示黑色*//*设置填充模式和颜色,0表示黑色*//*设置填充模式和颜色,0表示黑色*/
2023-07-08 17:51:26 105
原创 C语言写扫雷,大学期末作业,课程设计
我们都知道,扫雷是在一个33的小格子里进行排雷,如上图所示,这是一个99的棋盘,但假如我们利用二维数组创建一个99棋盘的话,对于边上溢出来的部分,我们不好处理,那我们就索性给它加上两行两列,凑成(9+2)(9+2)的棋盘,但是,我们只利用其中的9*9的棋盘部分,对于边上溢出来的两行两列,我们全都初始化为非雷区域。就不用管它了。在这里,我们可以创建二维数组,一个用来进行初始化,放雷所用,另一个用来排雷所用,当然,我们最后打印棋盘的时候是要把放雷的那个棋盘给屏蔽掉的,不然就公开雷的位置了。
2023-07-08 17:50:35 98
原创 恶搞小游戏
之后在存储的文件中找到release文件夹,其中有一个后缀名为 .exe 的文件,然后发给你小伙伴实验起来吧🤣🤣🤣。输入完整的代码后,在编译器中将文件由debug版本调整为release版本。if (strcmp(inputs, "我是猪") == 0)printf("请注意,你的电脑将在一分钟之后关机\n");设置电脑在60秒后关机。如果想要修改时间,修改那个数字60即可。printf("快说你是猪,不然关你电脑\n");方便在对方输入不正确的话的时候跳转会输入的语句。
2023-07-08 17:49:15 38
原创 C语言写学生信息管理系统,大学期末作业,课程设计
T: printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 1.添加学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n");printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 3.修改学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n");printf("\n\t 〓〓〓〓〓〓〓〓 ★ ☆ 4.删除学生信息 ☆ ★ 〓〓〓〓〓〓〓〓 \n");printf("\n\t 〓〓〓〓〓〓〓〓 ☆ 学生信息管理系统 ☆ 〓〓〓〓〓〓〓〓\n\n");printf("\t2019年9月10日\n\n\n\n\n\n\n");
2023-07-08 17:42:57 227
原创 C语言写计算器,大学期末作业,课程设计
printf("正弦(1) 余弦(2) 正切(3) 指数(4) 对数(5) 阶乘(6)\n倒数(7) 平方(8) 立方(9) 方差{五个数}(10) 退出(11)\n");printf("科学模式\n");printf("普通模式(1) 科学模式(2) 程序员模式(3) 退出(4)\n");printf("二进制=%d\n", TurnNumber10_2(a));printf("二进制=%d\n", TurnNumber10_2(b));
2023-07-08 17:39:48 215 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人