学习C语言的第十三天06.29

学习C语言的第十三天06.29
0基础学习C语言今天是学习C语言的第十三天今天我学到了判定字符是否为大小写小写转大写计算字符长度strcpy 拷贝strcat 拷贝拼接strncpy 从头拷贝一定个数strncat 从头拷贝拼接一定个数strcmp 比较两个字符串的大小自定义strcmp逻辑我的编程#define_CRT_SECURE_NO_WARNINGS#includestdio.h#includectype.h#includestring.hintmain(){//判定字符是否为大小写charcha;intretislower(ch);if(ret!0){printf(该数为小写字母\n);}else{printf(该数不是小写字母\n);}//小写转大写chararr[]i like you;//首先先写一个语句char*parr;//想要改变这个整体需要定义一个指针while(*p!\0)//循环条件还为遇到\0之前一直循环{charadd*p;//指针不能直接使用且不在while的函数体里所以需要定义if(islower(add))//判定add里的首个字符是否为小写是则进行下一步{addadd-32;//小写与大写的ASCLL值差32所以减去32会变大写}putchar(add);//如果是小写则进行上面那一步后打印如果不是小写则直接打印p;//首个检测完以后继续1进行下一个指导遇到\0}return0;}unsignedintqiu(constchar*arr)//无符号 整形{if(arr0)//如果arr为空则返回0{return0;}unsignedintsum0;//无符号 整形 sum初始值为0while(*arr!\0)//表示识别arr里的元素还还没有遇到\0时继续循环{sum;arr;}returnsum;}intmain(){constchar*arrabcdef;printf(%d\n,qiu(arr));charrr[]abcde;intlensizeof(rr)/sizeof(rr[0]);//双引号包裹的字符串 abcde编译器会自动在最后追加一个看不见的结束字符 \0printf(%d\n,len-1);//a b c d e \0一共6个元素return0;}intmain(){//strcpy 拷贝chararr[]hello;char*parr;strcpy(p,i like you lucky);//把右边的拷贝覆盖到左边printf(%s\n,arr);//strcat 拷贝拼接charadd[20]{0};constchar*strabcdef;char*p1strcat(add,str);//把右边的拷贝拼接到左边printf(arr%s\n,add);printf(p1%s\n,p1);//strncpy 从头拷贝一定个数charbbb[10]{0};constchar*cccabcdef;char*p2strncpy(bbb,ccc,4);//把右边的拷贝一定数量到左边printf(bbb%s\n,bbb);printf(p2%s\n,p2);//strncat 从头拷贝拼接一定个数charddd[30]i like you ;charhhh[]lucky;char*p3strncat(ddd,hhh,5);//把右边的拷贝一定数量拼接到左边printf(ddd%s\n,ddd);printf(ddd%s\n,strncat(ddd,hhh,3));return0;}intmain(){//strcmp 比较两个字符串的大小charkkk[]abcdef;charlll[]abcde;intretstrcmp(kkk,lll);printf(%d\n,ret);if(ret0){printf(kkklll);}elseif(ret0){printf(kkklll);}else{printf(kkklll);}return0;}//自定义strcmp逻辑intbijiao(charkkk[],charlll[]){if(kkkNULLlll!NULL){return-1;}if(kkk!NULLlllNULL){return1;}if(kkkNULLlllNULL){return0;}while(*kkk*lll){if(*kkk\0){return0;}kkk;lll;}return*kkk-*lll;}intmain(){charkkk[]abcdef;charlll[]abcde;printf(%d\n,bijiao(kkk,lll));return0;}我的学习笔记