真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

(史上最細(xì))C語言快速入門寶典(二)-創(chuàng)新互聯(lián)

??? ???🔥🔥 歡迎來到小林的博客!!
??????🛰?博客主頁:??小林愛敲代碼
??????🛰?專欄:??C語言快速入門
??????🛰?歡迎關(guān)注:👍點贊🙌收藏??留言
在這里插入圖片描述

??????今天給大家分享C語言中字符串,轉(zhuǎn)義字符,和選擇語句這一塊內(nèi)容,讓大家在學(xué)習(xí)的路上更加輕松。感謝大家對我的支持,祝大家學(xué)業(yè)有成,事業(yè)有成 !


??
??????每日一句: 只有不斷的努力,才能成為夢想中的自己!

公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站、微信公眾號開發(fā)、商城網(wǎng)站制作,成都小程序開發(fā),軟件按需規(guī)劃網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)建站更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

大綱:

在這里插入圖片描述

目錄
  • 💖4. 字符串、轉(zhuǎn)義字符
    • 💖4.2 字符串定義
    • 💖4.2 字符串長度
    • 💖4.3 字符串大小
    • 💖4.4 轉(zhuǎn)義字符
  • 🏀5.選擇語句
    • 🏀5.2 if單分支
    • 🏀5.2 if雙分支
    • 🏀5.3 if多分支
    • 🏀5.4 switch分支
  • 結(jié)言🥳:

💖4. 字符串、轉(zhuǎn)義字符

"abcdefg"這種由雙引號(Double Quote)引起來的一串字符稱為字符串字面(String Literal),或者簡稱字符串字符串的結(jié)束標(biāo)志是一個 \0 的轉(zhuǎn)義字符。在計算字符串長度的時候 \0 是結(jié)束標(biāo)志,不算作字符串內(nèi)容。

💖4.2 字符串定義

"char a[] = "abcde"這種方法,末尾會自動追加\0
"char a[] = {'a','b','c','d','e','\0'}這種方法,需要手動追加\0,否則字符串會沒有結(jié)束標(biāo)志。
"char a[20] = {'a','b','c','d','e'}這種方法,定義了長度為20,那么后面長度不足部分會自動補(bǔ)\0,所以也是可以的。

接下來我們試一下

#includeint main()
{char a[] = "abcde";
	char b[] = {'a','b','c','d','e','\0' };
	char c[20] = {'a','b','c','d','e' };

	printf("a = %s\n", a);
	printf("b = %s\n", b);
	printf("c = %s\n", c);

	return 0;
}

在這里插入圖片描述

這些都是可以的,但是如果在沒有限制的長度的情況下,b是一定要加\0的,否則字符串沒有結(jié)束標(biāo)志,會非法訪問后面的內(nèi)容。
在這里插入圖片描述
字符串沒有結(jié)束標(biāo)志,就會訪問隨即內(nèi)容。

💖4.2 字符串長度

字符串長度是從第一個字符開始,到\0停止,不包括\0。

char a[] = "abcde"; //從a開始,到e后一個\0結(jié)束,長度5
	char b[] = {'a','b','c','d','e','\0'};//從a開始,到\0結(jié)束,不包括\0,長度5
	char c[20] = {'a','b','c','d','e' };//一樣,長度5

有一個strlen函數(shù),可以獲取一個字符串的長度,我們只需要引入string.h庫,即可使用。

#include#includeint main()
{char a[] = "abcde";
	char b[] = {'a','b','c','d','e','\0'};
	char c[20] = {'a','b','c','d','e' };

	printf("lena = %d\n", strlen(a));
	printf("lenb = %d\n", strlen(b));
	printf("lenc = %d\n", strlen(c));


	return 0;
}

在這里插入圖片描述
我們發(fā)現(xiàn)長度都是5,因為后面都有\(zhòng)0作為結(jié)束標(biāo)志,但如果我們把b的\0去掉,那么 b的長度就變成了隨機(jī)值。
在這里插入圖片描述
所以字符串的長度是從第一個字符開始,到\0結(jié)束,其中不包括\0。

💖4.3 字符串大小

字符串的大小就是它開辟了多少空間,那么大小就是多少。如果定義時沒有明確數(shù)組開辟多少空間,那么按數(shù)組元素個數(shù)計算大小。

char a[] = "abcde"; //包括\0 , 6個字節(jié)
	char b[] = {'a','b','c','d','e'}; //5個字節(jié),元素個數(shù)
	char c[20] = {'a','b','c','d','e' };//有明確開辟20個空間大小,20字節(jié)

在這里插入圖片描述
sizeof是一個關(guān)鍵字,會返回變量占用空間的大小。

💖4.4 轉(zhuǎn)義字符
轉(zhuǎn)義字符釋義
\?(不常用)在書寫連續(xù)多個問號時使用,防止他們被解析成三字母詞
\’用于表示字符常量’
\“用于表示一個字符內(nèi)部的雙引號
\\用于表示一個反斜杠,防止它被解釋為一個轉(zhuǎn)義序列符
\a警告字符,蜂鳴
\b退格字符
\f進(jìn)紙符
換行符
\r回車
\t水平制表符
\v垂直制表符
\dddddd表示1~3個八進(jìn)制的數(shù)字。 如: \130 X
\xdddd表示2個十六進(jìn)制數(shù)字。 如: \x30 0

接下來演示幾個轉(zhuǎn)義字符。

#includeint main()
{printf("ABCD\b\n"); //退格+回車,輸出ABC換行
	printf("ABCD\\\n ");// \加換行,輸出ABCD\換行
	printf("%d\n",'\010'); //表示8進(jìn)制的123,輸出8回車
	printf("%d\n", '\x10');//16進(jìn)制的ff,16回車

	return 0;
}

在這里插入圖片描述

注意!所有的轉(zhuǎn)義字符,它都只占一個字節(jié)。因為轉(zhuǎn)義字符歸根結(jié)底還是字符!字符占1個字節(jié)。


🏀5.選擇語句

人無時無刻都在做選擇,程序也需要做選擇。當(dāng)我們期望程序達(dá)到某個條件時,就做出不同的選擇時。我們就需要選擇語句,來控制程序走哪條路。

在這里插入圖片描述

🏀5.2 if單分支

簡單來說,單分支就是你要不要選擇這條路。最終的終點是一樣的,但中間會不會有小插曲,取決于你的選擇。

假如你現(xiàn)在放學(xué)了,你可以直接回家。但你也可以選擇先去網(wǎng)吧,再回家,而去網(wǎng)吧的這個過程就是你中間的選擇。

但是你要去網(wǎng)吧,必須要有個條件,當(dāng)滿足了什么條件時,你才會選擇去網(wǎng)吧。如果此時你身上有超過五塊錢時,先去網(wǎng)吧,再回家。
在這里插入圖片描述
所以我們可以用程序來模擬上面的過程。

#includeint main()
{int money = 6; //你身上的錢
	
	if (money >5) //如果你身上的錢超過5塊
	{//去網(wǎng)吧
		printf("去網(wǎng)吧->");
	}

	//不管如何,你都要回家
	printf("回家");
	return 0;
}

此時我有6塊錢,所以可以去網(wǎng)吧。
在這里插入圖片描述
但如果我們把 money改成小于5呢? 錢不夠了,那就不能去網(wǎng)吧了。只能直接回家了。
在這里插入圖片描述

🏀5.2 if雙分支

那么這時候問題來了,你錢不夠,去不了網(wǎng)吧。又不想馬上回家,必須要買點東西彌補(bǔ)一下去不了網(wǎng)吧的遺憾。這時就可以用雙分支。

在這里插入圖片描述
因為你不想立刻回家,必須做點事情才回家,那么就沒有直接回家這條選項了。

用程序模擬

#includeint main()
{int money = 4; //你身上的錢
	
	if (money >5) //如果你身上的錢超過5塊
	{//去網(wǎng)吧
		printf("去網(wǎng)吧->");
	}
	else //錢不夠,就跳到這來
	{printf("去買棒棒糖->");
	}

	//不管如何,你都要回家
	printf("回家");
	return 0;
}

當(dāng)你只有4塊錢時
在這里插入圖片描述
當(dāng)你有6塊錢時
在這里插入圖片描述

🏀5.3 if多分支

那么這時候你又有要求了。 如果身上的錢超過20塊,就去游泳,如果不超過20塊錢,但是超過10塊錢,就去吃肯德基。如果不超過10塊錢,但是超過5塊錢,就去網(wǎng)吧。五塊錢都沒有,那就只能吃棒棒糖了。最后再回家。
在這里插入圖片描述
那么我們就else if

#includeint main()
{int money = 6; //你身上的錢
	
	if (money >20) //如果你身上的錢超過20塊
	{//去游泳
		printf("去游泳->");
	}
	else if(money >10)//錢不夠20,但是超過10塊
	{printf("去吃肯德基->");
	}
	else if (money >5)//錢不夠10塊,但是超過5塊
	{printf("去網(wǎng)吧->");
	}
	else 
	{printf("去買棒棒糖->"); //五塊錢都沒有
	}

	//不管如何,你都要回家
	printf("回家");
	return 0;
}

21塊錢的結(jié)果
在這里插入圖片描述

11塊錢的結(jié)果
在這里插入圖片描述

6塊錢的結(jié)果
在這里插入圖片描述

4塊錢的結(jié)果
在這里插入圖片描述

🏀5.4 switch分支

switch 分支也是多分支,跟 if else的功能是一樣的。只不過在某種特定情況,用switch分支會比 if else分支更加直觀,更加方便。

假設(shè) 你想制定一個計劃表,從周一到周日。每一天都做不同的事情。這種情況用 if else會顯得很雜亂,代碼可讀性并不是很好。

if else的寫法

#includeint main()
{int weekday = 1; //星期數(shù)

	if (weekday == 1)
	{printf("跑步");
	}
	else if (weekday == 2)
	{printf("爬山");
	}
	else if (weekday == 3)
	{printf("游泳");
	}
	else if (weekday == 4)
	{printf("打游戲");
	}
	else if (weekday == 5)
	{printf("打籃球");
	}
	else if (weekday == 6)
	{printf("踢足球");
	}
	else if (weekday == 7)
	{printf("寫作業(yè)");
	}

	return 0;
}

這種頻繁的 if else ,看的讓人眼花繚亂。 所以在這里推薦用switch分支!!

switch分支的寫法

#includeint main()
{int weekday = 1; //星期數(shù)

	switch (weekday)//weekday是要匹配的值
	{//如果weekday = 1,那么會走這條語句的內(nèi)容
	case 1: printf("跑步"); 
		break;

		//如果weekday = 2,那么會走這條語句的內(nèi)容
	case 2: printf("爬山");
		break;

		//如果weekday = 3,那么會走這條語句的內(nèi)容
	case 3: printf("游泳");
		break;

		//如果weekday = 4,那么會走這條語句的內(nèi)容
	case 4: printf("打游戲");
		break;

		//如果weekday = 5,那么會走這條語句的內(nèi)容
	case 5: printf("打籃球");
		break;

		//如果weekday = 6,那么會走這條語句的內(nèi)容
	case 6: printf("踢足球");
		break;

		//如果weekday = 7,那么會走這條語句的內(nèi)容
	case 7: printf("寫作業(yè)");
		break;

		//如果上面都不滿足,那么會執(zhí)行這一條
	default:
		printf("星期數(shù)不存在");
		break;
	}

	return 0;
}

在這里插入圖片描述

注意!每條case分支必須要加上break語句,否則會接著執(zhí)行下一條語句。假設(shè)我把case1,和case2的break刪掉。
在這里插入圖片描述
我們會發(fā)現(xiàn)它會接著往下執(zhí)行,直到遇到break才結(jié)束。


結(jié)言🥳:

💦💦如果有寫的有什么不好的地方,希望大家指證出來,我會不斷的改正自己的錯誤。💯💯如果感覺寫的還可以,可以點贊三連一波哦~🍸🍸后續(xù)會持續(xù)為大家更新大綱上的內(nèi)容,以及數(shù)據(jù)結(jié)構(gòu),C++等方面的知識

🔥🔥你們的支持是我大的動力,希望在往后的日子里,我們大家一起進(jìn)步?。?!
🔥🔥

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


新聞名稱:(史上最細(xì))C語言快速入門寶典(二)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/ijpps.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部