freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第一講c語言復(fù)習(xí)(編輯修改稿)

2024-11-16 13:12 本頁面
 

【文章內(nèi)容簡介】 1, 1變成 0。 例如,表達(dá)式“ ~21” 的值是無符號整型數(shù) 0xffffffea 21: 0000 0000 0000 0000 0000 0000 0001 0101 ~21: 1111 1111 1111 1111 1111 1111 1110 1010 而下面的語句: printf(%d,%u,%x,~21,~21,~21)。 輸出結(jié)果就是 : 22,4294967274,ffffffea 按位非 左移運(yùn)算符“ ” 是雙目運(yùn)算符。其計算結(jié)果是將左操作數(shù)的各二進(jìn)位全部左移若干位后得到的值,右操作數(shù)指明了要左移的位數(shù)。 左移時, 高位丟棄,低位補(bǔ) 0。 左移運(yùn)算符不會改變左操作數(shù)的值。 左移運(yùn)算符 例如,常數(shù) 9有 32位,其二進(jìn)制表示是: 0000 0000 0000 0000 0000 0000 0000 1001 因此,表達(dá)式“ 94” 的值,就是將上面的二進(jìn)制數(shù)左移 4位,得: 0000 0000 0000 0000 0000 0000 1001 0000 即為十進(jìn)制的 144。 實(shí)際上,左移 1位,就等于是乘以 2,左移 n位,就等于是乘以 2n。 而左移操作比乘法操作快得多。 左移運(yùn)算符 include main() { int n1 = 15。 short n2 = 15。 unsigned short n3 = 15。 unsigned char c = 15。 n1 = 15。 n2 = 15。 n3 = 15。 c = 6。 printf( n1=%x,n2=%d,n3=%d,c=%x,c4=%d, n1,n2,n3,c,c 4)。 } 上面程序的輸出結(jié)果是 : n1=78000,n2=32768,n3=32768,c=c0,c4=3072 n1: 0000 0000 0000 0000 0000 0000 0000 1111 n2: 0000 0000 0000 1111 n3: 0000 0000 0000 1111 c: 0000 1111 n1 = 15: (變成 78000) 0000 0000 0000 0111 1000 0000 0000 0000 n2 = 15: ,(變成 32768) 1000 0000 0000 0000 n3 = 15: (變成 32768) 1000 0000 0000 0000 c = 6。 (變成 c0) 1100 0000 c 4 這個表達(dá)式是先將 c 轉(zhuǎn)換成整型 0000 0000 0000 0000 0000 0000 1100 0000 然后再左移。 c4=3072 右移運(yùn)算符“ ” 是雙目運(yùn)算符。其計算結(jié)果是把“ ” 的左操作數(shù)的各二進(jìn)位全部右移若干位后得到的值,要移動的位數(shù)就是“ ” 的右操作數(shù)。移出最右邊的位就被丟棄 。 對于有符號數(shù),如 long,int,short,char類型變量,在右移時,符號位(即最高位)將一起移動,并且大多數(shù) C/C++編譯器規(guī)定, 如果原符號位為 1,則右移時高位就補(bǔ)充 1,原符號位為 0,則右移時高位就補(bǔ)充 0。 右移運(yùn)算符 對于無符號數(shù) ,如 unsigned long,unsigned int, unsigned short, unsigned char類型的變量,則 右移時,高位總是補(bǔ) 0。 右移運(yùn)算符不會改變左操作數(shù)的值。 實(shí)際上, 右移 n位,就相當(dāng)于左操作數(shù)除以 2n,并且將結(jié)果往小里取整。 25 4 = 2 2 4 = 1 18 4 = 1 右移運(yùn)算符 include int main() { int n1 = 15。 short n2 = 15。 unsigned short n3 = 0xffe0。 unsigned char c = 15。 n1 = n12。 n2 = 3。 n3 = 4。 c = 3。 printf( n1=%d,n2=%d,n3=%x,c=%x,n1,n2,n3,c)。 } 上面的程序輸出結(jié)果是: n1=3,n2=2,n3=ffe,c=1 n1: 0000 0000 0000 0000 0000 0000 0000 1111 n2: 1111 1111 1111 0001 n3: 1111 1111 1110 0000 c: 0000 1111 n1 = 2: 變成 3 0000 0000 0000 0000 0000 0000 0000 0011 n2 = 3: 變成 2 1111 1111 1111 1110 n3 = 4: 變成 ffe 0000 1111 1111 1110 c = 3。 變成 1 0000 0001 思考題: 有兩個 int型的變量 a和 n(0 = n = 31), 要求寫一個表達(dá)式,使該表達(dá)式的值和 a的第 n位相同。 答案: ( a n ) amp。 1 或: (a amp。 (1 n )) n 函數(shù) ,定義和調(diào)用 函數(shù) (1) 大的任務(wù)分成若干小的任務(wù) (函數(shù) ) (2) 函數(shù)可以把不需要了解的細(xì)節(jié)隱藏起來 (3) 一般一個函數(shù)不要超過 50行代碼 (4) 函 數(shù)先聲明,再調(diào)用。 定 義可以看做聲明 (5) 一般定義函數(shù)放在 .cpp中,聲明放在 .h中 (7) 對于每個程序,都要定義一個 main()函數(shù),它是C/C++程序 開 始執(zhí)行時調(diào)用的 第一個 函 數(shù) . main()在調(diào)用其他的函數(shù)來完成程序的任務(wù) (8) 程序中函數(shù)通信 通過 參數(shù) 、 返回值、全局對象 來完成 (6) 函數(shù)聲明 由返回類型、函數(shù)名和參數(shù)組成 重點(diǎn)要掌握: 1. 參數(shù)列表 的作用 (編譯器會把參數(shù)列表和函數(shù)名混合在一起,形成新的名字 ),正因?yàn)樽詈蟮暮瘮?shù)命不同, 函數(shù)重載 才能實(shí)現(xiàn) .(C語言不允許函數(shù)同名 ) 2. 參數(shù)傳遞的過程與實(shí)質(zhì) 3. 返回值的實(shí)際過程 函數(shù) 函數(shù) 函數(shù)聲明 (一般寫在 .h頭文件中) 返回值類型 函數(shù)名 (參數(shù) 1類型 參數(shù) 1名稱 , 參數(shù) 2類型 參數(shù)名稱 , …) 。 int YwkMax( int a, int int b)。 函數(shù)定義 (一般寫在 .cpp文件中) int YwkMax( int a, int b ) { int c。 if ( ab ) c = a。 else c = b。 return c。 } 函數(shù) 默認(rèn)參數(shù) 對于某些函數(shù),程序往往會用一些 固定的值 去調(diào)用它 .例如對于以某種數(shù)制輸出整型數(shù)的函數(shù) print: void print(int value, int base)。 在大多數(shù)情況下都是以十進(jìn)制輸出,因此 base的值總是為 10。 C++在定義或聲明函數(shù)時可以為函數(shù)的某個參數(shù)指定默認(rèn)值。當(dāng)調(diào)用函數(shù)時 沒有為它指定實(shí)際參數(shù)時 ,系統(tǒng)自動將默認(rèn)值賦給形式參數(shù)。例如,可以將 print函數(shù)聲明為 void print(int value, int base=10)。 調(diào)用 print(20) 等價于 print(20, 10) 注意事項(xiàng) ? 缺省參數(shù)無論有幾個,都必須放在參數(shù)序列的最后, 例如: int SaveName (char *first, char second = “”,char *third = “”, char *fouth = “”)。 ? 在函數(shù)調(diào)用時,若某個參數(shù)省略,則其后的參數(shù)皆應(yīng)省略而取其缺省值 函數(shù) 默認(rèn)參數(shù) 對參數(shù)默認(rèn)值的指定只有在函數(shù)聲明處有意義。因?yàn)楹瘮?shù)的默認(rèn)值是提供給調(diào)用者使用的。 函數(shù) 參數(shù)默認(rèn)值 函數(shù)參數(shù)的默認(rèn)值 int Function( int a=2 )。 int Max( int a, int b )。 int a, b。 void Function2( int x, int y=Max(a,b), int z=a*b ) {…} Function2( 4 )。 Function2( 4, 9 )。 Function2( 4, 2, 3 )。 Function2( 4, , 3 )。 等價于 Function2(4, Max(a,b), a*b) // 錯誤 在函數(shù)聲明時,指定參數(shù)的默認(rèn)值 默認(rèn)值的順序,從右往左的順序定義 調(diào)用時,默認(rèn)值的順序? 函數(shù) 參數(shù)默認(rèn)值 為什么要默認(rèn)值? ?所有的函數(shù)都使用程序運(yùn)行棧中分配的存儲區(qū)。該存儲區(qū)一直保持與該函數(shù)相關(guān)聯(lián),直到函數(shù)結(jié)束為止。那時,存儲區(qū)將自動釋放以便重新使用。該函數(shù)的整個存儲區(qū)稱為 活動記錄 . ?系統(tǒng)在函數(shù)的活動記錄中為函數(shù)的每個參數(shù)都提供了存儲區(qū)。參數(shù)的存儲區(qū)長度由它的類型來決定。 參數(shù)傳遞 是指用函數(shù)調(diào)用的實(shí)參值初始化函數(shù)參數(shù)存儲區(qū)的過程。 ?C++中參數(shù)傳遞的缺省初始化方法是把 實(shí)參的值拷貝到參數(shù)的存儲區(qū)中 。這種稱為按值傳遞(passbyvalue) 函數(shù) 參數(shù)傳遞 函數(shù) 參數(shù)傳遞 ?三種形式 ?傳值調(diào)用 ?傳地址 (本質(zhì)也是傳值 ) ?引用傳遞 函數(shù) 變量生命周期 /作用域 int Max( int a, int b ) { int c。 if ( ab ) c = a。 else c = b。 ret
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1