成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

c語(yǔ)言字符數(shù)組和字符串函數(shù)你學(xué)會(huì)了沒(méi)?-創(chuàng)新互聯(lián)

先來(lái)學(xué)習(xí)字符數(shù)組

鄠邑網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

定義

char 數(shù)組名[元素個(gè)數(shù)]

例子

char ch[5];

在內(nèi)存中的表現(xiàn)形式

可以看出定義了但是里面的值是不確定的

現(xiàn)在進(jìn)行初始化

char ch[5]={'h','e','l','l','o'};

此時(shí)內(nèi)存顯示為

如果我們定義了一個(gè)數(shù)組為char [7],但是不完全初初始化,則后面補(bǔ)\0

char sh[7]=['h','e','l','l','o']

此時(shí)在內(nèi)存中表現(xiàn)為

接下來(lái)看字符數(shù)組的輸入和輸出

輸入

char ch[10] = "hello";
int i;
for (i = 0; i< 10; i++)
{
	sncaf("%s", &ch[i]); //也可以使用ch[i]=getchar();
}

輸出

char ch[10];
int i;
for (i = 0; i< 10; i++)
{
	printf("%c", ch[i]);
}

舉個(gè)例子練習(xí):輸入一串字符全部全換為大寫(xiě)

#includeint main()
{
	char ch[20];  //存放字符
	int i;
	for (i = 0; i< 20; i++)   //循環(huán)輸入 字符
	{
		ch[i] = getchar();
		if (ch[i] >= 'a' && ch[i]<= 'z')  //每次輸入一個(gè)字符就進(jìn)行判斷
		{
			ch[i] = ch[i] - 32;   //如果輸入的字符不是小寫(xiě)字符,則改變?yōu)樾?xiě)字符
		}
	}
	for (i = 0; i< 20; i++)
	{
		printf("%c", ch[i]);
	}
	return 0;
}

第二部分:字符串

1.字符串的概念個(gè)初始化

定義一個(gè)字符串

char ch[7]="hello";

等價(jià)于

char ch[7]=['h','e','l','l','o','\0','\0']

字符串在內(nèi)存中的存儲(chǔ)和字符數(shù)組一樣就是結(jié)尾會(huì)有結(jié)束標(biāo)志\0,也可以用看出結(jié)束標(biāo)志在內(nèi)存中是占據(jù)空間的

char ch1[5] = { 'h','e','l','l','o' };  //占據(jù)5個(gè)字節(jié)
char ch2[] = "hello";   //占據(jù)6個(gè)字節(jié)

輸入輸出可以用

gets(ch);
scanf("%s", ch);
printf("%s", ch);
puts(ch)

三個(gè)函數(shù),這里不再贅述

現(xiàn)在來(lái)看字符串的相關(guān)函數(shù)

首先這些函數(shù)包含在string.h頭文件中

1.strcat():將兩個(gè)字符串連接起來(lái)

調(diào)用格式

strcat(字符數(shù)組,字符串);

例子

char ch1[10] = "hello";
char ch2[10] = "world";
strcat(ch1, ch2);
printf("%s", ch2); //helloworld

使用這個(gè)函數(shù)時(shí),后面一個(gè)字符數(shù)組的首元素會(huì)覆蓋前一個(gè)的結(jié)束標(biāo)識(shí)符,前一個(gè)字符數(shù)組要足夠大,不然會(huì)出現(xiàn)越界問(wèn)題報(bào)錯(cuò),所以前一個(gè)字符必須先定義初始化后再使用,后面一個(gè)可以是一個(gè)字符數(shù)組,也可以是一個(gè)字符串常量

不用scrcat()函數(shù)實(shí)現(xiàn)兩個(gè)字符粗的連接

char str1[20] = "hello";
	char str2[20] = " world"; 
	int i, j,k;
	for (i = 0; str1[i] != '\0'; i++);
	for (j = 0; str2[j] != '\0'; j++);
	for (k = 0; k< j; k++)
	{
		str1[i + k] = str2[k];
	}
	str1[i + k] = 0;
	printf("%s", str1);

2.strncat()再字符串后面追加指定的字符個(gè)數(shù)

strncat(字符數(shù)組,字符串,n);

例如

char str1[10] = "hello";
char str2[10] = "world";
strncat(str1, str2, 2); //輸出為hellowo

如果n大于后面以一個(gè)字符的長(zhǎng)度,則輸入完后面一個(gè)字符數(shù)組的所有字符后補(bǔ)0

不用strncat()函數(shù)實(shí)現(xiàn)該功能

char ch1[10] = "hello";
	char ch2[10] = "world";
	int i, j, k, n;
	scanf("%d", &n);  //追加的字符個(gè)數(shù)
	//判斷兩個(gè)字符數(shù)組的長(zhǎng)度
	for (i = 0; ch1[i] != '\0'; i++);
	for (j = 0; ch2[j] != '\0'; j++);
	//將ch2[]數(shù)組中前n個(gè)字符追加到ch1中
	for (k = 0; k< n; k++)
	{
		ch1[i + k] = ch2[k];
	}
	//添加結(jié)束標(biāo)識(shí)符
	if (n >= j)
	{
		ch1[i + j] = 0;
	}
	else
	{
		ch1[i + k] = 0;
	}

3.strcpy()函數(shù)

將字符粗復(fù)制到另一個(gè)字符數(shù)組中字符數(shù)組中原有的內(nèi)容會(huì)被覆蓋

strcpy(字符數(shù)組,字符串)

用別的方式實(shí)現(xiàn)的代碼為

char str1[20] = "hello";
char str2[20] = "world";
int i, j, k;
for (i = 0; str2[i] != '\0'; i++)
{
	str1[i] = str2[i];
}
str[i] = 0;

4.strncpy()函數(shù):將字符串前n個(gè)字符復(fù)制到字符數(shù)組中

strncpy(字符數(shù)組,字符串,n)

char str1[20] = "hello";
char str2[20] = "world";
strncpy(str1, str2, 2); 
str1[3] = 0;

使用別的方式實(shí)現(xiàn)代碼

char str1[20] = "hello";
char str2[20] = "world";
int n, i;
scanf("%d", &n);
for (i = 0; i< n; i++)
{
	str1[i] = str2[i];
}
str1[i] = 0;

5.strcmp()函數(shù):實(shí)現(xiàn)對(duì)兩個(gè)字符串進(jìn)行比較,a>b返回正,小于返回負(fù)數(shù),等于返回0

strcmp(字符串1,字符串2)

實(shí)現(xiàn)原理

char str1[20] = "hello";
char str2[20] = "world";
int n, i;
gets(str1); gets(str2);
while (str1[i] != 0 || str2[i] != 0)
{
	if (str1[i] == str2[i])
		continue;
	else
	{
		if (str1[i] >str2[i])
			printf("1");
		    break;
		else
		{
			printf("-1");
			break;
		}
	}
	i++;
}

6.strlen():求字符串實(shí)際長(zhǎng)度包含\0

strlen(字符串)

7.strlwer():將字符串中的大小字符轉(zhuǎn)換為小寫(xiě)字母

strlwer(字符串)

8.struper():將字符串中的小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前標(biāo)題:c語(yǔ)言字符數(shù)組和字符串函數(shù)你學(xué)會(huì)了沒(méi)?-創(chuàng)新互聯(lián)
本文地址:http://jinyejixie.com/article14/deccge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、自適應(yīng)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)電子商務(wù)、建站公司、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
苗栗市| 邻水| 承德市| 吴江市| 罗山县| 互助| 竹山县| 云南省| 慈溪市| 东至县| 贡觉县| 贡觉县| 崇州市| 荔波县| 井研县| 南召县| 贡觉县| 德钦县| 兰考县| 政和县| 延寿县| 通化市| 图木舒克市| 灵寿县| 云南省| 五莲县| 石城县| 克什克腾旗| 高雄县| 衡山县| 元江| 乐清市| 蒙山县| 油尖旺区| 乐平市| 新郑市| 武冈市| 义马市| 乐山市| 东源县| 延长县|