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

正文內(nèi)容

第9章編程技巧(編輯修改稿)

2025-10-22 19:23 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 *從串口讀字符 */include int get_async(){ return((char)bdos(0x3,0,0))。}這里又強(qiáng)行作了 char轉(zhuǎn)換,以保證放在 AH寄存器中的任何值,都不會(huì)讓任何調(diào)用例程亂了套。第三節(jié) 與匯編語(yǔ)言的接口(第九章 編程技巧)13 / 26 在 C語(yǔ)言編程中,需要使用匯編語(yǔ)言編寫(xiě)例程大概有三個(gè)方面的原因: ⑴ 為了提高速度和效率。 ⑵ 為了實(shí)現(xiàn)某些 C語(yǔ)言中不具備、但為不同的機(jī)器所特有的功能。 ⑶ 為了利用通用的匯編語(yǔ)言例程。 把匯編程序模塊和用戶(hù)的 C程序結(jié)合起來(lái),主要有兩種方法:第一種,單獨(dú)編寫(xiě)匯編例程,然后再將它同自己的程序連接起來(lái)。第二種,使用大多數(shù) C編譯器所具有的內(nèi)部匯編程序功能。 有的 C編譯系統(tǒng)內(nèi)部匯編使用 asm開(kāi)頭,使用 endasm結(jié)束,中間全部是匯編語(yǔ)句。而 TurboC則不同,每行匯編語(yǔ)句都要以 asm開(kāi)頭。 如:兩數(shù)相乘的函數(shù)。int mul(int a,int b){ asm mov ax,word ptr 8[bp] imul ax,word ptr 10[bp] endasm}int mul(int a,int b){ asm mov ax,word ptr 8[bp] asm imul ax,word ptr 10[bp]}第四節(jié) 程序調(diào)試問(wèn)題(第九章 編程技巧)14 / 26一、 程序易出錯(cuò)問(wèn)題 忘記定義變量。 如: main() {x=6。y=8。z=x+y。} 在使用變量之前,必須加: int x,y,z。 定義變量。 輸入輸出數(shù)據(jù)的類(lèi)型與所用格式說(shuō)明符不一致。 如: int a=3。 float b=。 printf(“%f,%d\n”,a,b)。 結(jié)果可能不是所需。 未注意 int型數(shù)據(jù)的取值范圍。 如: int num。 num=89101。 printf(“%d\n”,num)。 造成 num超界益出。 輸入變量時(shí)忘記使用地址符。 如: scanf(“%d %d”,a,b)。 應(yīng)改為: scanf(“%d %d”,amp。a,amp。b)。 輸入時(shí)數(shù)據(jù)的組織與要求不符。 如: scanf(“%d %d”,amp。a,amp。b)。 輸入若按: 3,4(Enter)則是錯(cuò)的,兩數(shù)之間應(yīng)為空格,而不是逗號(hào)。 再如: scanf(“Input a amp。 b: %d,%d”,amp。a,amp。b)。 想在屏幕上提示 Input a amp。 b:再輸入則是不正確的??筛挠?printf(“Input aamp。b:”)。 scanf(“%d,%d”,amp。a,amp。b)。這時(shí)屏幕顯示: Intput aamp。b: 后再輸入: 3,4(Enter)誤把 “=” 作為 “ 等于 ” 比較符。第四節(jié) 程序調(diào)試問(wèn)題15 / 26(第九章 編程技巧) 如: if(a=b) 應(yīng)改為: if(a==b) 應(yīng)該用 “==” 作為 “ 等于 ” 比較符。前則為賦值操作。 語(yǔ)句后面漏分號(hào)。 如: a=4 b=5 應(yīng)為: a=4。 b=5。 復(fù)合語(yǔ)句的最后一句也應(yīng)該有分號(hào)。 如: {t=a。 a=b。 b=t } 應(yīng)改為: {t=a。 a=b。 b=t。 } 在不該加分號(hào)的地方加分號(hào)。 如: if(ab)。 printf(“a is larger than b.\n”)。 再如: for(i=0。i10。i++)。{scanf(“%d”,amp。x)。 printf(“%d\n”,x*x)。} 它不能輸入 10個(gè)數(shù)據(jù),而只能輸入一個(gè)數(shù)據(jù)。 對(duì)應(yīng)該有花括弧的復(fù)合語(yǔ)句,忘記加花括弧。 如: sum=0。 i=1。 while(i=100) sum=sum+i。 i++。 結(jié)果是在循環(huán)中 i的值永遠(yuǎn)不變,循環(huán)是死循環(huán)。循環(huán)應(yīng)改為: while(i100){sum=sum+i。i++。} 括號(hào)不配對(duì)。 如: while((c=getchar()!=‘’) putchar(c)。 while語(yǔ)句后面少了右括號(hào)。1在用標(biāo)識(shí)符時(shí),忘記了大寫(xiě)字母和小寫(xiě)字母的區(qū)別。第四節(jié) 程序調(diào)試問(wèn)題16 / 26(第九章 編程技巧) 如: int a,b,c。 a=2。 b=3。 C=A+B。 大寫(xiě)與小寫(xiě)字母在 C語(yǔ)言中為兩個(gè)不同的標(biāo)識(shí)符。 1引用數(shù)組元素時(shí)誤用了圓括號(hào)。 如: int i,a(10)。 for(i=0。i10。i++) scanf(“%d”,amp。a(i))。 應(yīng)改為: int i,a[10]。 for(i=0。i10。i++) scanf(“%d”,amp。a[i])。 1 在定義元素時(shí),將定義的 “ 元素個(gè)數(shù) ” 誤認(rèn)為是 “ 可使用的最大下標(biāo)值 ” 。 如: int a[10]={1,2,3,4,5,6,7,8,9,10},i。 for(i=1。i=10。i++) printf(“%d\t”,a[i])。 數(shù)組下標(biāo)是從 0開(kāi)始,到 “ 元素個(gè)數(shù) 1” 為止的。 for應(yīng)為: for(i=0。i10。i++) 1 對(duì)二維數(shù)組或多維數(shù)組的定義和引用的方法不對(duì)。 如: int a[5,4]。 … printf(“%d”,a[1,2])。 … 。 數(shù)組的每一維下標(biāo)均應(yīng)該用一對(duì)方括號(hào)括起來(lái)。而 a[1,2]相當(dāng)于 a[2]為數(shù)組第 4行的首地址。應(yīng)改為: int a[5][4]。 printf(“%d”,a[1][2])。 1 誤以為數(shù)組名代表數(shù)組中全部元素。 如: int a[4]={1,3,5,7}。 printf(“%d,%d,%d,%d\n”,a)。1混淆字符數(shù)組與字符指針的區(qū)別。第四節(jié) 程序調(diào)試問(wèn)題17 / 26(第九章 編程技巧) 如: char s1[20],*s2。 s1=“Computer and C”。 s2=“C and Computer”。printf(“s1=%s,s2=%s\n”,s1,s2)。 編譯出錯(cuò)。 s1是數(shù)組名 ,代表數(shù)組首地址,是常量,不能再賦值。而 s2是指向字符數(shù)據(jù)的指針變量,對(duì) s2可以賦值。 s1的賦值應(yīng)改為: st
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1