iOS開發(fā)基礎(chǔ)班+就業(yè)班(100天完整版)之基礎(chǔ)班1:C語言學(xué)習(xí)(14天)

學(xué)習(xí)筆記
2023.08.22開啟旅程》》》
----------------------------------------------------------------------
P37 07 第一個(gè)C程序的解釋
- main.c
#include <stdio.h>
/**
?* 第一個(gè)程序語言的解釋
?*/
//導(dǎo)入系統(tǒng)的stdio.h頭文件
#include <stdio.h>
//是在聲明1個(gè)函數(shù)這個(gè)函數(shù)的名字叫做main 這個(gè)函數(shù)的返回值是int類型的
int main (int argc,const char * argv[]){
??//大括弧在C語言代表1段范圍.所以有開始就有結(jié)束 所以有左大括弧就有右大括弧
??//寫在這個(gè)大括弧中的代碼是屬于main函數(shù)的
??printf("要輸出的信息 \n");
??//這句話的功能,向控制臺(tái)輸出信息。
??//使用格式:
??//???printf("要輸出的信息");
??//雙引號(hào)中間的內(nèi)容就會(huì)被輸出到控制臺(tái),
??//在輸出的時(shí)候如果要換行 就使用\n
??return 0;
??//返回1個(gè)數(shù)據(jù)0
}
-----------------------------------------------------------------------------------------------
P38 08 程序的入口
- main.c
#include <stdio.h>
/**
??程序入口
?* @return
?*/
/**
1.左大括弧是另起一行還是在同1行,自己喜歡但是無論如何要統(tǒng)一。
2.當(dāng)我們?cè)试S程序 就會(huì)將我們寫的代碼交給CPU去執(zhí)行2,CPU從什么地方開始執(zhí)行我們的代碼呢?
當(dāng)我們將1個(gè)程序交給CPU去執(zhí)行的時(shí)候.CPU只會(huì)執(zhí)行程序中main函數(shù)中的代碼別的地方的代碼是不會(huì)執(zhí)行的。
3.所以.1個(gè)標(biāo)準(zhǔn)的C程序中有且必須只能有1個(gè)main函數(shù)
4.所以,我們寫的代碼如果想要被CPU執(zhí)行,就必須要寫在main函數(shù)中
5.CPU在執(zhí)行main函數(shù)中的代碼的時(shí)候是從上到下的一句一句的執(zhí)行的。只有在上1句執(zhí)行完畢之后才會(huì)執(zhí)行下一句,
6.在程序一開始的時(shí)候就會(huì)執(zhí)行main函數(shù)所以main函數(shù)是程序的入口當(dāng)main函數(shù)中的代碼執(zhí)行完畢之后程序就會(huì)自動(dòng)結(jié)束,所以,main醫(yī)數(shù)也是程序的出口.
?*/
int main (){
??printf("執(zhí)行第一次\n");
??printf("執(zhí)行第二次\n");
??printf("執(zhí)行第四次\n");
??printf("執(zhí)行第五次\n");
??int index = 0;
??for(;;){
????printf("我在循環(huán)執(zhí)行%d\n",index);
????index ++;
??}
??return 0;
}
--------------------------------------------------------------------------------
P39 09 c語言的注釋
- main.c
#include <stdio.h>
/**
?* c語言的注釋
?* @param argc
?* @param argv
?* @return
?*/
/*
1,什么是注釋就是對(duì)代碼的注解,解釋代碼是做什么事情的.方便我們以后查看代碼提高的閱讀性
2,單行注釋
//后面的這1行的內(nèi)容會(huì)被當(dāng)做注釋注釋的內(nèi)容編譯器是不會(huì)編譯的.會(huì)直接忽略,所以注釋的內(nèi)容是可以隨便寫的,
3,多行注釋斜杠*和 *斜杠 中間的內(nèi)容無論有多少行,都會(huì)被作為注釋
4.快捷鍵
選擇需要注釋或者取消注釋的內(nèi)容 Command + /
5,關(guān)于注釋的規(guī)范
1)。勤于寫注釋
2),已經(jīng)寫好的代碼不要?jiǎng)h除 如果要換注釋就可以
?*/
int main(int argc ,const char * argv[]){
??// 我是單行注釋
??printf("我是單行注釋");
??/*
???* 我是多行注釋
???*/
??printf("我是多行注釋");
??return 0;
}
----------------------------------------------------------------
P40 10 計(jì)算機(jī)的三大件
- main.c
#include <stdio.h>
/**
?* 計(jì)算機(jī)的三大組件
?* @param argc
?* @param argv
?* @return
?*/
/*
1,計(jì)算機(jī)的三大件
CPU: 中央處理器 處理數(shù)據(jù)的,負(fù)責(zé)計(jì)算,協(xié)調(diào)其他硬件相互和諧的工作
內(nèi)存: 存儲(chǔ)數(shù)據(jù)的,臨時(shí)存儲(chǔ)數(shù)據(jù)臨時(shí)存儲(chǔ),存取數(shù)據(jù)的效率相對(duì)較高電子式
硬盤:存儲(chǔ)數(shù)據(jù)的.永久存儲(chǔ)數(shù)據(jù)永久存儲(chǔ) 但是存取效率相對(duì)低下機(jī)械式
2,程序是如何運(yùn)行的.
程序在運(yùn)行之前是存儲(chǔ)在硬盤之中的。當(dāng)我們運(yùn)行的程序的時(shí)候,CPU會(huì)將程序從硬盤中復(fù)制到內(nèi)存中。CPU再讀取內(nèi)存中的程序代碼
WHY?
因?yàn)閮?nèi)存中的數(shù)據(jù)讀取效率更高
?*/
int main(int argc ,const char * argv[]){
??return 0;
}
---------------------------------------------------------
P41 11 數(shù)據(jù)處理
- main.c
#include <stdio.h>
/**
?* 數(shù)據(jù)處理
?* @param argc
?* @param argv
?* @return
?*/
/*
1.思考1個(gè)問題
??將QQ程序運(yùn)行起來
??QQ程序在運(yùn)行之前存儲(chǔ)在硬盤中當(dāng)我們運(yùn)行QQ程序以后這個(gè)程序就被運(yùn)行在內(nèi)存中,
2.當(dāng)我們點(diǎn)擊登錄按鈕QQ程序做的事情
??1).讀取輸入的QQ號(hào)碼
??2).讀取輸入的QQ密碼
??3).將讀取到的號(hào)碼和密碼發(fā)送給騰訊的服務(wù)器
請(qǐng)思考:
??在QQ軟件將0Q號(hào)碼和密碼發(fā)送給騰訊服務(wù)器之前,這個(gè)QQ程序需要不需要將號(hào)碼和密碼存儲(chǔ)一下
??答案是肯定的
??肯定需要將這些數(shù)據(jù)存儲(chǔ)起來如果自己不存儲(chǔ)起來 那么如何處理呢?
??程序就是在處理數(shù)據(jù)
3.思考三個(gè)問題程序如果要處理數(shù)據(jù)?
??1).程序自己要不要把這些數(shù)據(jù)存儲(chǔ)起來肯定要,自己不存儲(chǔ)起來如何處理呢?
??2).存儲(chǔ)在什么地方?內(nèi)存?因?yàn)槌绦蜃约壕驮趦?nèi)存中
??3).怎么存?
4.如何將數(shù)據(jù)存儲(chǔ)在內(nèi)存之中
??1).我們?yōu)槭裁匆鎯?chǔ)數(shù)據(jù)?
????因?yàn)檫@個(gè)數(shù)據(jù)我們后面要用
??2).如何將數(shù)據(jù)存儲(chǔ)在內(nèi)存之中,先在內(nèi)存中挖1個(gè)坑,然后將這個(gè)數(shù)據(jù)存儲(chǔ)在這個(gè)坑中。
????當(dāng)我們想用這個(gè)數(shù)解的時(shí)候,只要找到這個(gè)坑就可以使用存儲(chǔ)在坑中的數(shù)據(jù)。
????每1個(gè)坑在內(nèi)存中都有1個(gè)獨(dú)一無二的地址。是1個(gè)十六進(jìn)制的表示, 0x...
??3).通過這個(gè)地址就可以找到這個(gè)坑 使用這個(gè)坑中的數(shù)據(jù)。然后地址是很記憶的,為了解決這個(gè)問題我們?yōu)槊?個(gè)坑取了1個(gè)別名我們?cè)谕诳拥臅r(shí)候.
????就要為這個(gè)坑指定別名。通過這個(gè)別名就可以找到這個(gè)坑,并且使用坑中的數(shù)據(jù)
??挖坑的同時(shí),
????a.地址自動(dòng)就有了,系統(tǒng)自動(dòng)分配
????b.要自己指定這個(gè)坑的別名,
??4).在挖坑的時(shí)候,必須要指定這個(gè)坑的類型。
????坑的類型決定了可以往這個(gè)坑中存儲(chǔ)的數(shù)據(jù)的類型.
????如果指定這個(gè)坑是1個(gè)整型坑,那么這個(gè)坑中就只能存儲(chǔ)整型的數(shù)據(jù) 否則就有可能回發(fā)生坑毀人亡的悲劇。
??5).常見的坑的類型
???int float double char
???你只需要知道一件事情.他們只是坑的四種類型,你只需要知道當(dāng)坑的類型是他們的時(shí)候,坑中可以存儲(chǔ)什么數(shù)據(jù),
???如果坑的類型是int類型 那么這個(gè)坑中可以存儲(chǔ) -2147483648 ~ +2147483647 之間的整數(shù)
???如果存儲(chǔ)的數(shù)據(jù)不是這個(gè)范圍的數(shù)就會(huì)有問題
???如果坑的類型是float類型 那么這個(gè)坑中可以存儲(chǔ)有效位數(shù)不超過7位的小數(shù)。
???有效位數(shù): 去掉小數(shù)點(diǎn).的位數(shù),12.12345.125678如果你往其中存儲(chǔ)的小數(shù)的有效位數(shù)超過了7位,那么超出的部分無法精確存儲(chǔ).只能精確存儲(chǔ)前面的7位,
???如果坑的類型是double類型。那么這個(gè)坑中可以存儲(chǔ)有效位數(shù)不超過16位的小數(shù)
???如果你往其中存儲(chǔ)的小數(shù)的有效位數(shù)超過了16位,那么超出的部分無法精確存儲(chǔ),只能精確存儲(chǔ)前面的16位
???如果坑的類型是char類型.只能存儲(chǔ)單個(gè)字符。 A B C DX
??6).如果有數(shù)據(jù)想要存儲(chǔ)在內(nèi)存中
??a.先看數(shù)據(jù),看數(shù)據(jù)是一個(gè)什么類型的. 80
??b.根據(jù)數(shù)據(jù)的類型來挖坑
???int num
5.在內(nèi)存中存儲(chǔ)數(shù)據(jù)的專業(yè)話術(shù)
??如果我們要在內(nèi)存中存儲(chǔ)數(shù)據(jù)。
??1).就要先在內(nèi)存中 開辟一塊空間,
??2).在開辟這個(gè)空間的同時(shí),要指定這個(gè)空間的別名和類型
??3).這個(gè)空間的類型決定了 這個(gè)空間中可以存儲(chǔ)的數(shù)據(jù)的類型
????常見的空間類型:
??????int 整型
??????float 單精度浮點(diǎn)型
??????double 雙精度浮點(diǎn)型
??????char 字符型
??????float和double統(tǒng)稱浮點(diǎn)型或者實(shí)型
6.變量
????變量:變量就是內(nèi)存中開辟的用來存儲(chǔ)數(shù)據(jù)的那塊空間.所以變量是用來存儲(chǔ)數(shù)據(jù)的。
??1).變量的值: 存儲(chǔ)在變量所代表的那塊空間中的數(shù)據(jù).就叫做變量的值.
????變量的名稱:為變量所代表的那塊空間取的別名,叫做變量的名稱。
????變量的類型:變量所代表的那塊空間的類型 就叫做變量的類型
????變量的本質(zhì)是: 在內(nèi)存中存儲(chǔ)數(shù)據(jù)的那塊空間
??2).所以如果我們要在內(nèi)存中存儲(chǔ)數(shù)據(jù)。就只需要聲明一個(gè)變量。聲明一個(gè)變量,其實(shí)就是在內(nèi)存中開辟了一塊空間來存儲(chǔ)數(shù)據(jù)
??3).如何聲明變量
????數(shù)據(jù)類型 變量名稱
????數(shù)據(jù)類型就是我們剛說的空間的類型:
??????int float double char 變量的名稱基本上我們可以隨意,
????int num:
?????當(dāng)CPU執(zhí)行這句代碼的時(shí)候.CPU會(huì)在內(nèi)存中開辟一塊空間 空間的類型是int 空間的名字是num用這個(gè)空間來存儲(chǔ)數(shù)據(jù)。
?????因?yàn)檫@個(gè)空間是int類型的所以這個(gè)空間中只能存儲(chǔ)-2147483648 ~ +2147483647 之間的整數(shù)否則坑毀人亡,
?????float num:
????當(dāng)CPU執(zhí)行這句代碼的時(shí)候,CPU會(huì)在內(nèi)存中開辟一塊空間 空間的類型是float 空間的名字是num用這個(gè)空間來存儲(chǔ)數(shù)據(jù)。
????因?yàn)檫@個(gè)空間是float類型的。所以這個(gè)空間中只能存儲(chǔ) 所以就只能精確的存儲(chǔ)有效位數(shù)不超過7位的小數(shù)否則坑毀人亡。
????double num:
??????當(dāng)CPU執(zhí)行這句代碼的時(shí)候,CPU會(huì)在內(nèi)存中開辟一塊空間 空間的類型是double 空間的名字是num用這個(gè)空間來存儲(chǔ)數(shù)據(jù)。
??????因?yàn)檫@個(gè)空間是double類型的.所以這個(gè)空間中只能存儲(chǔ) 所以就只能精確的存儲(chǔ)有效位數(shù)不超過16位的小數(shù)否則坑毀人亡,
?????char ch:
????當(dāng)CPU執(zhí)行這句代碼的時(shí)候,CPU會(huì)在內(nèi)存中開辟一塊空間 空間的類型是char 空間的名字是ch用這個(gè)空間來存儲(chǔ)數(shù)據(jù),
????因?yàn)檫@個(gè)空間是char類型的。所以這個(gè)空間中只能存儲(chǔ) 單個(gè)字符否則坑毀人亡。
????我們聲明一個(gè)變量實(shí)際上就是在內(nèi)存中開辟一塊指定類型 指定別名的空間
?????變量就代表這個(gè)空間,
7.往變量所代表的空間中存儲(chǔ)數(shù)據(jù)
??格式語法:
??變量名 = 數(shù)據(jù);
????int num;
????num = 100:
??1).這個(gè)等號(hào)和你數(shù)學(xué)中的等號(hào)是完全不同的,
??叫做賦值符號(hào).
??賦值符號(hào)的作用:
????將右邊的數(shù)據(jù) 存儲(chǔ)到 左邊的變量所代表的空間中去
??2).為int類型的變量賦值
????int num;
????num = 199;
????因?yàn)樽兞康念愋褪莍nt類型的.所以為int變量賦值的時(shí)候,賦值的數(shù)據(jù)不能超過指定的范圍,
????a.如果給的數(shù)據(jù)太太太大。直接報(bào)語法錯(cuò)誤.
????b.如果我們?yōu)閕nt變量賦值了一個(gè)小數(shù),只會(huì)存儲(chǔ)這個(gè)小數(shù)的整數(shù)部分,不會(huì)做四舍五入
????c.如果給的數(shù)據(jù)超過的范圍并不多.這個(gè)時(shí)候存儲(chǔ)的是隨機(jī)值
??3).為float類型的變量賦值
????a.在C語言中如果我們直接寫1個(gè)小數(shù),那么這個(gè)小數(shù)的類型是double類型的,
????如果我們就是希望這個(gè)小數(shù)是1個(gè)float類型的那么就在這個(gè)小數(shù)的后面加1個(gè)f/F代表前面的這個(gè)小數(shù)的類型是1個(gè)float類型的,
????記住這句話:
??????為float變量賦值的時(shí)候,賦值的小數(shù)后面要加1個(gè)f
????b.float只能精確保存有效位數(shù)不超過7位的小數(shù),
????如果賦值的數(shù)據(jù)的有效位數(shù)超過了7位,那么超出的部分就不會(huì)精確保存,
??4).為double類型的變量賦值
????a.在C語言中如果我們直接寫1個(gè)小數(shù),那么這個(gè)小數(shù)的類型是double類型的,
?????所以可以直接將1個(gè)小數(shù)賦值給1個(gè)double變量.
????b.double只能精確保存有效位數(shù)不超過16位的小數(shù),如果賦值的數(shù)據(jù)的有效位數(shù)超過了16位,那么超出的部分就不會(huì)精確保存
??5).為char類型的變量賦值
????a. char變量中只能存儲(chǔ)單個(gè)字符,并且這單個(gè)字符還要用單引號(hào)引起來,
????b.如果給的字符太多,保存最后1個(gè).
????c.空格也是1個(gè)字符,所以也可以存儲(chǔ)1個(gè)空格
?????char變量中無法存儲(chǔ)中文,d.在C語言中1個(gè)中文字符占3個(gè)字節(jié) 而1個(gè)char變量占1個(gè)字節(jié)
8, 如何使用存儲(chǔ)在變量中的數(shù)據(jù)呢?
??非常簡單輕松Easy!
??什么時(shí)候想要使用變量中的數(shù)據(jù),就直接寫上變量的名字就可以使用了
???int num1;
???int num2;
???num1 = 5;
???num2 = 20;
???int num3;
???num3 = num1 + num2;
??在執(zhí)行這句代碼的時(shí)候 會(huì)先將num1的值和num2的值取出來放這再計(jì)算
??1).使用變量的值最常見的方式,是將變量的值輸出
??2).輸出變量的值。
??使用printf函數(shù)就可以輸出變量的值
??a.格式1:
????printf("輸出信息");
????雙引號(hào)中的內(nèi)容原樣輸出
??b.格式2:輸出變量的值
????printf("格式控制字符串",變量列表);
????在格式控制字符串中如果有地方要顯示變量的值。那么就使用1個(gè)占位符來占位輸出的變量的類型不同占位符是不一樣的。
????如果輸出的變量的類型是int類型的,那么就使用%d占位符
????int num;
????num = 100;
????printf("num = %d\n",num);
????%d代表這個(gè)地方不要原樣輸出。而是輸出1個(gè)整型變量的值那個(gè)整型變量呢?你就把整型變量的名字寫在后面就可以啦,
????如果輸出的變量的類型是float類型。那么就使用%f占位符,默認(rèn)輸出小數(shù)點(diǎn)后面的6位
????如果輸出的變量的類型是double類型的.那么就使用Lf占位符 默認(rèn)輸出小數(shù)點(diǎn)后面的6位
????如果輸出的變量的類型是char類型的 那么就使用%C占位符
????務(wù)必要記住,輸出變量使用那一種占位符,如果使用的占位符和輸出的變量的類型不匹配的話。那么輸出的結(jié)果就是錯(cuò)誤的。
??3).使用printf函數(shù)一次輸出多個(gè)變量的值,
????a.格式控制字符串中可以寫多個(gè)占位符
??????int num1;
??????num1 = 10;
??????float f1;
??????f1 = 12.12f;
??????double d1;
??????d1 = 12.134;
??????char ch;
??????ch = 'a';
????printf("num1變量的值是%d,f1變量的值是%f,d1變量的值是%lf,ch的值是%c",num1,f1,d1,ch);
?????后面依次寫上要占位的變量注意:
??????a后面的變量一定要按照順序來寫。因?yàn)樵谔钫嘉环臅r(shí)候是按照順序來占位的.否則值就會(huì)混論
??????b.后面的變量的個(gè)數(shù)要和前面一直。如果沒有變量填的就顯示隨機(jī)值.
9.使用變量注意的幾個(gè)細(xì)節(jié)問題
??1).既生double,又何生float?
????double空間是float空間的兩倍大小,所以數(shù)據(jù)如果本身有效位數(shù)不超過7位的話,使用double來存儲(chǔ)就顯得浪費(fèi)
??2).可以在聲明變量的同時(shí)就為變量賦值
????數(shù)據(jù)類型 變量名稱 = 數(shù)據(jù)
????int num = 10;
????代表聲明了1個(gè)int類型的變量num 并為其賦值10
??3).如果我們要聲明多個(gè)類型相同的變量,可以使用批量聲明的方式來簡寫
????int num1 = 10,num2 = 20,num3,num4 = 30,num5;
????注意:前提是類型相同的變量
??4).賦值語句的規(guī)范。賦值符號(hào)的兩邊使用一個(gè)空格隔開.這樣我們的代碼看起來就爽歪歪
??5).垃圾值
????我們聲明1個(gè)變量,如果沒有為這個(gè)變量賦值,這個(gè)變量中是有值的是1個(gè)隨機(jī)數(shù),并不是一定是0 而是1個(gè)隨機(jī)數(shù),
????我們聲明1個(gè)變量.沒有為這個(gè)變量賦值。這個(gè)變量中是有值的。這個(gè)值叫做垃圾值,值是不確定的。
????所以為了保證我們的程序不會(huì)出意想不到的問題,要求聲明完1個(gè)變量,就應(yīng)該立即為這個(gè)變量賦值1個(gè)初始值,
??6).變量可以重復(fù)賦值
??7).為變量賦值的時(shí)候,可以將1個(gè)變量的值賦值給另外1個(gè)變量
????int num1 = 10;
????int num2 = num1;
????這句話的意思:
??????將num1的值賦值給num2.
????變量之間的賦值原理:
??????將源變量的值拷貝1份,將這個(gè)副本再賦值給目標(biāo)變量
????????int num2 = num1;
??????將num1變量的值復(fù)制1份.將這個(gè)復(fù)制 賦值給num2變量所以 num2變量的值是10 num1的值還在
???8).使用變量之前,必須要保證變量已經(jīng)聲明了
???9).同一個(gè)變量不允許重復(fù)定義
10.變量的命名規(guī)則以及規(guī)范,
??變量的名稱是由攻城獅自己定義的,變量的命名必須要遵守規(guī)則和規(guī)范
??1).變量的命名規(guī)則:如果不遵守,編譯器直接報(bào)語法錯(cuò)誤,
????a.變量名只能以任意的字母、下劃線、$開頭,不能以數(shù)字開頭
????b.后面只能跟任意的字母、數(shù)字、下劃線還有$
????c.不能與C的關(guān)鍵字重名,
????關(guān)鍵字:
??????指的是一些英文單詞在C語言之中代表特殊的意義,不能把他們作為變量的名字
??????關(guān)鍵字在Xcode中是以特殊的顏色顯示的 所以你發(fā)現(xiàn)你的變量名字是以這個(gè)顏色顯示的 那就說明這是1個(gè)關(guān)鍵字
????d.C語言嚴(yán)格區(qū)分大小寫如果變量名大小寫不一樣 那么就是完全不同的變量
????e.變量一定要先聲明 再使用
????f.在同1個(gè)大括弧之中,不允許定義多個(gè)變量名相同的變量,同1個(gè)變量 在同1個(gè)大括弧之中 不允許重復(fù)定義,
??2).變量的命名規(guī)范:
????你可以不遵守,編譯不會(huì)報(bào)錯(cuò),可以執(zhí)行,但是所有的程序員都在遵守
????a.變量的名字要取得有意義,別人1看變量的名字就知道這個(gè)變量中存儲(chǔ)的是神馬數(shù)據(jù)
??????知名達(dá)意.
????b.如果變量的名字是由多個(gè)單詞組成的。第1個(gè)單詞的首字母小寫 其他單詞的首字母大寫.
??????1個(gè)拼音算1個(gè)單詞
????是不是1個(gè)合格的程序員, 看你是否遵守規(guī)范,
?*/
int main(int argc ,const char * argv[]){
??int num;
??num = 12.58555;
??//num = 111222222222558588667488888585555555;
??//float num;
??//double num;
??//char num;
??float f1;
??f1 = 55.25225f;
??printf("%f\n",f1);
??char name ;
??name = 'f';
??printf("%c\n",name);
??int num1;
??int num2;
??num1 = 5;
??num2 = 20;
??int num3;
??num3 = num1 + num2;
??printf("%d",num3);
??return 0;
}
---------------------------------------------------------
P49 19 printf 函數(shù)的使用
- main.c
#include <stdio.h>
/**
?* printf 函數(shù)的使用
?* @param argc
?* @param argv
?* @return
?*/
/*
1.printf函數(shù)的作用:
??向控制臺(tái)輸出信息
2.最簡單的使用方法:
??printf("輸出信息");
??雙引號(hào)中的內(nèi)容就會(huì)原樣輸出。
3.輸出變量的值。
??務(wù)必要清楚占位符要使用那1個(gè)占位符
??int?%d
??float %f
??double %lf
??char %c
4.printf 的高級(jí)用法
??1).%d用來輸出int類型變量的值
????a.%md m是1個(gè)整數(shù), 指定輸出的變量的值的位寬,輸出的變量的值占多少個(gè)位
??????%5d 代表輸出的整型變量的值一共占據(jù)5位,
??????-->如果變量的值小于了5位,不足的地方就會(huì)以空格補(bǔ)齊。
??????-->如果變量的值大于等于了5位,那么實(shí)際有多少位就顯示多少位
??????m可以是1個(gè)負(fù)數(shù),如果變量的值小于了指定的位數(shù),不足的地方就會(huì)在后面以空格補(bǔ)齊。
????b.%0md m是1個(gè)整數(shù)
??????不足的地方就會(huì)以0補(bǔ)齊,
???2).%f和%lf的補(bǔ)充.
????a.默認(rèn)情況下,只會(huì)輸出小數(shù)點(diǎn)后面的6位,指定輸出小數(shù)點(diǎn)后面的位數(shù)。
????b.%.nf 或者 %.nlf n是1個(gè)數(shù)字,代表要輸出小數(shù)點(diǎn)后面多少位
?*/
int main(int argc ,const char * argv[]){
??int num = 45522;
??printf("%-12d\n",num);
??printf("%09d\n",num);
??float f1 =?5.34344f;
??printf("%.5f\n",f1);
??return 0;
}
---------2023-08-22-------卷完了--


