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

正文內(nèi)容

第16章常見錯(cuò)誤和程序調(diào)試-預(yù)覽頁

2024-10-20 19:05 上一頁面

下一頁面
 

【正文】 n… 但在 C語言中,“ =”是賦值運(yùn)算符,“ ==”才是關(guān)系運(yùn)算符“等于”。如果 a的值為 3, b的值為 4, a≠b,按原意不應(yīng)輸出“ ae q u a lt ob”。而且由于習(xí)慣的影響,程序設(shè)計(jì)者自己往往也不易發(fā)覺。這也是和其他語言不同的。 如果用復(fù)合語句,有的學(xué)過 PASCAL語言的讀者往往漏寫最后一個(gè)語句的分號(hào),如: { t=a。 例如: if(a> b)。即當(dāng) (a>b)為真時(shí),執(zhí)行一個(gè)空語句。i< 10。 printf(%d\n, x*x)。 總之,在 if、 for、 while語句中,不要畫蛇添足多加分號(hào)。 while(i< =100) sum=sum+i。因?yàn)?i的值始終沒有改變?!辈粚儆谘h(huán)體范圍之內(nèi)。 當(dāng)一個(gè)語句中使用多層括弧時(shí)常出現(xiàn)這類錯(cuò)誤,純屬粗心所致。 少了一個(gè)右括弧。b=3。編譯程序把 a和 A認(rèn)作是兩個(gè)不同的變量名處理,同樣 b和 B, c和 C都分別代表兩個(gè)不同的變量。i< 10。 (13) 在定義數(shù)組時(shí),將定義的“元素個(gè)數(shù)”誤認(rèn)為是“可使用的最大下標(biāo)值”。i< =10。 C語言規(guī)定定義時(shí)用 a[10],表示 a數(shù)組有 10個(gè)元素,而不是可以用的最大下標(biāo)值為 10。 … printf(%d, a[1+2, 2+2])。所以 a[1+2, 2+2]相當(dāng)于 a[4]。 例如: main( ) { int a[4]={ 1, 3, 5, 7} 。 (16) 混淆字符數(shù)組與字符指針的區(qū)別。 } 編譯出錯(cuò)。如果把“ char str[4]。 因此應(yīng)當(dāng)弄清楚字符數(shù)組與字符指針變量用法的區(qū)別。 … } 沒有給指針變量 p賦值就引用它,編譯時(shí)給出警告信息。 即先根據(jù)需要定義一個(gè)大小合適的字符數(shù)組 c,然后將 c數(shù)組的首地址賦給指針變量 p,此時(shí) p有確定的值,指向數(shù)組 c。 case 4: printf(Good! )。 } 上述 switch語句的作用是希望根據(jù) score(成績(jī) )打印出評(píng)語。 break。 break。 } (19) 混淆字符和字符串的表示形式。而字符常量的形式是用單引號(hào)括起來的,應(yīng)改為 sex=39。 例如: main( ) { int p, a[5]={ 1, 3, 5, 7, 9} 。其實(shí)應(yīng)該是先執(zhí)行 p++,而 p++的作用是先用 p的原值,用完后使 p加 1。 (21) 有人習(xí)慣用傳統(tǒng)的方式對(duì)函數(shù)形參進(jìn)行聲明,但卻把對(duì)函數(shù)的形參和函數(shù)中的局部變量混在一起定義。 } 應(yīng)改為 max(x, y) int x, y。 } (22) 所調(diào)用的函數(shù)在調(diào)用語句之后才定義,而又在調(diào)用前未加說明。 z =max(x, y)。原因是 max函數(shù)是實(shí)型的,而且在 main函數(shù)之后才定義,也就是 max函數(shù)的定義位置在 main函數(shù)中的調(diào)用 max函數(shù)之后。y=7. 6。即: float max(float x, float y) { return(z =x> y? x: y)。 z =max(x, y)。 main( ) { inta, b。 printf(%d, %d\n, a, b)。y=t。用指針變量作函數(shù)參數(shù),使指針變量所指向的變量的值發(fā)生變化。b=4。b。 t=*pt1。 main( ) { int a=3, b=4。 C要求實(shí)參與形參的類型一致。 (25) 不同類型的指針混用。i。 printf(%d, %d\n, *p1, *p2)。 作用是先將 p1的值轉(zhuǎn)換成指向?qū)嵭偷闹羔槪缓笤儋x給 p2。 struct student { int num。 struct student student1, *p。例如有以下語句: i=3。先求出最右面一個(gè)參數(shù) (++i)的值為 4,再求出第 2個(gè)參數(shù) (++i)的值為 5,最后求出最左面的參數(shù) (i)的值 5。 fun1是一個(gè)函數(shù)名。 如果在上例中,希望輸出“ 3, 4, 5”時(shí),可以改用 i=3。 (27) 混淆數(shù)組名與指針變量的區(qū)別。i++) scanf(%d, a++)。 p=a。 或 int a[5], *p。 (28) 混淆結(jié)構(gòu)體類型與結(jié)構(gòu)體變量的區(qū)別,對(duì)一個(gè)結(jié)構(gòu)體類型賦值。 int age。 worker. sex=39。上面只定義了 struct worker類型而未定義變量。 int age。 strcpy(worker1. name, Zhang Fun)。 今定義了結(jié)構(gòu)體變量 worker1,并對(duì)其中的各成員賦值。 } ch=fgetc(fp)。 fputc(ch, fp)。因此必須在用完文件后關(guān)閉它。 程序出錯(cuò)有三種情況: ① 語法錯(cuò)誤。程序并無違背語法規(guī)則,但程序執(zhí)行結(jié)果與原意不符。 while(i< =100) sum=sum+i?!薄? ③ 運(yùn)行錯(cuò)誤。a, amp。 輸入 a和 b的值, 輸出 b/a的值, 程序沒有錯(cuò)。調(diào)試程序往往比寫程序更難,更需要精力、時(shí)間和經(jīng)驗(yàn)。 程 序 調(diào) 試 所謂程序調(diào)試是指對(duì)程序的查錯(cuò)和排錯(cuò)。而這一步驟往往容易被人忽視。② 盡可能多加注釋,以幫助理解每段程序的作用 。通過上機(jī)發(fā)現(xiàn)錯(cuò)誤稱動(dòng)態(tài)檢查。 如果系統(tǒng)提示的出錯(cuò)信息多,應(yīng)當(dāng)從上到下逐一改正。只要加上一個(gè)變量定義,所有錯(cuò)誤都消除了。有的初學(xué)者看到輸出運(yùn)行結(jié)果就認(rèn)為沒問題了,不作認(rèn)真分析,這是危險(xiǎn)的。這是容易判斷的,若根不等于 1,程序顯然有錯(cuò)。 b24ac2a公式求根 x的值,當(dāng) a≠0和 b24ac> 0時(shí),能得出正確結(jié)果,當(dāng) a=0或 b24ac< 0時(shí),就得不到正確結(jié)果(假設(shè)程序中未對(duì) a=0作防御處理以及未作復(fù)數(shù)處理 )。 事實(shí)上,當(dāng)程序復(fù)雜時(shí)很難把所有的可能方案全部都試到,選擇典型的情況作試驗(yàn)即可。例如,復(fù)合語句忘記寫花括弧,只要一對(duì)照流程圖就能很快發(fā)現(xiàn)。這時(shí)就已經(jīng)把錯(cuò)誤局限在這一段中了。這種方法可以不必一一刪去 printf函數(shù)語句,以提高效率。在程序調(diào)試過程中往往反映出一個(gè)人的水平、經(jīng)驗(yàn)和科學(xué)態(tài)度
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1