热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言指针与字符串练习题库,高难度C语言指针及字符串习题集锦.docx

本题库精选了高难度的C语言指针与字符串练习题,涵盖了复杂的指针操作和字符串处理技巧。特别包括了基于NMEA-0183协议的GPS数据处理题目,旨在帮助读者深入理解和掌握C语言在实际应用中的高级用法。

C语言习题指针与字符串较难.docx

GPS 数据处理 题目内容题目内容 NMEA-0183 协议是为了在不同的 GPS(全球定位系统)导航设备中建立统一的 BTCM(海事无线电技术 委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的 一套通讯协议。GPS 接收机根据 NMEA-0183 协议的标准规范,将位置、速度等信息通过串口传送到 PC 机、PDA 等设备。 NMEA-0183 协议是 GPS 接收机应当遵守的标准协议,也是目前 GPS 接收机上使用最广泛的协议,大多 数常见的 GPS 接收机、GPS 数据处理软件、导航软件都遵守或者至少兼容这个协议。 NMEA-0183 协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有GPGGA、GPGSA、 GPGSV、GPRMC、GPVTG、GPGLL 等。 其中GPRMC 语句的格式如下 GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 这里整条语句是一个文本行,行中以逗号“,”隔开各个字段,每个字段的大小(长度)不一,这里的示例只 是一种可能,并不能认为字段的大小就如上述例句一样。 字段 0 GPRMC, 语句 ID, 表明该语句为 Recommended Minimum Specific GPS/TRANSIT Data (RMC) 推荐最小定位信息 字段 1UTC 时间,hhmmss.sss 格式 字段 2状态,A定位,V未定位 字段 3纬度 ddmm.mmmm,度分格式(前导位数不足则补 0) 字段 4纬度 N(北纬)或 S(南纬) 字段 5经度 dddmm.mmmm,度分格式(前导位数不足则补 0) 字段 6经度 E(东经)或 W(西经) 字段 7速度,节,Knots 字段 8方位角,度 字段 9UTC 日期,DDMMYY 格式 字段 10磁偏角,(000 - 180)度(前导位数不足则补 0) 字段 11磁偏角方向,E东 W西 字段 16校验值 这里,“*”为校验和识别符,其后面的两位数为校验和,代表了“”和“*”之间所有字符(不包括这两个字符) 的异或值的十六进制值。上面这条例句的校验和是十六进制的 50,也就是十进制的 80。 提示运算符的作用是异或。将和*之间所有的字符做运算第一个字符和第二个字符异或,结果再和第 三个字符异或,依此类推之后的值对 65536 取余后的结果,应该和*后面的两个十六进制数字的值相等, 否则的话说明这条语句在传输中发生了错误。注意这个十六进制值中是会出现 A-F 的大写字母的。 现在,你的程序要读入一系列 GPS 输出,其中包含GPRMC,也包含其他语句。在数据的最后,有一行 单独的 END 表示数据的结束。 你的程序要从中找出GPRMC 语句,计算校验和,找出其中校验正确,并且字段 2 表示已定位的语句,从 中计算出时间,换算成北京时间。一次数据中会包含多条GPRMC 语句,以最后一条语句得到的北京时间 作为结果输出。 你的程序一定会读到一条有效的GPRMC 语句。 输入格式输入格式 多条 GPS 语句,每条均以回车换行结束。最后一行是 END 三个大写字母。 输出格式输出格式 6 位数时间,表达为 hhmmss 其中,hh 是两位数的小时,不足两位时前面补 0;mm 是两位数的分钟,不足两位时前面补 0;ss 是两位 数的秒,不足两位时前面补 0。 输入样例输入样例 GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 END 输出样例输出样例 104813 时间限制时间限制500ms 内存限制内存限制32000kb 答案 include include include char *searchStrchar *p 搜索关键字,并返回指针,没找到返回 0 char s“GPRMC“; char *spstrstrp,s; ifsp return sp; return 0; char *getNextPStrchar *p 得到下一个题目要求的字符串,返回指针 char * sp searchStrp; char * pstr p; while1 pstrpstrstrlenpstr1; spsearchStrp; ifspp return sp; return 0; int xtoiint num 16 进制转 10 进制 int a,b,out0; ifnum24 h - 24; outTimeh; printf““; outTimem; printf““; outTimes; return 0;



推荐阅读
  • 基于STM32的智能太阳能路灯设计与华为云IOT集成方案
    基于STM32的智能太阳能路灯设计与华为云IOT集成方案 ... [详细]
  • [Offer收割]编程竞赛第8轮 A 小Ho的完美主义倾向
    题目链接:小Ho的完美主义倾向题目描述:小Ho在一条直线型的街道上漫步。这条街道由若干块长度为L的石板铺设而成,因此每隔L的距离就会出现一道石板间的接缝。小Ho对这些规律排列的接缝产生了浓厚的兴趣,他决定研究如何在这条街道上行走,以满足自己对完美路径的追求。本题要求在给定的约束条件下,计算出小Ho能够实现其目标的所有可能方案数。 ... [详细]
  • 在上篇文章的基础上,本文将继续探讨 Linux 设备驱动中的设备模型与 `devicedriverbus` 机制。在将设备注册到总线之前,需要先创建 `device` 对象。可以通过静态定义 `device` 结构体变量,并调用 `device_register` 函数来完成这一过程。此外,文章还将详细解析设备模型的内部工作机制,以及 `devicedriverbus` 机制如何实现设备与驱动的自动匹配和管理。 ... [详细]
  • 深入解析C语言中的大小端字节序存储机制
    在C语言中,当编译器执行“创建变量”的指令时,会为该变量在内存中分配相应的存储空间。对于整型变量,其值通常以二进制补码形式存储。此外,不同系统采用的大端或小端字节序对数据的实际存储方式有显著影响,理解这些机制有助于开发者更好地控制数据的读写过程。 ... [详细]
  • Android数组截取技巧及JNI数组交互在仓库构建中的应用分析
    在Android开发中,数组截取技巧和JNI数组交互在仓库构建中的应用具有重要意义。JNI提供了两种主要的数组处理方法:一是生成原生层数组的副本,二是直接通过数组指针进行操作。在进行字符串处理时,如果需要执行其他复杂操作,可以结合这两种方法以提高效率和灵活性。此外,合理利用这些技术可以显著提升应用程序的性能和稳定性。 ... [详细]
  • 综合实训 201521440015
    Chinesepeople’publicsecurityuniversity网络对抗技术实验报告实验五综合渗透学生姓名常泽远年级15区队4指导教师高见信息技术与网络安全学院2018 ... [详细]
  • C/C++利用栈和队列实现停车场管理系统【C++教程】
    数据结构的课程设计一般都不是很好理解,今天小编为大家总结了一下c和c++版本的常见栈和队列的的停车场管理程序,需要 ... [详细]
  • CatchThatCowTimeLimit:50002000MS(JavaOthers)MemoryLimit:3276832768K(JavaOt ... [详细]
  • 运用雅可比迭代法与高斯-赛德尔迭代法解线性方程组的比较分析
    本文对比分析了雅可比迭代法和高斯-赛德尔迭代法在求解线性方程组中的应用效果。通过详细的算法介绍和C语言实现,展示了两种方法的具体步骤和计算过程。实验结果表明,高斯-赛德尔迭代法在收敛速度和计算效率上优于雅可比迭代法,但在某些特定条件下,雅可比迭代法仍具有一定的优势。此外,文章还探讨了不同初始值和矩阵特性对迭代法性能的影响,为实际应用提供了有价值的参考。 ... [详细]
  • 微软发布紧急安全更新,所有Windows 10版本均面临影响!
    微软于周五紧急发布了两项安全更新,旨在解决Windows 10所有版本中Windows Codecs库和Visual Studio Code应用存在的安全隐患。此次更新是继本周初发布的月度例行安全补丁之外的额外措施,凸显了这些问题的紧迫性和重要性。这些漏洞可能被攻击者利用,导致系统权限提升或远程代码执行等严重后果。建议用户尽快安装更新,以确保系统的安全性。 ... [详细]
  • 如何在DataGridView中实现带有图标的单元格显示
    本文详细探讨了在C# WinForms应用程序中,如何通过DataGridView控件实现带有图标的单元格显示。文章不仅提供了具体的实现方法,还深入解析了相关技术细节,对于希望提升用户界面交互体验的开发者而言,具有很高的参考价值。 ... [详细]
  • 利用Jenkins与SonarQube集成实现高效代码质量检测与优化
    本文探讨了通过在 Jenkins 多分支流水线中集成 SonarQube,实现高效且自动化的代码质量检测与优化方法。该方案不仅提高了开发团队的代码审查效率,还确保了软件项目的持续高质量交付。 ... [详细]
  • 7.2 利用关系运算符与表达式进行数值对比分析
    在C语言中,关系运算符和表达式是进行数值对比分析的基础工具。本节详细介绍了真值的概念及其在编程中的应用,包括布尔类型(_Bool)的引入,以及关系运算符的优先级。通过具体示例,展示了如何在 `while` 循环中使用关系表达式来控制程序流程。这些内容对于理解和编写高效的条件判断逻辑至关重要。 ... [详细]
  • HDU 2067 动态规划与卡特兰数的应用分析
    题目描述:小兔的叔叔从外地旅行归来,给她带回了一份礼物。小兔兴奋地回到自己的房间,迫不及待地拆开礼物,发现是一副棋盘,虽然有些失望,但很快她便对这个新奇的物品产生了浓厚的兴趣。本文将通过动态规划和卡特兰数的应用,详细分析该问题的求解方法,并探讨其背后的数学原理。 ... [详细]
  • Oracle程序包基础入门:了解核心概念与基本结构
    本文旨在为初学者介绍 Oracle 程序包的基础知识,涵盖其核心概念和基本结构。通过详细解析程序包的组成元素,如过程、函数和变量,帮助读者理解如何在实际应用中有效使用 Oracle 程序包。此外,文章还提供了实例代码,以便读者更好地掌握这些关键概念。 ... [详细]
author-avatar
Mr---Nic
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有