当前位置: 首页 > news >正文

网站建设投资wordpress 随机点击数

网站建设投资,wordpress 随机点击数,张家港做网站收费标准,西安营销型网站作为嵌入式工程师#xff0c;怎么写出效率高、思路清晰的C语言程序呢? 要用C语言的思维方式来进行程序的构架构建 要有良好的C语言算法基础#xff0c;以此来实现程序的逻辑构架 灵活运用C语言的指针操作 虽然看起来以上的说法很抽象#xff0c;给人如坠雾里的感觉怎么写出效率高、思路清晰的C语言程序呢? 要用C语言的思维方式来进行程序的构架构建 要有良好的C语言算法基础以此来实现程序的逻辑构架 灵活运用C语言的指针操作 虽然看起来以上的说法很抽象给人如坠雾里的感觉其实就是用C语言进行遇到问题、分析问题和解决问题的过程。 嵌入式工程师在编写C语言程序的时候要针对遇到的问题进行程序构架构建。 比如我们要处理“猴子选大王”的经典问题一群猴子手拉手排成一个圆从任意一只猴子开始从1开始报数当遇到要排除的数(预先设定)时该猴子退出该圈从下一只猴子开始继续从1报数如此反复最终剩下的猴子便是猴子的大王。 用C语言的思维方式进行程序构架构建 程序分为三大部分 a、数据获取为了程序的运行上面的问题要获得猴子的总数从那只猴子开始和剔除的个数 b、数据运算需要从一堆数据中剔除相应的数据注意逻辑的正确 c、提高程序的运行速率少用循环多用指针。 用C语言进行逻辑实现 a、 数据获取通过printf和scanf进行参数的获取。 /* 读入问题条件 */printf(input total num:);scanf(%d, n);printf(from which num begin:);scanf(%d, k);if(kn||k0){printf(please input the right begin num);return 1; }printf(input the out num:);scanf(%d, m);if(mn||m0){ printf(please input the right del num);return 2; } 同时注意异常时的处理比如上面两个if语句就是异常情况的判断每种异常情况对应不同的返回值这样便于程序过程的调试和数据的合法性。 b、 /* 定义链表节点类型 */ typedef struct node{int data;struct node *next;}linklist; 构建循环链表进行“猴子”的圆圈建设。 /* 创建循环链表头节点也存信息 */head (linklist*) malloc(sizeof(linklist));p head;p-data 1;p-next p;/* 初始化循环链表 */for (i 2; i n; i){s (linklist*) malloc(sizeof(linklist));s-data i;s-next p-next;p-next s;p p-next;} 通过该步骤后head和p(present)都成了一个“猴子圈”的链表。在该链表的构建过程中需要注意以下几点内存的开辟此时遵守使用多少开辟多少的原则。 如果一下开辟过多会引起内存泄露的问题但是这个小程序是不会遇到这种问题了。其次是熟悉循环链表的构建方法链表的尾巴指向链表的头。这个时候有心的话还会联想到双向链表的情况。 c、 /* 找到第 k 个节点 */ p  head;for (i 1; i k; i){p p-next;} 找到从第几个位置开始计数。此时p指向开始的“猴子”。因为采用了链表方法这个过程只需要关注p指针的next指向即可。 a、 保存初始的“猴子”圆圈参数。 /* 保存节点总数 */​total n;printf(\nthe out num:);q head; 为什么要保留这个呢?首先要控制猴子数目所以保留了全部的数目。其次用q(qurry)来保留剔除猴子前面的链表并连接剔除猴子后的链表。这样完成了循环链表的元素删除。 b、 猴子查数。 猴子查数是整个程序的关键需要完成以下任务a、找到开始的“猴子”数;b、删除该“猴子”;c、将删除掉的循环链表首尾连接起来。 /* 只剩一个节点时停止循环 */while (total ! 1){/* 报数过程p指向要删除的节点 */for (i 1; i m; i){p p-next;}/* 打印要删除的节点序号 */printf([%d] , p-data);/* q 指向 p 节点的前驱 */while (q-next ! p){q q-next;}/* 删除 p 节点 */q-next p-next;/* 保存被删除节点指针 */s p;/* p 指向被删除节点的后继 */p p-next;/* 释放被删除的节点 */free(s);/* 节点个数减一 */total--;}/* 打印最后剩下的节点序号 */printf(\n\nthe last num:[%d] \n\n, p-data);free(p);} 通过以上数据运算可以完成相应链表元素的删除这或许就是C语言程序的魅力所在。 使用C语言的指针 比如本程序的链表指针的定义psq。 linklist *head, *p, *s, *q; 我们知道指针操作不但可以减少数据操作需要的内存还可以提高程序的运行速度。 指针的优势或许在本程序中表现的不明显在大量数据和对操作速度要求比较敏感的情况下会很明显比如Linux内核中就会有很好的体现。
http://www.zqtcl.cn/news/970610/

相关文章:

  • 做一个中型网站需要多少钱网站建设的费用是不是含税的
  • 网站上的广告是怎么做的连云港 网站 建设
  • 济南做网站的好公司有哪些怎么做自己的app软件
  • 淄博网站建设团队企业门户网站有哪些
  • 东莞网站建设 织梦建设茶叶网站的目的
  • 做网站的背景图片要多大做房产网站
  • 洛阳做网站公司在哪无锡网络营销推广软件
  • 医疗机械网站怎么做无锡短视频seo
  • 做网站建设哪家公司好如何营销推广
  • 陕西百威建设监理有限司网站做吉祥物设计看什么网站
  • 网络营销站点推广的方法高端网站开发价格
  • 内部优惠券网站怎么做最新国际新闻事件今天
  • 辽宁大学网站怎么做app开发用什么编程语言
  • 3d建模在线制作网站阿里云域名注册官网
  • 创建网站大约多少钱网站建设排序题
  • 大庆做网站找谁机构编制网站建设
  • 网站标题特效网站弹出的对话框怎么做
  • 找深圳网站建设wordpress 页面背景
  • 企业网站怎么维护上海注册建网站
  • 四川省建设工程造价信息网站便宜做网站价格
  • 医院网站优化策划网站开发的项目需求
  • 网站优化公司服务直播软件怎么开发
  • 网站建设 有道翻译织梦修改网站后备份
  • 苏州网联盛网站建设做最好的在线看片网站
  • 一个空间怎么放2个网站陕西城乡住房建设部网站
  • 如何购买虚拟主机做网站企业查名
  • 动易网站默认密码网站怎么做 吸引人
  • 站长工具国产2023二级建造师证书查询官方网站
  • 微信小程序联盟网站北京网站建设华大
  • 人事怎么做招聘网站比对分析crm管理系统 一般包含