輕松學習字符串

      網友投稿 702 2022-05-28

      字符串基本概念

      1.字符串是由若干字符組成的序列。

      例如:“love”,“strong”,“1397095”,"%d\n"等,都是合法的字符串。

      2.用雙引號引起來的就是字符串,字符串由字符組成

      3.字符串使用%s格式化輸出

      # include"stdio.h" # include"string.h" main() { char str[11],str1[100]; char str2[]={"and strong"}; scanf ("%s",str); printf ("%s\n",str); gets (str1); //gets也可以輸入一個字符串 puts (str1); //puts可以輸出一個字符串 printf ("%s\n",strcat(str1,str2)); //strcat(字符數組1,字符數組2),strcat函數連接 //兩個字符數組中的子符串,字符串2鏈接到字符串1后面,結果放在字符數組1中。 strcpy(str,str1); //字符串拷貝函數strcpy puts(str); printf ("%d\n",strcmp(str1,str2));//字符串比較函數strcmp printf ("%d\n",strcmp(str2,str1)); printf ("%d\n",strlen(str1));// strlen求字符串長度 printf ("%d\n",strupr(str1));// strlwr字符串轉成大寫 strncpy(str1,str2,4);//復制字符串2中前面4個字符到數組1中, //取代str1中前4個字符。 puts(str); }

      4.字符串以

      4.字符串以\0結尾,沒有\0就不是字符串

      結尾,沒有

      4.字符串以\0結尾,沒有\0就不是字符串

      就不是字符串

      5.只要是用雙引號括起來的都是字符串

      6.字符串的本質就是數組,一個一維數組對應一個字符串。

      例如:

      main() { char str[11]= "Prosperous"; printf("%s\n",str); }

      7.在C語言中,字符串由一個結束標志,即ASCII碼為0的字符(空白符)。C語言在處理字符串時從指定位置開始遇到的一個空白符為止。因此,字符數組作為字符串處理時,字符數組在大小上一定要比字符串的長度最少多1。上例中"Prosperous"有10個字符,定義str時長度為11,比10多了1個。其值如下:

      8.最后一個元素的值是’

      8.最后一個元素的值是’\0’,是字符串的技術標志。輸入時系統自動加入,輸出時不顯示。

      ’,是字符串的技術標志。輸入時系統自動加入,輸出時不顯示。

      字符串操作

      字符串定義

      在普通的字符數組后面加一個

      在普通的字符數組后面加一個\0就成了字符串

      就成了字符串

      char buff[]="我是一個字符串"; char a[]="123456789"; char b[]="abcdefg"; char c[]={'a','b','c','

      char buff[]="我是一個字符串"; char a[]="123456789"; char b[]="abcdefg"; char c[]={'a','b','c','\0'};

      '};

      字符串大小寫轉換

      函數執行的功能就是將你輸入的字符串全部轉換成小寫和全部轉換成大寫

      輕松學習字符串

      #include #include #include void func(char *str,int flag); int main() { char buff[100]; printf("從鍵盤上輸入字符串:"); scanf("%s",buff); printf("源字符串:%s\n",buff); func(buff,0); printf("大寫轉換小寫:%s\n",buff); func(buff,1); printf("小寫轉大寫:%s\n",buff); return 0; } //函數功能: 大寫小寫轉換 //flag=0表示大寫轉換小寫 =1表示小寫轉大寫 void func(char *str,int flag) { int data; while(*str!='

      #include #include #include void func(char *str,int flag); int main() { char buff[100]; printf("從鍵盤上輸入字符串:"); scanf("%s",buff); printf("源字符串:%s\n",buff); func(buff,0); printf("大寫轉換小寫:%s\n",buff); func(buff,1); printf("小寫轉大寫:%s\n",buff); return 0; } //函數功能: 大寫小寫轉換 //flag=0表示大寫轉換小寫 =1表示小寫轉大寫 void func(char *str,int flag) { int data; while(*str!='\0') { if(flag) { if(*str>='a'&& *str<='z') //小寫 { *str=*str-32; } } else { if(*str>='A'&& *str<='Z') //小寫 { *str=*str+32; } } str++; } }

      ') { if(flag) { if(*str>='a'&& *str<='z') //小寫 { *str=*str-32; } } else { if(*str>='A'&& *str<='Z') //小寫 { *str=*str+32; } } str++; } }

      字符串刪除

      從鍵盤上錄入一個字符串,刪除字符串里指定的單詞,輸出結果。

      比如:原字符串 ”abcdef123abcdef123abcdef123”

      刪除單詞:“123”

      輸出的結果:”abcdefabcdefabcdef”

      #include #include int main() { char str1[100]; char str2[100]; int i=0,j=0; int str2_len=0; /*1. 錄入數據*/ printf("輸入源字符串:"); scanf("%s",str1); printf("輸入要刪除的字符串:"); scanf("%s",str2); /*2. 計算要刪除字符串的長度*/ str2_len=strlen(str2); /*3. 查找字符串*/ for(i=0;str1[i]!='\0';i++) { //比較字符串 for(j=0;str2[j]!='\0';j++) { if(str1[i+j]!=str2[j])break; } if(str2[j]=='\0') { //4. 刪除字符串---后面向前面覆蓋 for(j=i;str1[j]!='\0';j++) { str1[j]=str1[j+str2_len]; } str1[j]='\0'; i--; } } //5. 輸出結果 printf("str1=%s\n",str1); return 0; }

      字符串插入

      從鍵盤上錄入一個字符串,從指定位置插入一個字符串,再輸出結果。

      比如:原字符串“123456789”

      從指定位置插入新的單詞。 比如從第5個下標插入一個“abc”字符串。

      結果: “123abc456789”

      #include #include int main() { char str1[100]; char str2[100]; int addr=0; int str1_len; int str2_len; int i; /*1. 錄入數據*/ printf("錄入源字符串:"); scanf("%s",str1); printf("錄入要插入的字符串:"); scanf("%s",str2); printf("輸入要插入的下標位置:"); scanf("%d",&addr); str1_len=strlen(str1); //3 str2_len=strlen(str2); //2 /*2. 完成插入*/ //完成數據移動 for(i=str1_len-1;i>=addr;i--) { str1[i+str2_len]=str1[i]; } //數據替換 for(i=0;i

      數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Oracle一鍵安裝腳本ReadMe文檔
      下一篇:《計算機視覺算法:基于OpenCV的計算機應用開發》 —2.10 習題
      相關文章
      亚洲偷自精品三十六区| avtt亚洲天堂| 国产亚洲色婷婷久久99精品91| 亚洲精品无码久久久久A片苍井空| 伊人久久亚洲综合影院首页| 亚洲精品白色在线发布| 亚洲午夜福利717| 久久影院亚洲一区| 亚洲一区二区三区无码影院| 亚洲成人影院在线观看| 亚洲aⅴ无码专区在线观看| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲人av高清无码| 亚洲国产欧美日韩精品一区二区三区| 在线a亚洲老鸭窝天堂av高清| 亚洲中文精品久久久久久不卡| 亚洲综合av一区二区三区| 亚洲日本在线电影| 亚洲风情亚Aⅴ在线发布| 亚洲av日韩精品久久久久久a| 色天使亚洲综合一区二区| 夜色阁亚洲一区二区三区| 亚洲精品无码久久久| 亚洲第一第二第三第四第五第六| 亚洲av无码专区在线电影| 国产亚洲精品欧洲在线观看| 亚洲国产天堂久久综合| 国产亚洲精品影视在线产品| 亚洲日韩精品无码专区网址| 久久夜色精品国产嚕嚕亚洲av| 亚洲成a人片在线观看中文动漫| 亚洲人成网址在线观看| 亚洲欧洲精品在线| 色天使亚洲综合在线观看| 色偷偷噜噜噜亚洲男人| 亚洲乱亚洲乱少妇无码| 亚洲精品午夜无码电影网| 久久亚洲精品中文字幕| 亚洲va在线va天堂va手机| 亚洲av日韩专区在线观看| 狠狠亚洲狠狠欧洲2019|