自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 问答 (1)
  • 收藏
  • 关注

原创 c和c++区别

在很大程度上,,这意味着一个有效的C程序也是一个有效的C++程序。C和C++的主要区别是,。但是,C++中有许多规则与C稍有不同。这些不同使得C程序作为C++程序编译时可能以不同的方式运行或根本不能运行。本节着重讨论这些区别。如果使用C++的编译器编译C程序,就知道这些不同之处。虽然C和C++的区别对本书的示例影响很小,但如果把C代码作为C++程序编译的话,会导致产生错误的消息。C99标准的发布使得问题更加复杂,因为有些情况下使得C更接近C++。

2023-04-03 17:56:12 1344

原创 C语言——字符串指针篇

  在C语言中没有专门的字符串数据类型:,一般通过数组的方法来实现,称为字符数组(存放字符的数组,实际上一系列字符集合(字符串)),如:要注意:字符数组 只有在定义时才可一次性赋值,一旦定义完就只能一个个赋值,如:注意事项  ①字符串是一系列连续字符。若想在内存中定位一个字符串,不仅要知道开头,还需知道结束。开头就是数组名(或字符串名)但结束呢?  C语言是通过\0表示结尾,故\0又称为:字符串结束标志符(位于ASCII码表中第0个字符或称NULL

2023-04-02 20:57:19 2470 1

原创 递归函数详解(125-126)

1.1编译链接和内存布局。

2022-10-21 21:46:42 201

原创 枚举类型(138)

138_枚举类型。

2022-09-27 18:58:07 120

原创 共用体(联合体)详解及共用体应用示例(136-137)

136_137共用体(联合体)详解及共用体应用示例。

2022-09-26 17:56:12 213

原创 135_结构体位域

135_结构体位域。

2022-09-26 17:23:06 66

原创 134_结构体数据成员偏移量的计算

134_结构体数据成员偏移量的计算。

2022-09-25 22:10:28 123

原创 133_结构体对齐与大小

133_结构体对齐与大小。

2022-09-25 21:33:23 91

原创 132_结构体实现静态链表

132_结构体实现静态链表。

2022-09-25 11:33:38 157

原创 函数指针(113-116)

113-116. 函数指针笔记:基础知识 注意类型 两种写法是一个地址 不能计算函数指针所指之物的大小,也不能对其进行加1操作 代码:加减乘除:查表调用函数,开户、存款。泛型打印,快排泛型算法:结构体​​​​​​​比较,打印...

2022-06-12 18:51:08 92

原创 112.循环移动数组

结果:

2022-06-11 18:00:29 74

原创 111.杨辉三角的打印

代码:结果:

2022-06-11 15:19:11 98

原创 110 字符串排序

字符串冒泡排序定义一个5*128字符型数组,输入5个字符串并打印结果:模块化: 优化:把字符串的地址存到另一个数组中,只交换这个数组的内容,不改变元数据

2022-06-10 19:21:28 91

原创 106.二级指针变量,二维数组与指针,二维数组与函数

参考前面的,一维数组与函数,二维数组与函数 int (*s)[4] : 4字节,存放4个元素的整形数组的地址。int *p[4] : 四元素的数组,每个元素类型都是整形指针。int **s : 存放一级指针的地址。

2022-06-10 17:44:31 55

原创 105.格式化字符串输出

#include#include#include#include#include#define N 20int main(){ char buff[N]; int a=100,b=200; //printf("%d %d",a,b); //sprintf(buff,"%d %d",a,b);//返回值是长度stdout scanf("%d %d",&a,&b); sscanf(

2022-06-09 19:15:10 49

原创 104.my_atoi函数的实现

【C语言】模拟实现atoi函数可以把小写l转换为1,大写O转换为0

2022-06-09 19:00:10 107

原创 102.内存操作函数详解

内存赋值:内存比较,复制:

2022-06-09 17:15:23 73

原创 101.void指针变量详解。

结果:

2022-06-09 15:57:48 166

原创 100.指针的加减运算和strlen函数

指针和指针只能相减,必须是用一类型的指针,相减的结果是元素的个数搞清楚空指针NULL和空串'\0'的区别。

2022-06-09 15:57:07 53

原创 94-99.字符串函数使用和实现详解

第一节课:第二节课:函数strcmp结果:

2022-06-06 18:29:09 119

原创 92-93.利用函数实现模块化程序设计

利用函数实现模块化程序设计:1.封装:何为函数的封装,就是把代码封装进去,对调用者来说都话就是因此我们的实现功能。(1)调用者(外界)对函数的影响--仅限于入口函数。(2)函数对调用者(外界)的影响--仅限于我们函数的返回值,指针形参。2.就是检查函数的入口参数的有效合法,检查函数是否调用成功。3.函数的规模要小。//.........

2022-06-05 20:25:15 277

原创 91.用多文件结构实现计算器程序

用多文件结构实现计算器程序1.counter.h2.counter.cpp3.main.cpp

2022-06-05 19:03:23 145

原创 90.多文件结构设计

1.多文件结构 #include,#include""使用尖括号,编译器会到系统路径下查找头文件使用英文双引号"",编译器会首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。2. ifndef是 if not define 的缩写,一种宏定义。它是预处理功能中三种(宏定义,文件包含和条件编译)中的第三种--条件编译。其使用方式是:#define X...#endif//c语言在对程序进行编译时,会先根据预处理命令进行预处理,C语言编译系统包括预处理,编译和链接等部分。#if...

2022-06-05 17:10:59 543

原创 88-89.数组,指针和函数的关系

参考过去的文章:C语言一维数组与指针和参数传递

2022-06-05 15:22:20 60

原创 87.const与指针变量的关系

第一种情况:不加const关键字第二种情况:所指之物为常量第三种情况:指针为常量第四种情况:所指之物和指针都是常量注意!注意!注意:

2022-06-05 15:06:46 44

原创 取值和去地址运算符的结合

取值和去地址运算符的结合

2022-06-05 14:47:31 79

原创 给定一整形数组,数组放入随机值,计算出第一大和第二大的值。

给定一整形数组,数组放入随机值,计算出第一大和第二大的值。结果:

2022-06-04 19:22:19 53

原创 C语言实现从字符串中计算单词个数,使用状态法

代码:结果:

2022-06-04 18:52:42 131

原创 关于srand函数的疑问

关于srand函数的疑问:来源于 3-9 猜数字随机种子。观察这段代码,本身是一个产生随机数打印的代码,num 每次都会由于系统时间的变化,而形成不同的数。但是如果把 srand(time(NULL)); 这段代码放入 while 中会发生什么?结果就是,num 不再是随机值,而是固定的数值,原因可以参考 https://www.imooc.com/wenda/detail/604944,大体意思是伪随机数的产生依赖种子,种子的时间间隔至少1s才可以生成不同的随机数,放在一个循环中时

2022-06-04 17:04:46 225

原创 VScode用的一些编译器

以下答案截止至 2021/06/01:MinGW: 编译目标仅兼容 32 位应用程序,最新的官方二进制版本为 GCC 9.2.0。(OSDN)MinGW-w64: 衍生自 MinGW 的项目,编译目标兼容 32 位应用程序与64 位应用程序,最新的官方二进制版本为 GCC 8.1.0。(SourceForge)TDM-GCC: 衍生自 MinGW 和 MinGW-w64 的项目,分为 32 位与 64 位两个版本,32 位版本的编译目标仅兼容 32 位应用程序,64位版本的编译目标兼容 32 位应用程序与

2022-06-04 16:23:04 2268

原创 编写一个扫雷游戏,我们首先要清楚游戏规则

编写一个扫雷游戏,我们首先要清楚游戏规则: 扫雷就是要把所有非地雷的格子揭开即胜利;踩到地雷格子就算失败。游戏主区域由很多个方格组成。使用鼠标左键随机点击一个方格,方格即被打开并显示出方格中的数字;方格中数字则表示其周围的8个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有0颗雷,则其周围格子自动打开;如果其周围还有空白格,则会引发连锁反应;在你认为有雷的格子上,点击右键即可标记雷;如果一个已打开格子周围所有的雷已经正确标出,则可以在此格上同时点击鼠标左右键打开其周围剩余的无雷格。

2022-06-04 15:03:18 459

原创 分块查询和二分查询

1.在数组中查找键盘输入的数(和每行中末尾最大的数比较)#include<stdio.h>#include<assert.h>int findvalue(int (*br)[5],int row,int col,int val){ assert(br !=NULL); int pos = -1; int i=0; while(i<row && val>br[i][col-1]) { /*i

2022-05-22 18:44:22 98

原创 ++i与i++的区别

++i与i++的区别1. 赋值顺序不同 :i++ 返回原来的值,++i 返回加1后的值。#include<stdio.h>#include<math.h>#include<stdlib.h>#include<time.h>int main(){ int ar[5]={12,23,34,45,56}; int* p=ar; int x=0,y=0; //前置++先加后赋值,后置++先赋值后加,从右向左运算

2022-05-22 17:19:50 1214

原创 指针的加一,加的地址和指针的类型有关,如(+sizeof(int)*1)

指针的加一,加的地址和指针的类型有关,如(+sizeof(int)*1)#include<stdio.h>#include<math.h>#include<stdlib.h>#include<time.h>int main(){ int ar[5]={1,2,3,4,5}; int* ip=ar; for(int i=0;i<5;i++) { printf("%p=>%d \n",i

2022-05-21 19:47:18 229

原创 空指针,野指针和失效指针

1.空指针1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。下面两个都是空指针:int *s1 = NULL;int *s2 = nil;2.野指针:野指针是指向一个非法的或已销毁的内存的指针。对野指针进行解引用操作是非法的。在C/C++等语言中,悬空指针(Dangling Pointer)指的是一个指针的指向对象已被删...

2022-05-21 18:37:06 639

原创 输入年份,打印全年的日历。 每周的第一天应为星期日。 星期制在我国正式使用是清末(1905年),但其来源却是中外时间文化的殊途同归。古人观天象计时间除了最明显的日

输入年份,打印全年的日历。每周的第一天应为星期日。星期制在我国正式使用是清末(1905年),但其来源却是中外时间文化的殊途同归。古人观天象计时间除了最明显的日、月二星外,还观测到太阳系中的另外五大行星,初步掌握了这七颗星出没时间及其运行规律,这七星按日、金星、水星、火星、木星、土星、月的顺序“轮流值日”,就形成了最为原始的星期制。由此顺序也可看出,一周的第一天应为星期日。历史起源星期作为时间周期最早起源于巴比...

2022-05-21 11:29:17 694

原创 编写程序,找出用户输入的年份的最早年月日,程序需要提示用户一个一个地年月日,当用户输入0或负数时,程序显示出已输入的最早年月日:

编写程序,找出用户输入的年份的最早年月日,程序需要提示用户一个一个地年月日,当用户输入0或负数时,程序显示出已输入的最早年月日:代码:#include<stdio.h>#include<math.h>#include<stdlib.h>#include<time.h>int main(){ int year=1,month=1,day=1; int myear=INT_MAX,mmonth=12,mday=31; w

2022-05-20 11:42:26 194

原创 编写程序,找出用户输入的一串数的最大数,程序需要提示用户一个一个地输入数,当用户输入0或负数时,程序显示出已输入的最大负整数:

编写程序,找出用户输入的一串数的最大数,程序需要提示用户一个一个地输入数,当用户输入0或附属时,程序显示出已输入的最大负整数:代码#include<stdio.h>#include<math.h>#include<stdlib.h>#include<time.h>int main(){ int val=0; int max=0; while(1) { printf("input a numbe

2022-05-20 11:25:58 1772 1

原创 C语言随机函数为什么rand()每次产生的随机数都一样

之所以rand()每次的随机数都一样是因为rand()函数使用不正确。各种编程语言返回的随机数(确切地说是伪随机数)实际上都是根据递推公式计算的一组数值,当序列足够长,这组数值近似满足均匀分布。如果计算伪随机序列的初始数值(称为种子)相同,则计算出来的伪随机序列就是完全相同的。这个特性被有的软件利用于加密和解密。加密时,可以用某个种子数生成一个伪随机序列并对数据进行处理;解密时,再利用种子数生成一个伪随机序列并对加密数据进行还原。这样,对于不知道种子数的人要想解密就需要多费些事了。当然,这种完全相同的序列对

2022-05-20 11:13:06 6814

原创 编程:随机生成1-100之间的数字,如果猜对了结束游戏,如果猜错则继续猜并提示所猜测的数字是大于还是小于所指定的数,最终提示猜对所用的次数。

编程:随机生成1-100之间的数字,如果猜对了结束游戏,如果猜错则继续猜并提示所猜测的数字是大于还是小于所指定的数,最终提示猜对所用的次数。

2022-05-20 11:09:12 3418

空空如也

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

TA关注的人

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