第07天C語言(00):筆記總結(jié)

01-數(shù)組-內(nèi)存存儲細(xì)節(jié)
 變量

     變量在內(nèi)存中的存儲

     由于變量的內(nèi)存尋址是從大到小,所以存儲數(shù)據(jù)時(shí) 會(huì)從高字節(jié)開始存儲

  

  數(shù)組

   注意 : 數(shù)組的存儲 和 變量有點(diǎn)不一樣, 數(shù)組存儲元素, 是從所占用的低字節(jié)開始

   其實(shí) 數(shù)組名 就是 數(shù)組的地址
02-數(shù)組-注意點(diǎn)
 注意點(diǎn) : 在使用數(shù)組的時(shí)候, 一定不要訪問 不屬于自己的存儲空間,這樣會(huì)導(dǎo)致數(shù)據(jù)混亂

  有時(shí)候如果訪問了 不屬于自己的存儲空間, 程序會(huì)報(bào)錯(cuò)
03-數(shù)組-練習(xí)1
 1.從鍵盤 錄入當(dāng)天出售BTB的價(jià)格 并 計(jì)算出售 BTB的總價(jià) 和 平均價(jià)(比如說一天 出售了3個(gè)比特幣)
04-函數(shù)和數(shù)組1
 變量

     基本數(shù)據(jù)類型作為 函數(shù)的參數(shù) 是 值傳遞

     如果形參是基本數(shù)據(jù)類型, 在函數(shù)中 修改形參的值 不會(huì)影響到外面的值

  

  數(shù)組

     注意 : 數(shù)組名作為函數(shù)的參數(shù)傳遞, 傳遞的數(shù)組的地址

     因?yàn)閿?shù)組名 就是 數(shù)組的地址 &number = &number[0] == number

     注意 : 如果數(shù)組作為函數(shù)的形參, 元素的個(gè)數(shù)可以省略

     如果形參是數(shù)組, 那么在函數(shù)中修改形參的值, 會(huì)影響到實(shí)參的值
05-數(shù)組和函數(shù)2
 如果傳遞的數(shù)組名稱, 其實(shí)傳遞的是地址

  如果傳遞的地址, 其實(shí)傳遞的是指針

  指針在64 編譯環(huán)境 占8個(gè)字節(jié)

  

  注意 : 如果數(shù)組作為形參,那么在函數(shù)中就不能通過數(shù)組的名稱 計(jì)算出數(shù)組元素的個(gè)數(shù)

  因?yàn)橄到y(tǒng)會(huì)自動(dòng)將 數(shù)組形參轉(zhuǎn)換為指針, 指針占用8個(gè)字節(jié)
06-數(shù)組-練習(xí)2
 設(shè)計(jì)一個(gè)函數(shù) int arrayMax(int a[], int count) 找出數(shù)組元素的最大值
07-數(shù)組-練習(xí)3
 1.從鍵盤輸入3個(gè)0~9的數(shù)字,然后輸出0~9中 哪些數(shù)字沒有出現(xiàn)過
08-數(shù)組-練習(xí)4
 1.要求 從鍵盤輸出 6個(gè)0~9的數(shù)字,排序后輸出
09-選擇排序
 已知一個(gè)無序的數(shù)組,里面有5個(gè)元素,要求對數(shù)組進(jìn)行排序

      選擇排序: 從小到大

      特點(diǎn) :

      拿到其中一個(gè)元素的值 和 其他元素進(jìn)行比較, 完全比較完一次之后,最值出現(xiàn)在第0位

      

      倒三角形式

      比如有4個(gè)數(shù)

      1 比 2\3\4

      2 比 3\4

      3 比 4

      比較次數(shù)就是一個(gè)倒三角的比較

      ***

      **

     *
10-選擇排序舞蹈
 http://www.56.com/u86/v_ODU0ODM5Nzk.html
11-冒泡排序
冒泡排序

  特點(diǎn)

  使用相鄰的兩個(gè)元素進(jìn)行比較,每完全比較完一次,最值出現(xiàn)在末尾

  規(guī)律:倒三角

  ****

  ***

  **

  *
12-排序優(yōu)化
 #pragma 1. 選擇排序

 void selectSort(int nums[],int length)

 {

     for (int i = 0; i <  length -1 ; i++) {

         for (int j = i + 1; j < length; j++) {

             if (nums[i] > nums[j]) {

                 swap(nums, i, j);

             }

         }

         printf("\n");

     }

 }

 #pragma 2.冒泡排序

  

 void bubbleSort(int nums[],int length)

 {

     for (int i = 0; i < 4; i++) {

         for (int j = 0; j < length -1 -i; j++) {

             if (nums[j] > nums[j+1]) {

                 swap(nums, j, j+1);

             }

             

         }

     }

 }

 void swap(int nums[], int i,int j)

 {

     int temp = nums[i];

     nums[i] = nums[j];

     nums[j] = temp;

}
13-折半查找
  折半查找的原理

  1.數(shù)組必須是有序的

  2.必須已知min和max(知道范圍)

  3.動(dòng)態(tài)計(jì)算mid的值,取出mid對應(yīng)的值 進(jìn)行比較

  4.如果mid對應(yīng)的值 大于了 需要查找的值, 那么max要變小 為 mid - 1

  5.如果mid對應(yīng)的值 小于了 需要查找的值, 那么mix要變大 為 mid + 1
14-折半查找-練習(xí)
 現(xiàn)在有一個(gè)有序的數(shù)組, 要求給定一個(gè)數(shù),將該數(shù)字插入到數(shù)組中,還要保證數(shù)組是有序的

 其實(shí)就是找到插入需要插入的數(shù)字的位置

 其實(shí)這個(gè)位置就是min的位置
15-進(jìn)制查表法
 void printfOct2(int value)

 {

     // 1.定義一個(gè)數(shù)組,用于保存八進(jìn)制中所有的取值

     char charValue[11] = {'0','1','2','3','4','5','6','7'};

     // 2.定義一個(gè)數(shù)組,用與保持查詢后的結(jié)果

     char result[11] = {'0'};

     // 3.定義一個(gè)變量,用于記錄當(dāng)前需要存儲到查詢結(jié)果數(shù)組的索引

     int pos = 11;

     

     while (value != 0) {

         int res = value & 7;

         // 2.利用取出來的值 到表中查詢對應(yīng)的結(jié)果

         char c = charValue[res];

         // 3.存儲查詢的結(jié)果 (從最后一位開始存儲)

         result[--pos] = c;

         // 4.移除二進(jìn)制被取出的三位

         value = value >> 3;

 //        printf("pos = %i\n",pos);

  

     }

     // 4.打印結(jié)果

     for (int i = pos; i < 11; i++) {

         printf("%c",result[i]);

     }

     printf("\n");

 }

16-進(jìn)制查表法-優(yōu)化
 // 轉(zhuǎn)換所有的進(jìn)行

 // value就是需要轉(zhuǎn)換的數(shù)值

 // base就是需要&上的數(shù)

 // offset 就是需要 右移的位數(shù)

 void total(int value,int base,int offset)

 {

     // 1.定義一個(gè)數(shù)組,用于保存十六進(jìn)制中所有的取值

     char charValue[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};

     // 2.定義一個(gè)數(shù)組,用與保持查詢后的結(jié)果

     char result[32] = {'0'};

     // 3.定義一個(gè)變量,用于記錄當(dāng)前需要存儲到查詢結(jié)果數(shù)組的索引

     int pos = sizeof(result)/sizeof(result[0]);

  

     

     while (value !=0) {

         // 取出4位的值

         int res = value & base; // 1 7 15

         // 利用這個(gè)值 作為索引去數(shù)組中 查詢對應(yīng)的十六進(jìn)制的值

         char c = charValue[res];

         //        printf("%c",c);

         // 將取出來的值 放到用于存儲結(jié)果的數(shù)組中

         result[--pos] = c;

         

         // 每取完一次 就干掉他最低的4位

         value = value >> offset;  // 1 3 4

 //        printf("pos = %i\n",pos);

     }

     

     for (int i = pos; i < 32; i++) {

         printf("%c",result[i]);

     }

     printf("\n");

 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末炬搭,一起剝皮案震驚了整個(gè)濱河市扑馁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狼讨,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柒竞,死亡現(xiàn)場離奇詭異政供,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)朽基,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門布隔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人稼虎,你說我怎么就攤上這事衅檀。” “怎么了霎俩?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵哀军,是天一觀的道長。 經(jīng)常有香客問我打却,道長杉适,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任柳击,我火速辦了婚禮猿推,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腻暮。我一直安慰自己彤守,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布哭靖。 她就那樣靜靜地躺著具垫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪试幽。 梳的紋絲不亂的頭發(fā)上筝蚕,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音铺坞,去河邊找鬼起宽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛济榨,可吹牛的內(nèi)容都是我干的坯沪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼擒滑,長吁一口氣:“原來是場噩夢啊……” “哼腐晾!你這毒婦竟也來了叉弦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤藻糖,失蹤者是張志新(化名)和其女友劉穎淹冰,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巨柒,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡樱拴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洋满。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晶乔。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖牺勾,靈堂內(nèi)的尸體忽然破棺而出瘪弓,到底是詐尸還是另有隱情,我是刑警寧澤禽最,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布腺怯,位于F島的核電站,受9級特大地震影響川无,放射性物質(zhì)發(fā)生泄漏呛占。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一懦趋、第九天 我趴在偏房一處隱蔽的房頂上張望晾虑。 院中可真熱鬧,春花似錦仅叫、人聲如沸帜篇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笙隙。三九已至,卻和暖如春坎缭,著一層夾襖步出監(jiān)牢的瞬間竟痰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工掏呼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坏快,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓憎夷,卻偏偏與公主長得像莽鸿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子拾给,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容