自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 网络通讯(服务端搭建)

本篇文章主要以C语言为主,通过C语言中所设定的函数以及环境来将网络通讯的服务端进行搭建。注:本篇并未涉及服务端与客户端之间的收发数据。

2023-07-30 10:29:01 207

原创 UDP与TCP的不同之处

1.socket不同:TCP --> 流式套接字 SOCK_STREAMUDP --> 用户数据报套接字 SOCK_DGRAM2.工作流程不同:TCP:双方在通信之前,必须要先链接(listen、accept、connect)。UDP:有了套接字后就可以直接 通信。3.通信函数接口不同:TCP: read/write recv/send recvfrom/sendto(一般不...

2021-12-13 15:22:58 1611 2

原创 MYSQL数据库的相关知识点(创建、查看、删除)

一.创建数据库:格式:create database 数据库名如:创建一个名为test的数据库。二.查看已创建好的数据库:格式:show create database 数据库名如:查看名为test的数据库的相关信息。三.选择数据库:格式:use 数据库名字如:选择名为test的数据库。四.删除数据库:格式:drop database 数据库名如:删除名为test1的数据库。...

2021-12-12 14:34:14 938

原创 小习题:IP地址形式输出

一.题目概要:任意输入32位的二进制数,编程实现将该二进制数转换成IP地址形式。举例如下:输入:11111111111111111111111100000000输出:255.255.255.0二.算法分析:方法一:(1)先定义一个大小为33字符型数组来存我们所输入的32位的二进制数和一个全局变量为0的i。(2)再定义一个大小为4的整型数组来存每8位二进制数所转的整型数。(3)转换过程:首先定义一个整型变量m=128和一个变量sum=0(用以存每8转换之后数字的和),然..

2021-11-27 22:16:11 2906 7

原创 小习题:巧分苹果

一.题目概要:一家农户以果园为生,一天,父亲推出一车苹果,共2520个,准备分给他的6个儿子。父亲按事先写在一张纸上的数字把这堆苹果分完,每个人分到的苹果个数都不相同。他说:“老大,把你分到的苹果的1/8给老二,老二拿到后,连同原来的苹果分1/7给老三,老三拿到后,连同原来的苹果的1/6给老四,依此类推,最后老六拿到后,连同原来的苹果分1/3给老大,这样,你们每个人分到的苹果就一样多了。”问兄弟6人原先各分到多少只苹果?运行结果如图4.8所示。二.算法分析:(1)由题可知父亲用完这中...

2021-11-04 23:33:48 1048 7

原创 小习题:n进制转换为十进制

一.题目概要:编程实现任意输入一个数,并输入几进制,则程序根据你所输入的信息,将其转化为十进制并输出,如果数据与进制不符合,则输出错误并退出程序。二.算法分析:(1)为了方便16进制时的判断,所以我们得事先将字母统一为大写字母。void strupr(char *p){ while(*p) { if(*p>='a' && *p<='z') { *p-='a'-'A'; } p++; }}(2)判断你所输入的数据与进制是.

2021-10-31 23:18:26 880 10

原创 小习题:按要求求数

一.题目概要:从键盘中输入三个数(m,n,s),n为位数,每位数的最大值为m,位数之和为s,请求出所有不重复的结果。二.算法分析:(1)定义数字的取值范围,拿三位数举例,三位数的范围为100~mmm。代码如下:int n,m,s;int min=1,max;printf("所输入的数字位数:");scanf("%d",&n);printf("每位数最大值:");scanf("%d",&m);printf("所有位之和为:");scanf("%d",&am.

2021-10-30 10:49:26 291 9

原创 小习题:判断三角形的类型

一.题目概要:根据给定的三个边的边长判断是否构成三角形。如果构成,再判断该三角形是什么形式的三角形?是普通三角形,还是等腰三角形,又或者是等边三角型。二.算法分析:为了实现本算法,共需要三次判断:(1)第一次判断:根据三个边的边长判断是否构成三角形。(2)当构成三角形时,再进行一次判断,判断是否为等边三角形。(3)如果不是等边三角形,再进行一次判断,判断是否为等腰三角形。(4)如果不是等腰三角形,则是普通三角形。三.代码实现:#include<stdio.h.

2021-10-17 00:19:27 283

原创 C++中常量变量的定义及使用

一.基本概念:(1)变量:顾名思义,就是值可以改变的量。 作用:给一段指定的内存空间起名,方便操作这段内存。 语法:数据类型 变量名 = 初始值(2)常量:顾名思义,就是值不可改变的量。 作用: 用于记录程序中不可更改的数据。 定义方式: a. #define 宏常量:#define 常量名 常量值 b. const...

2021-10-05 18:59:18 2488

原创 小习题:求水仙花数

一.题目大概:输出所有的水仙花数,水仙花数是指一个三位数,它的每位上的数字的3次幂之和等于它本身。(如:1^3+5^3+3^3=153)二.算法分析:(1)水仙花数是一个三位数,所有设一个变量x从100开始,自加到999。(2)取它的个位、十位、百位。通过一些降位、取余运算。(3)再将它的个位、十位、百位这三个数字的3次幂之和求出,并与x进行判断,若相等则打印数字,反之继续自加。三.程序代码:#include<stdio.h>int main(){ int

2021-10-04 23:17:18 513 2

原创 编写程序来获取一个bmp图片信息

一.基本思路:(1)了解bmp图片的基本格式:(2)打开bmp图片:对于如何在程序中打开bmp图片,我们可以利用open函数来对bmp图片进行打开操作。首先我们先了解下open函数的基本参数(我这里只举一个,至于另一个,大家可以通过man对open函数进行查询)。int open(const char *pathname, int flags);pathname:指定要打开或创建的文件名,带路径(如果不带路径,表示在当前路径)。flags:打开文件的标志(用位域来实现)。.

2021-10-03 11:42:48 1425 7

原创 小习题:求一个数的阶乘

一.题目大概:给一个数n,利用程序计算出它的阶乘,并把结构输出打印出来。二.算法分析:(1)非递归算法:设置一个变量从1加到n,每次加完后,都让它跟初值为1的变量sum相乘,直到跳出循环后,sum的值就是该数的阶乘结果。(2)递归算法:计算n的阶乘,如果知道n-1的阶乘,再乘以n就是n的阶乘了。例如:5!=5*4!从上面例子可以得出一个函数执行语句:n*fun(n-1)然后利用该语句进行递归。三.代码:(1)#include<stdio.h>i.

2021-09-24 21:42:16 334 2

原创 小习题:歌唱比赛打分

一.题目大概:某次校园歌唱比赛,有10位评委打分,打分规则是:去掉一个最低分,去掉一个最高分,剩下的8个分数之平均分就是该选手的分数。二.算法分析:1.第一种:(1)定义一个浮点型数组score,以及三个浮点型变量max、min、sum。(2)利用一个for循环语句将10次的分数输入到数组中,并同时给max、min赋予第一次的值(方便后面的取最大值与最小值)。(3)再利用一个for循环语句,对这十次分数取最大值与最小值(用两个if语句来实现),同时将这十次的分数的和给求出。(4)

2021-09-21 00:16:15 2646 6

原创 小习题:按成绩降序排序

一.题目大概:如表所示为一张学生成绩表,设计一个程序,能够根据学生的成绩进行降序排序,并打印出排序忽的结果。学号 姓名 成绩 学号 姓名 成绩 1 王强 78 5 刘伟 90 2 李丽 65 6 张平 98 3 张宁 79 7 赵红 75 4 杨林 98 8 陆平 84 二.算法分析:(1)按题目可知,有三种信息类别,分别为学号

2021-09-19 09:24:57 2482 6

原创 小习题:洛书河图

一.题目内容:大约两千多年前西汉时代,当时流传夏禹治水时,黄河中跃出一匹神马,马背上驮着一幅画,人称“河图”;又洛河水中浮出一只神龟,龟背上有一张象征吉祥的图案称为“洛书”。“河图”和“洛书”组成的图案的每一列,每一行及对角线,加起来的数字和都是一样的矩阵,这就是我们现在所称的幻方。例如,下述矩阵就是一个幻方:4 9 23 5 78 1 6试写出一程序来判断一个3阶矩阵是否为幻方。二. 具体分析:...

2021-09-16 17:36:32 529 4

原创 小习题:猴子吃桃问题

一.题目大概:小猴子摘了一大堆桃子,第一天吃了一半,还嫌不过瘾,又吃了一个,第二天又吃了剩下的一半还多一个······以后每天如此,到了第十天,小猴子一看只剩下一个桃子了,它想知道最初自己摘了多少个桃子。二.解题思路:根据每天吃前天剩下的一半再加一个,可设一个公式。设第n天剩下了k个,则n-1天剩下x个,则可列一个公式x-(x/2+1)=k,即x=2k+2。又已知第十天,小猴子只剩下一个桃子,故可利用之前的公式进行逆推算出未开始时的桃子数量。三.代码实现:#include<st.

2021-09-14 21:58:29 1643 5

原创 小习题:员工的销售额判断

一.题目大概:根据某员工的销售额计算销售提成,销售额小于等于10000,提成为5%,销售额大于10000,小于等于20000,提成为8%,销售额大于20000,提成为10%。二.解题思路:(1)利用条件运算符来写出代码,先判断是否大于20000,若大于,则乘10%;不大于,再判断是否大于10000,若大于,则乘8%;否则,则5%。(2)利用if-else语句来写出代码,先判断是否大于20000,若大于,则乘10%;不大于,再判断是否大于10000,若大于,则乘8%;否则,则5%。三.代码

2021-09-13 14:06:05 541 2

原创 volatile类型的一般使用情况

(1)外部中断会改变变量;(2)外部任务会改变变量;(3)对硬件寄存器进行操作。

2021-09-12 14:23:57 122

原创 LINUX下的C文件编译与C++文件编译

一.Linux下的C文件编译:#include <stdio.h> int main() { printf("hello 张铁头!\n"); return 0; } 编译过程:二.Linux下的C++文件编译:#include <iostream>using namespace std;int main(){ cout<<"hello 张铁头!"<<endl; return 0;}编..

2021-09-11 23:19:38 186

原创 数据结构中的一些基本概念与术语

(1)数据:数据是对客观事物的符号表示,在计算机科学中是指所有输入能输入到计算机中并被计算机程序处理符号的总称。(2)数据元素:数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑与处理。(3)数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。(4)数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。4类基本结构:(1)集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其 ...

2021-09-10 18:57:48 396

原创 猜数字小游戏实现方法及其思路

目录:一.整体思路:二.基本模块:(1)主界面模块:(2)游戏模块:(3)产生随机数模块:(4)次界面模块:(5)判断模块:(6)主函数模块:三.整体代码:四.结语:一.整体思路:先生成一个随机数,大小范围可以按照自己的需求设置。然后再提示玩家输入一个数字。用这个数字与随机数比较大小,于此同时,自己可以再设置一些提示,比如“数字已经接近了”、“还差一点”······这些提示的范围也可以按照自己的想法设置。最后如果猜对了,便直接输出与“恭喜成功通关”类似...

2021-09-09 23:48:15 2050 3

原创 交叉开发(windows中)

其实对于交叉开发,可以有多种实现方法。对于我自身来讲,认为通过windows中下载个tftp服务器。接下来便是对这种方法进行一个简单介绍。一.安装所需软件:在Windows系统中安装一个tftp服务器的软件。软件如图:二.设置IP地址:(1)修改Windows系统中以太网中的地址设置:进入Internet协议版本: 修改IP地址:其中IP地址可按自己要求设置为192.168.xxx(xxx范围为2~254...

2021-09-08 19:39:25 132 1

原创 交叉开发(Linux系统中)

一.何为开发:编写并编译程序,并且调试运行成功的过程,被称为开发!!二.交叉开发的定义:两个主体才能交叉。指在配置好交叉编译环境的宿主机上,编写并编译目标平台可运行的程序,并将编译生成的程序文件,下载到目标平台中调试运行的过程。比如:51单片机开发宿主机: Windows开发环境:keil_C51 (编辑、编译) STC-ISP(下载、烧录/写)目标平台:51单片机程序文件:hex开发过程:在windows下用keil编写并编译程序生成hex文件,用STC-ISP软件

2021-09-07 17:07:02 1689 6

原创 正则表达式(详解)

计算机处理数据时,大多数情况处理的是字符串对象。eg:e-mail 地址数字字符串由纯数字字符构成,或由'-'开头的纯数字字符构成IP地址===>点分式字符串 xxx.xxx.xxx.xxx (192.168.31.238)……上述这些就是我们程序日常需要处理的对象现在的问题是,计算机如何去处理这些字符串呢???比如: 计算机如何从 几个G的文件中,找出所有的 IP地址 常人所能想到的方式都太麻烦两!!! 需要...

2021-09-02 10:27:37 568 4

原创 铁子们,快来了解下软链接与硬链接的特点

软链接:为目标文件创建一个软链接(有一点像window下面的“快捷方式”)(1)软链接是存放另一个文件的路径的形式存在;(2)软链接可以跨文件系统,硬链接不可以;(3)软链接可以对一个不存在的文件进行链接,而硬链接必须要有源文件;(4)软链接可以对目录进行链接。硬链接:硬链接实际上是为文件target创建了一个新的inode(1)硬链接是以文件副本的形式存在,不会占用实际空间;(2)硬链接不允许给目录创建;(3)硬链接只有在同一个文件系统中才能创建;(4)删除其中

2021-08-31 21:34:01 1005 2

原创 根据最近网友对近些年手机芯片的评价,快来看看你的手机芯片位于那种段位

一.荣耀王者:苹果A14高通骁龙888PLUS高通骁龙888联发科迅鲲1300T麒麟9000二.最强王者:高通骁龙870联发科天玑1200苹果A13麒麟9000E三.至尊星耀:联发科1100苹果A12高通骁龙865高通骁龙865PLUS四.永恒钻石:麒麟900联发科天玑1000PLUS高通骁龙855PLUS高通骁龙860高通骁龙780G/778G五.尊贵铂金:高通骁龙765G/768G联发科天玑820麒麟97

2021-08-29 22:35:09 1296

原创 针对Linux学习,值得阅读的五本书籍,不看可能错失机会

今天为了总结一些可以帮助各位在学习过程中提供帮助的一些书籍。一.鸟叔的私房菜: 本书是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,而详细地介绍了Linux操作系统。全书分为五部分;第一部分部分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS7.x的安装、登录与求助方法&#xff1b;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,...

2021-08-28 22:18:47 3482

原创 创建图并将它的邻接矩阵打印出来以及将它的节点遍历出来

一.知识概况:(1)基本概况:图(graph)是一种非线性的结构 形式化的语言描述为Graph=(V,R),其中 V={Vi|vi属于某种数据类型,i=0,1,2,3 ***,n}是图中元素,vi 称为顶点 。V就是顶点的集合 当n=0 时 V为空集R{<vi,vj>|vi,vj 属于V ,且p(vi,vj存在)}是图中顶点之间的关系的集合 ,p(vi,vj)为顶点vi和vj之间是否存在路径的判断条件即若 vi/vj 之间的路径存在则关系 <vi,vj>属于R。分类有..

2021-08-27 20:54:42 1283

原创 二叉树的建立与前中后序的遍历

目录一.代码程序:二.分块解析:一.代码程序:首先我们看下代码#include <stdio.h>#include <stdlib.h>typedef int TElemtype;typedef struct BiNode{ TElemtype data;//数据域 struct BiNode * rchild ; // 指向右孩子的指针 struct BiNode * lchild ; //指向左孩子的指针}BiNode;BiNode

2021-08-26 21:56:27 156 5

原创 栈的基本操作

对于栈这一数据结构,我首先写一下它的基本概念。栈(stack)是仅限定在表尾进行插入和删除操作的线性表。栈就是一个线性表,只不过,栈的Insert 和 delete只能在表尾。 普通的线性表,在表中的任意位置都可以进行insert和delete操作。LIFO: Last In First Out 后进先出,先进后出 栈顶(Top): 进行插入和删除操作的一端栈底(Bottom) 栈其实我们计算机科学中,更多的一种思想,“先进后出的思想”。 在很...

2021-08-25 19:49:06 26099 4

原创 链表中分别存储12345与54321,并将它们分别输出

对于这种问题,有两种实现方法:1.分别建立两个链表,分别存12345和54321#include<stdio.h>#include<stdlib.h>typedef int ElemType; //数据元素的类型typedef struct node{ ElemType data; //保存数据的, ”数据域“ struct node *next; //保存下一个元素的地址, ”指针域" //struct node *prev; ..

2021-08-20 14:29:51 1872 2

原创 数组一些相关知识点

int a[12] = {1,2,3,4,5,6,7,8,9,10,11,12};printf(" %p %p %p\n", a, a + 1, &a + 1);%p打印的是地址,这里a作为数组名,既是数组的地址,也是数组首元素的地址。所以打印a的地址就是打印数组的地址也是数组首元素的地址(&a[0]);又因为该数组为int型数组,故每个元素占4个字节,所以a+1就是数组下标为1的元素的地址(&a[1]),至于原因,各位可查找相关书籍便可得知。后面的&a+1与a+

2021-08-17 11:27:43 100

原创 基类型相同的指针可以进行哪些运算

对于基类型相同的指针可以进行:+,-,<,>这些运算不可以进行:加法运算,这是由于指针相加没有任何意义,反而可能产生越界内存问题。可以进行:(1)比较大小:可以用来判断指针位置的高低。(2)赋值运算:类型相同的指针之间可以进行赋值运算。(3)减法运算:两个指针相减是获取之间元素的个数...

2021-08-13 09:50:08 5980 1

原创 从键盘输入10个整数,检查整数5是否包含在这些数据中,若是的话,找出它是第几个被输入的。

#include <stdio.h>int main(){ int a[10]={}; int i,b=5,m=0; printf("请输入十个整数:\n"); for(i=0;i<10;i++) scanf("%d",a+i); for(i=0;i<10;i++) { if(a[i]==5) { printf("该数是第%d个输入\n",i+1); m=1; } } if(m==0) printf("不包含在内.

2021-08-03 09:30:53 3128

原创 利用FOR循环语句来实现在数组中寻找一个数并返回它的位置

#include<stdio.h>int b[10]={-1,};int fun(int a[],int num){ int i,n=0; for(i=0;i<9;i++) { if(num==a[i]) b[n++]=i; //return i; } if(b[0]>=0) return n; else return -1;...

2021-07-31 16:21:37 1612

原创 利用冒泡排序法实现二维数组的从小到大的排序

#include<stdio.h>int main(){ int a[4][5] = {{1,2,7,4,8},{6,7,8,5,1},{9,10,11,12,3},{13,14,15,16,17}}; int i,j,temp,k; for(i=0;i<4;i++) { for(k=0;k<4;k++) { for(j=0;j<4;j++) { ...

2021-07-29 19:24:10 4178

原创 递归实现十进制转化为二进制

#include<stdio.h>int a;void fun(int a){ int m; if(a==0) return; m=a%2; //printf("%d",m);把printf放这,是算完一个就输出数值,然后再递归 a=a/2; fun(a); printf("%d",m);//先递归,把数值一个一个存起来,然后再从顶部释放}int main(){ scanf("%d",&a);...

2021-07-28 09:47:08 603

原创 递归实现十进制转化二进制

#include<stdio.h>int a;void fun(int a){ int m; if(a==0) return; m=a%2; printf("%d",m); a=a/2; fun(a);}int main(){ scanf("%d",&a); fun(a); printf("\n"); }...

2021-07-27 19:00:49 156

原创 递归算法实现字符串的逆序输出

#include<stdio.h>#include<string.h>char s[1000];int c;void fun(char *s){ if(*s==0) { //fun(s+1); //printf("%c",*s); return; } printf("%c",*s); fun(s-1); }int main(){ printf("请输入一...

2021-07-27 18:47:38 474

一些Linux基本知识笔记

看自身需求下载

2021-09-10

一些与交叉开发有关的相关信息(看自身需求下载)

学习资源

2021-09-10

1800道数据结构学习题

一点学习资料

2021-09-09

交叉开发中可能需要用到的Usb端口

一些资源,看自身情况下载

2021-09-08

Linux一些基础知识详解(shell命令,结构性语句,shell函数,一些C语言关键字)

shell命令,结构性语句,shell函数,一些C语言关键字

2021-09-01

c语言知识点常考题,多多益善,冲冲冲

对c语言感兴趣的小伙伴们可以看看

2021-08-31

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

TA关注的人

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