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

正文內(nèi)容

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

2024-10-22 19:23 本頁面
 

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