C語言入門級教程二

2021-07-23 23:29:14 字數 3088 閱讀 1442

c語言入門級教程   icesongqiang

2016.10.24

首先看彙編的前三行,(1)表示將ia的值放入暫存器eax;(2)將ia的值與暫存器eax中的值進行乘法運算;(3)將暫存器eax中的值儲存到變數位址上。具體如下:

(1): 首先將ia的值放入暫存器eax,可以看到eax中的值變成了0x0000000c, 也就是十進位制的12;

(2) 將ia的值與暫存器eax中的值進行乘法運算,eax中的值變成了0x00000090, 也就是十進位制的144;

(3) 將暫存器eax中的值儲存到變數位址上,ia的值變成了144,記得ia已經等於144ia已經等於144ia已經等於144

接著看彙編的4-6行,(4)表示將ia的值放入暫存器ecx;(5)將ia的值與暫存器ecx中的值進行減法運算;(6)將暫存器ecx中的值儲存到變數位址上。具體如下:

(4).將ia的值放入暫存器ecx

(5)將ia的值與暫存器ecx中的值進行減法運算, 結果為0,保留在ecx中;

(6)將暫存器ecx中的值儲存到變數位址上,ia的值變成了0,記得ia已經等於0ia已經等於0ia已經等於0

最後看彙編的7-9行,(7)表示將ia的值放入暫存器edx;(8)將ia的值與暫存器edx中的值進行減法運算;(9)將暫存器edx中的值儲存到變數位址上。具體如下:

(7) 將ia的值放入暫存器edx

(8)將ia的值與暫存器edx中的值進行減法運算, 結果為0,保留在edx中;

(6)將暫存器edx中的值儲存到變數位址上,ia的值仍然了0,記得ia仍然等於0ia仍然等於0ia仍然等於0

所以,最後的結果為0,但是ia的其實是被三次修改了值的,只是最後兩次值都一樣。

思路:對於一元二次方程ax

2+bx

+c=0

,首先考慮a等於0和不為0的兩種條件,對於 a=

0 ,方程退化為一元一次方程,此時還要再考慮b為不為0的情況; 對於 a≠

0 主要依據求根公式與韋達定理,考慮共軛複數解還是兩個實數解。一句話總結,必須考慮做分母的變數值為不為0.

以下是此次實驗中比較好的**,大家可以參考:

#include 

#include

int main()

if (delta==0)

if (delta>0)

}else

if (b==0&&c!=0)

if (b!=0)

}printf("input 1 to do again,intput any key except 1 to stop\n");

getchar();

//必須加!!!!!!! 不然必出錯 回車被get

p=getchar();

}return

0;}

注意的是,對於double型別的資料,比較其等於0的情況,不能簡單使用a==0來判斷,應該使用fabs(a)<=0.000001類似的語句,這是由於計算機內部儲存精度造成的。

#include 

#define maxn 5

float num[maxn];

int i;

float max(float a,float b)

int main()

//  main.c

// c-programming-007

//// created by steven lee on 10/21/16.

//#include

int main()

else

}else

else}}

else

else

}else

else}}

printf("max=%lf\n",max);

return

0;}

還有一種比較經典的方法,不過我只看到乙個同學用了,大家可以揣摩揣摩。

//@author zhengyidan

#include

#include

int main()

C語言入門級教程

c語言入門級教程 icesongqiang 2016.10.17 常用資料型別 整型 int,short,long,c 11 long long 字元型 char 實型 float,double 列舉型別 enum 構造資料型別 結構體型別 陣列型別 指標型別 空型別 void 各種型別和其格式化輸...

C語言入門級教程三

c語言入門級教程 icesongqiang 2016.10.31 現在很多同學已經知道資料型別為double,float時判斷資料大小使用絕對值,但是要提的是我們要盡量使用fabs a 而abs 的返回值為int型,希望大家注意 關於稅收的問題,注意是分段累計求和 很多同學都是使用switch ca...

C語言入門級教程四

c語言入門級教程 icesongqiang 2016.11.7 矩陣乘法主要就是三個for迴圈。main.c c programming 014 created by steven lee on 11 2 16.include int main return 0 變數作為陣列大小的報錯,這是在vs2...