自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【c语言】文件操作,解开你的疑惑

保存在硬盘(磁盘)上的文件就是文件。

2024-06-11 12:34:59 829 7

原创 【c语言】自定义类型-结构体

什么是位段:是一种数据结构,它允许将数据以位(bit)的形式紧凑地存储,并允许程序员对此结构的位进行操作struct Aint _a:2;int _b:5;int _c:10;int _d:30;这段代码中,struct A占8个字节:int占4个字节,所以第一次开辟空间大小为4字节,4字节=32bit,但是struct A里,四个成员共占47bit,所以4字节的空间无法存储struct A类型的数据,,需要在开辟一个Int类型的空间,所以该位段大小为8字节。

2024-06-05 09:17:20 837 4

原创 【c语言】数据在内存中的存储

当一个数据的大小超过一个字节时,在内存中就存在存储顺序的问题,我们根据数据在内存中的存储顺序,分为了”大端字节序存储“和”小端字节序存储 “大端字节序:低位字节的内容存在内存的高地址处,高位存低地址处小端字节序:低位字节的内容存在内存的低地址处,高位存在高地址处。

2024-06-03 17:37:16 946

原创 【c语言】探索内存函数

memcpy函数在复制重叠的内存空间时,最后的结果是未知的,所以当源空间与目标空间重叠时,不用memcpy。memset 函数是将ptr指针指向的空间下num个字节的值赋值为value。将source空间下的num个字符复制到dest中去。比较两个指针指向的空间下num个字节的大小。将字符数组a的5字节的字符复制到a1中去。memmove函数可以正确的复制重叠空间。若ptr1大于ptr2,返回大于0的数。

2024-06-02 15:04:55 214

原创 【c语言】字符函数与字符串函数

包含在头文件

2024-05-29 09:27:04 423 1

原创 【c语言】了解指针,爱上指针(5)

把函数的指针作为参数传给另一个函数,当这个指针被用来调用指向的函数时,此时被调用的函数就是回调函数。排序浮点型需要注意:不能想整型那样通过相减来判断大小,要用三目操作符。:就是一个通过函数指针调用的函数。

2024-05-25 22:15:40 887 1

原创 c【语言】了解指针,爱上指针(4)

二维数组传参实际上传递的是首元素的地址⼆维数组传参,形参的部分可以写成数组,也可以写成指针形式。

2024-05-24 18:44:39 917

原创 pta【520题目】土味情话但数学

输入首先在第一行给出一个正整数 n(≤100),是土味情话的条数。用汉语拼音给出的土味情话由不超过 100 个数字、中文字的汉语拼音、标点符号组成,相邻两字间以标点符号或/和 1 个空格分隔,每个字的拼音长度不超过 5 个小写英文字母,数字为不超过 100 的非负整数。土味情话是指那些听起来比较俗气、比较接地气的情话,通常用于表达爱情或亲密关系。喜欢数学的人对数字特别敏感,下面就请你从一大堆土味情话中,把那些带数字的情话挑出来。按照输入的顺序,原样输出那些句子中带数字的土味情话。

2024-05-21 20:57:38 421 2

原创 c【语言】了解指针,爱上指针(3)

观察输出的值,当我们输出a与a+1时,跳过的是四个字节 (一个整型),输出&a[0]和&a[0]+1,跳过的是四个字节(一个整型),而输出&a与&a+1时,跳过的是16字节(一个数组)。这是因为&a取出来的是数组的地址,当&a+1时,跳过的是一个数组的大小,而其余两个取出来的都是数组首元素的地址,+1跳过的只是数组首元素。当p+0时,指针变量p访问的就是数组首元素的地址,当p+1时,指针访问的就是数组下标为1的元素。一维数组的传参,实际上传递的就是数组首元素的地址。:数组名就是地址,是数组首元素的地址。

2024-05-20 11:26:47 884

原创 c【语言】了解指针,爱上指针(2)

指针指向一个被释放的空间,就好比“你某天在123宾馆开了间房,住了一晚,第二天就把房退了,但是你和你朋友说:我在123宾馆开了间房,你可以过来住。n是创建在test函数下的局部变量,它的生命周期只存在于test函数的范围内,当test函数调用结束后,n的空间就会被释放。在vs下运行这段代码,可以正常运行,并输出n的值,但是会报warning。因为形参是创建在函数swap内部的,所以它们的生命周期只存在于swap函数内部,值的交换也只对形参有用,当函数调用结束后,形参就会销毁,实参x、y的值不受到影响。

2024-05-18 13:15:35 974 1

原创 c【语言】了解指针,爱上指针(1)

在计算机中,数据是存储在内存中的,cpu从内存中读取数据,为了方便读取数据,内存又被划分为了一个个的内存单元,一个内存单元的大小就是一字节,一字节等于8bit位,我们给内存进行编号,这个编号就是地址,在c语言中给这个地址起了个名字。是的,亲爱的读者你肯定发现了,&a、p和pc输出的地址是一样的,但&a+1与p+1输出的地址是一样的00EFF940,一次都跳过了4字节,而pc+1输出的却是00EFF93D,一次只跳过一个字节。但是硬件与硬件之间是相互独立的,这该如何实现数据传输呢?”答案当然是否定的。

2024-05-16 15:30:42 966 2

原创 【c语言】操作符详解

int x;int y;}p1;//声明类型的同时,定义变量p1定义结构体变量p2//结构体变量初始化struct Stuint age;//初始化//指定顺序初始化int x;int y;int data;//结构体嵌套初始化//结构体嵌套初始化。

2024-05-01 16:47:18 569

原创 【c语言】扫雷游戏

扫雷游戏介绍:程序在棋盘内随机生成十个雷,玩家通过输入坐标进行排雷,当输入的坐标下有雷时,游戏结束,并在五秒后关机;如果输入的坐标下不是雷,则显示在该坐标下的九宫格范围内雷的个数。把雷排查完后,游戏胜利。

2024-04-25 15:35:32 1302 3

原创 一篇文章,搞定函数

不同的编译器⼚商根据ANSI提供的C语⾔标准就给出了⼀系列函数的实现如printf、scanf、sqrt等等,这些函数被称为库函数库函数的实现是包含在对应的头文件里的,所以在使用库函数的时候需要包含相应的头文件,比如:使用printf函数,需要包含头文件;使用sqrt函数,需要包含头文件。自定义函数包含三部分:1.函数类型 2.函数名 3.函数参数 4.函数主体 5.return语句。int sum(int a,int b)//函数类型 函数名 函数参数//函数主体。

2024-04-21 20:20:09 814 1

原创 BC100 有序序列合并

第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。输出为一行,输出长度为n+m的升序序列,即长度为n的升序序列和长度为m的升序序列中的元素重新进行升序序列排列合并。这题的解题核心就在于插入排序(但不限于插排),理解了插入排序问题就迎刃而解了。数据范围:1

2024-04-15 22:22:48 407 1

原创 练习6-3 英文字母替换加密(大小写转换+后移1位)

本题要求编写程序,将英文字母替换加密。为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:将明文中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母。例如,字母a->B、b->C、…、z->A、A->b、B->c、…、Z->a。输入一行字符,将其中的英文字母按照以上规则转换后输出,其他字符按原样输出。

2024-04-12 17:50:06 476

原创 练习7-2 求最大值及其下标

本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

2024-04-12 17:38:33 268

原创 pta7-3:将数组中的数逆序存放

本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。

2024-04-12 17:28:36 386

原创 循环语句与break、continue

当count不为0的时候,进入循环,输出count的值,每一次循环count自减1,当count减到0时将跳出循环,不在执行输出语句。这段代码如果完完全全的执行完,将会输出9个1,但由于有break的存在,当执行完输出语句后遇到break,跳出结束内循环,执行外循环。while循环不管循环条件是否满足,循环必定执行一次,而另外两个循环则是先判断是否满足条件,不满足则不执行循环内语句。这段代码的循环条件为a==0,很显然,a是不满足循环条件的,但是由于do…表达式2:在这里是循环结束的条件。

2024-04-10 10:10:08 348 1

原创 分支语句switch

可以但不建议,如果你输入的值在case中没有相对应的,那程序将会跳转并执行default语句,但由于default被省略了,所以并不会执行default,而是跳出switch语句,执行后面的程序。第一. default放的位置的问题,default放的位置没有硬性要求,可以放在case前面也可以放在case后面也可以放在case与case之间,通常我们把default放在末尾。这段代码中,因为case后面没有break,所以当a输入的值为1,会把case2的语句和default的语句也输出;

2024-04-09 21:18:53 274

原创 分支与循环,猜数游戏带关机效果

它产生的随机数范围在0~RAND_MAX,RAND_MAX是依赖编译器实现的,在大部分的编译器上RAND_MAX为32767。只要seed是一个随机数,那么rand函数的种子也是一个随机数,最后生成的数也必定是个随机数,但是在生成随机数的时候又需要一个随机数,这不就矛盾了吗?因为rand的产生的随机数是通过某种算法来实现的,它对一个叫“种子”的基准值进行运算,最后产生一个伪随机数。这个种子的默认值为:1。c语言提供了一个srand函数来初始化随机数的生成器,或者说“用来改变随机数生成器的初始状态”。

2024-04-09 10:03:46 364

原创 分支语句If语句

第一层的if判断输入的值是否为正数,为真则进入语句再次判断是否为偶数,为真则输出,“正偶数”,为假,则输出"正奇数"。else 后面的if就相当于在else里嵌套了一个if,从if到后面的else部分,都是嵌套在前面的else里面的。当输入的值为10时,按理来说两条语句都不会被输出,但结果却是第二条语句被输出,第一条没有被输出。判断表示式是否为真(非0),为真则执行if内的语句,为假(为0)则不执行。else中,else可以与另一个if连用,构成多重判断。当if后面的表达式为假时,则执行else中的语句。

2024-04-08 16:04:46 226

原创 数组的创建与初始化

数组可以简单理解为:同一数据类型的集合。

2024-04-01 09:54:53 182

原创 数据类型与变量

signed(有符号)字符型与unsigned(无符号)字符型当作字符用时,无区别,但当作整数用时,signed取值范围-128 ~ 127,unsigned取值范围0 ~255。在创建变量时,给变量赋一个初值,叫做“变量的初始化”,创建完变量后,没有赋值,之后才进行赋值叫做“变量的赋值。关于局部变量与全局变量的分区:局部变量在栈区,全局变量在堆区,这个现在知道就可以了 ,不用深入了解。全局变量:也就是在大括号外面创建的变量,在整个工程中,想使用都是可以使用的。变量的分类:全部变量和局部变量。

2024-03-31 22:21:58 415

空空如也

空空如也

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

TA关注的人

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