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

企业管理网站系统广州市信息技术职业学校

企业管理网站系统,广州市信息技术职业学校,能打开各种网站的浏览器app,如何用自家电脑做网站服务器在C语言中#xff0c;有一种特殊的数据类型#xff0c;即字符串类型。C 并没有专门定义一个字符串类型#xff0c;这对我们使用字符串造成了一定的麻烦。但是#xff0c;C标准库string.h 中定义了各种字符串函数#xff0c;这对于我们来说是一件值得庆幸的事情。…        在C语言中有一种特殊的数据类型即字符串类型。C  并没有专门定义一个字符串类型这对我们使用字符串造成了一定的麻烦。但是C标准库string.h 中定义了各种字符串函数这对于我们来说是一件值得庆幸的事情。 本片着重讲解一些常用的字符串函数以及它们的实现方法思路并尝试自己独自模拟实现它们以便于对字符串操作有更深的理解。 字符串简介  C语言中的字符串类型是以字符数组的形式表示的即用一组字符数组来表示一个字符串例如 char str[10] hello; // 定义一个长度为10的字符数组初始化为hello其中char表示字符类型str表示字符数组的名称10表示字符数组的长度hello表示初始值。 C语言中的字符串还可以使用字符串指针来表示例如 char *str hello; // 定义一个指向字符数组的指针指向hello其中char *表示字符指针类型str表示指针变量的名称hello表示字符串常量也就是一段字符数组的初始值。注意使用字符串指针表示字符串时需要保证指针指向的字符串常量是合法的并且不能修改它的值否则会发生未定义的行为。 头文件string .h  string.h是C语言标准库中的一个头文件提供了一些字符串处理相关的函数和宏。 统一说明 统一说明         养成良好的代码习惯         1.在实现字符串操作的时候如果不希望字符串被改变在函数形参前加上const提高代码的健壮性。         2.使用指针前判断将要解引用的指针是否是空指针assert进行断言。   对于每一个函数使用的注意事项放在每个函数模拟实现的末尾  strlen 作用 返回字符串中  ‘\0‘  之前的所有字符数。 函数原型 函数参数  str是存放要操作的字符串的地址的指针 返回值类型 size_t表示无符号整型的理解由实际意义返回的字符数不会是负数并且看到 size_t的size就可以知道此类型是表示大小尺寸的类型。  模拟实现 法一计数变量法 #includestdio.hint my_strlen(char*p) {int c 0;while(*p){c;p;}return c; } int main() {char arr[] ahufkh;printf(%d,my_strlen(arr));return 0; }法二 指针相减法 #includestdio.hint my_strlen(char* p) {char* start p;while(*p){p;}return p - start; } int main() {char arr[] ahufkh;printf(%d,my_strlen(arr));return 0; } 对size_t的补充         易错点                对于无符号整数运算结果小于0由于不存在符号位所以结果会被当做很大的整数。         e.g.1 #typedef unsigned int uint int main() {uint a 3;uint b 6;uint c a - b;//此时c是很大的整数}         结果为负值c被当作很大的整数。   strcpy 作用 将源字符串拷贝到目的地字符串。 函数原型 函数参数 1.char* dest即目的地字符串const char* sou 即源字符串。 返回值类型 返回拷贝后目的地字符串的地址。 模拟实现 #includestdio.h #includeassert.h char* my_strcpy(char* dest,const char* sou) {char* s dest;assert(dest sou);while(*dest *sou){;}return s; } int main() {char arr1[] abcdefghijk;char arr2[] iii;char* s my_strcpy(arr1,arr2);printf(%s,s);return 0; } 记得const与assert断言 注意 1.sou字符串必须有  ’\0‘  作为结尾。 2.dest字符串必须足够大防止越界并且可修改不是常量字符串。 strcat 作用 将源字符串拷贝到目的地字符串中并且源字符串的的一个字符覆盖掉目的地字符串中的  ’\0‘  。 函数原型 函数参数 1.const 修饰的源字符串和目标字符串。 返回值类型 copy后的目标字符串的地址。 模拟实现 #includestdio.h #includeassert.h char* my_strcat(char* dest,const char* sou) {char* start dest;assert(dest sou);while(*dest){dest;}while(*dest *sou){;}return start; } int main() {char arr[50] abc;char arr1[] defg;char* p my_strcat(arr,arr1);printf(%s,p);return 0; } 注意         1.cou与dest字符串必有  \0  作为结束标志。         2.目标字符串必须足够大。         3.strcat的两个函数参数不能相同。一个字符串对自己追加那么一开始自己的结束表示就被覆盖了这样将造成死循环。 strcmp 作用 比较两个字符串的大小 函数原型 函数参数 两个const 修饰的字符串 返回值类型 整型数值—— if第一个第二个返回值0; if第一个第二个返回值0 if第一个第二个返回值0。 模拟实现 #includestdio.h #includeassert.h int my_strcmp(const char* str1,const char* str2) {while(*str1 *str2){if(*str1 \0){return 0;}str1;str2;}return str1 -str2; } int main() {char arr1[] abcde;char arr2[] abb;int ret my_strcmp(arr1,arr2);if(ret 0){printf(arr1 arr2);}else if(ret 0){printf(arr1 arr2);}else{printf(arr1 arr2);}return 0; } strstr 作用 返回str2在str1中第一次出现的位置若找不到则返回NULL字符串的比较匹配不包含  \0  ,但是以  \0   为结束标志。 函数原型 函数参数 查找的样本字符串和被查找的目标字符串。 返回值类型 str1中str2第一次出现的位置。 模拟实现 #includestdio.h #includeassert.h char* my_strstr(const char* p1,const char* p2) {assert(p1 p2);const char* cur p1;const char* s1 NULL;const char* s2 NULL;while(*cur){s1 cur;s2 p2;while(*s1 *s2 s1 s2){s1;s2;}if(*s2 \0){return (char*)cur;}cur;}return NULL; } int main() {char arr1[] abbbbbcdefg;char arr2[] bbc;char* p my_strstr(arr1,arr2);printf(%s,p);return 0; } 思路         对于停下来的情况有         1.s1找到\0的同时s2也找到\0则找到若s2没有到\0,则没有找到         2.s2到\0,找到。         3.*s1 ! *s2         于是对s1中的每一个位置向后匹配s2的字符如果有一个匹配失败则从s1的下一个位置开始匹配。 完~ 未经作者同意禁止转载
http://www.hkea.cn/news/14380303/

相关文章:

  • 营销型网站策划设计网站建设与管理技术实训教程pdf
  • 做企业网站代码那种好商业网站建设案例课程
  • 网站seo推广优化报价表重庆茶叶网站建设
  • 化工企业建网站app下载量统计查询
  • 网站上如何做天气插件不锈钢公司网站源码 网站建设 产品3级分类asp源码
  • 网站设计开发收费标准中国网站排名网
  • 网站可以做315认证吗自己做网站在线看pdf
  • 南皮县网站建设价格wordpress 文章 页面
  • 网站设计公司如何做好网站建设wordpress 获取相册图片
  • 怎样提高网站知名度wordpress简单主题
  • 上海企业网站模板建站平台wordpress escattr
  • php网站建设制作服务建设一个门户网站需要多少钱
  • 网站开发项目范围说明书意义如何做网络推广人员
  • 嘉兴网站建设解决方案网站移动字幕要怎么做
  • 万网网站域名品牌策划书案例
  • 网站做语言切换网站备案 空间
  • 做内贸只要有什么网络推广网站代理公司网站备案
  • 门户网站建设投资优秀电子商务网站
  • 1核做网站app下载量推广
  • 网站主机购买国家企业信息公示网查询官网
  • 搭建免费个人网站2022公司响应式网站
  • 做网页的it网站域名查询网
  • 建站宝盒建网站百度客户端电脑版下载
  • wordpress邀请码计数win优化大师有用吗
  • 黄平网站建设wordpress小说网自动采集
  • 莞城营销型网站建设广西柳州网站建设推荐
  • c2c网站的功能国内产品网站建设
  • php可以做网站什么网站可以做私房菜外卖
  • 山东网站建设方案制作上海芯片设计公司排名
  • 良乡网站建设专业站