内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

C語言《CPrimerPlus》學(xué)習(xí)總結(jié)--第四章-創(chuàng)新互聯(lián)

第四章 字符串和格式化輸入/輸出
  • 字符串簡介
    • 1.字符串定義
    • 2.字符數(shù)組
    • 3.sizeof() 和 strlen()
  • 常量和C預(yù)處理器
  • printf()函數(shù)
  • scanf()函數(shù)

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),臨滄企業(yè)網(wǎng)站建設(shè),臨滄品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨滄網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,臨滄網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。字符串簡介 1.字符串定義

C語言中沒有專門用于儲存字符串的變量類型,字符串都被儲存在char類型的數(shù)組中,數(shù)組是由連續(xù)的存儲單元組成,字符串的字符儲存在相鄰的存儲單元中,每個單元存儲一個字符。
圖片來源于C Primer Plus
在數(shù)組末尾的字符\0,在C語言中字符串一定以空字符結(jié)束,這就意味著數(shù)組的容量必須至少比帶存儲字符串的字符數(shù)多1位用來存放空字符。
字符串和字符的區(qū)別:單引號用于字符,雙引號用于字符串。例如:字符串“x”和‘x’的區(qū)別如下:
圖片來源于C Primer Plus

2.字符數(shù)組

數(shù)組是同種類型數(shù)據(jù)元素的有序序列。

char name[5];//創(chuàng)建一個大小為5的char類型的數(shù)組
int arr[10];//同樣可以創(chuàng)建int類型的數(shù)組,arr數(shù)組有10個int型變量或常量。

圖片來源于C Primer Plus

3.sizeof() 和 strlen()

strlen()函數(shù)可以計算出字符串中字符長度,使用strlen()函數(shù)需包含頭文件。

#include#includeint main(void)
{char name[40];//創(chuàng)建字符串?dāng)?shù)組。
	printf("what's your name?");
	scanf("%s",name);
	printf("hello,%s\n",name);
	printf("Your name of %zd letters occupies %zd memory cells.\n",strlen(name),sizeof name);
	return 0;
}
輸出的結(jié)果為:
what's your name? john bill
hello,join
Your name of 4letters occupies 40 memory cells.

sizeof計算得出數(shù)組的大小,strlen()計算出當(dāng)前字符串的長度,不包括\0在內(nèi)。
圖片來源于C Primer Plus
sizeof 和 strlen()的區(qū)別
(1)sizeof使一個操作符,strlen()是庫函數(shù),sizeof任意使用,而strlen()使用前需包括頭文件。
(2)sizeof的參數(shù)可以是數(shù)據(jù)的類型,也可以是變量,而strlen()只能以結(jié)尾為‘\0’的字符串作為參數(shù)。
(3)編譯器在編譯時計算出sizeof的結(jié)果,而strlen函數(shù)必須在程序運(yùn)行時才能計算出來。sizeof計算的是數(shù)據(jù)類型占內(nèi)存的大小,而strlen()計算的是字符串實際的長度。
(4)sizeof的參數(shù)為數(shù)據(jù)類型名是必須加括號,參數(shù)若為變量名括號可以省略。

常量和C預(yù)處理器

在C語言程序中,程序動輒幾百行,當(dāng)存在一個常量時,如果用數(shù)字的形式來頻繁的使用的話,代碼的可讀性很差,且如果這個常量需要改變的話,需要逐一修改很麻煩。所以為了代碼的可讀性,C語言提供了預(yù)處理器的方法。

//格式
#define NAME value
#define PI 3.1415926
circumference = PI * diameter;
areas = PI * Pi * radius;

代碼在編譯時,所有的PI都將被替換成3.1415926,在程序運(yùn)行階段,程序中所有的替換均已完成。
另一種方式是使用const限定符,const使一個關(guān)鍵字,用于限定一個變量為只讀。

const int MONTHS = 12;//MONTHS在程序中不可更改,值為12

這使得MONTHS成為一個只讀值,可以使用,但是不可更改其值,const 還可用來修飾函數(shù)指針等,后續(xù)會詳細(xì)介紹。
const 和 #define的區(qū)別如下:
#define在編譯的預(yù)處理階段起作用,只是進(jìn)行字符串的替換,并沒有類型檢查等操作,在程序運(yùn)行時,程序每使用一次#define定義的值就會開辟一塊內(nèi)存,容易浪費(fèi)內(nèi)存。程序中使用#define可以使程序簡單明了,通俗易懂。并且代碼的維護(hù)相對容易,在修改定義的值時只需修改定義處即可。
const常量有數(shù)據(jù)類型,在運(yùn)行時會對其進(jìn)行類型安全檢查,const定義的只讀變量在程序運(yùn)行過程中只備份一次,比較節(jié)省空間。

printf()函數(shù)

在使用printf()函數(shù)打印數(shù)據(jù)時指令要和待打印的類型相匹配,例如在打印整形數(shù)據(jù)時,不能使用字符的轉(zhuǎn)換字符,C語言有標(biāo)準(zhǔn)的轉(zhuǎn)換說明要求,如下表所示:
圖片來源于C Primer Plus

int a = 10;
float b = 3.14;
float c = 1.11;
printf("The value of a is %d,and The value of b is %f",a,b);//使用正確的轉(zhuǎn)換說明來讀取對應(yīng)的數(shù)據(jù)類型。
printf("The value of b is %f,The value of c is %f",b);//在使用函數(shù)時,轉(zhuǎn)換說明要和后者數(shù)據(jù)相匹配,是成對出現(xiàn),這是錯誤的示例。

如果想更加細(xì)節(jié)的打印,可在%和轉(zhuǎn)換字符之間插入修飾符可修飾基本的的轉(zhuǎn)換說明。具體如下表所示:
圖片來源C Primer Plus
舉例說明:

#includeint main(void)
{float PI = 3.1415926;
    printf("%2f",PI);//字符寬度設(shè)為2,原數(shù)據(jù)大于給定寬度,會自動擴(kuò)展到該有寬度。
    printf("%10f",PI);//指定字符寬度為10,空余部分用空格補(bǔ)齊
    printf("%.2f",PI);//設(shè)置精度,保留小數(shù)后兩位有效數(shù)字
	return 0;
}

轉(zhuǎn)換字符是將字符串轉(zhuǎn)換成程序員所需要的數(shù)據(jù)類型,比如數(shù)字76在計算機(jī)中存儲格式是二進(jìn)制01001100,%d,將其轉(zhuǎn)換成字符7和6,顯示為76。%x將其轉(zhuǎn)換為十六進(jìn)制0x4c。所以轉(zhuǎn)換字符的存在就是為了滿足程序員所需要不同類型的數(shù)據(jù)格式。

scanf()函數(shù)

scanf()和printf()類似,也是用格式字符串和參數(shù)列表。兩個函數(shù)主要區(qū)別在參數(shù)列表,printf()函數(shù)使用變量、常量和表達(dá)式,而scanf()函數(shù)使用只指向變量的指針。這里有兩條規(guī)則:
如果scanf()讀取基本變量類型的值,在變量名前加&;
如果scanf()把字符串讀入字符數(shù)組中,不需要使用&。

#include//包含頭文件必不可少
int main(void)
{int age;//創(chuàng)建變量
	char name[30];
	printf("how old are you?");
	scanf("%d",&age);
	printf("what's your name?");
	scanf("%s",name);//這里不適用&
	printf("My name is %s,I am %d years old",name,age);
	return 0;
}

對于scanf()函數(shù)中的轉(zhuǎn)換說明具體含義如下表所示:
圖片來源C Primer Plus
scanf()和printf()函數(shù)在對于轉(zhuǎn)換說明的使用大體相同,主要區(qū)別在于,對于float類型和double類型,printf()使用%f、%e、%E、%g和%G轉(zhuǎn)換說明,而scanf()只把他們用于float類型,對于豆瓣了
類型使用l修飾符。具體標(biāo)準(zhǔn)如下:
圖片來源C Primer Plus
更新于2022.12.24

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

新聞標(biāo)題:C語言《CPrimerPlus》學(xué)習(xí)總結(jié)--第四章-創(chuàng)新互聯(lián)
本文鏈接:http://www.rwnh.cn/article4/cephoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)網(wǎng)站設(shè)計、關(guān)鍵詞優(yōu)化品牌網(wǎng)站制作、網(wǎng)站設(shè)計公司

廣告

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

成都做網(wǎng)站
江永县| 类乌齐县| 灵璧县| 娄底市| 禹城市| 当涂县| 津南区| 盐池县| 赣州市| 贵州省| 霞浦县| 满洲里市| 昂仁县| 资源县| 哈密市| 大厂| 宝丰县| 新邵县| 文登市| 大竹县| 荔波县| 陆良县| 静安区| 鸡泽县| 油尖旺区| 沙洋县| 辽阳县| 屯昌县| 渑池县| 新蔡县| 鱼台县| 灌阳县| 杭锦旗| 卫辉市| 三河市| 宜城市| 香港| 南和县| 云龙县| 绍兴市| 黄大仙区|