字串基本概念
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.字串以\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.最后一個元素的值是’\0’,是字串的技術標志,輸入時系統自動加入,輸出時不顯示,
字串操作
- 字串定義
在普通的字符陣列后面加一個\0就成了字串
char buff[]="我是一個字串";
char a[]="123456789";
char b[]="abcdefg";
char c[]={'a','b','c','\0'};
- 字串大小寫轉換
函式執行的功能就是將你輸入的字串全部轉換成小寫和全部轉換成大寫
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
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++;
}
}

- 字串洗掉
從鍵盤上錄入一個字串,洗掉字串里指定的單詞,輸出結果,
比如:原字串”abcdef123abcdef123abcdef123”
洗掉單詞:“123”
輸出的結果:”abcdefabcdefabcdef”
#include <stdio.h>
#include <string.h>
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 <stdio.h>
#include <string.h>
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<str2_len;i++)
{
str1[i+addr]=str2[i];
}
str1[str1_len+str2_len]='\0';
/*3. 輸出資料*/
printf("str1=%s\n",str1);
return 0;
}

送書福利
最近幾年Vue越來越火熱,BAT等互聯網大廠都在前端職位招聘中加入了精通Vue.js框架的要求,就連餓了么公司的技術團隊也專門為Vue.js設計了UI框架體系,本書的實操案例都是筆者獨立完成的實際專案,有著對標市場實際需求的參考價值,同時本書提供的框架模式可以讓讀者應用于其他專案,從而提高開發效率,減少開發彎路,
我自己也購買了這本書,感覺很不錯的

本書從Vue.js框架技術的基礎概念出發,逐步深入Vue.js進階實戰,并在最后配合一個網站專案和一個后臺系統開發實戰案例,重點介紹了使用Vue.js+axios+ElementUI+wangEditor進行前端開發和使用組件進行Vue單頁面網頁復用,讓讀者不但可以系統地學習Vue.js前端開發框架的相關知識,而且還能對業務邏輯的分析思路、實際應用開發有更為深入的理解,
沒中獎的小伙伴,大家可以自行購買:
京東自營購買鏈接
https://item.jd.com/13504160.html
當當自營購買鏈接
http://product.dangdang.com/29317605.html
注意事項:
1.抽獎方式:評論點贊量最高的(快讓你小伙伴來點贊吧)
2.開獎時間:2022.1.7,本周五
3.中獎前,記得添加微信:Kcyu68,大家一定要關注開獎時間,記得領獎
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/404136.html
標籤:其他
上一篇:win10 如何做到 C盤 的絕對干凈,所有軟體都安裝到D盤,C盤只用來存作業系統。
下一篇:Git分布式版本控制工具
