標識符:由字母、數字和下劃線組成,其中第一個字符必須是字母或者下劃線。 常量:有整型常量123,實型常量12.34,字符常量'a',字符串常量"Hello World!"等。 運算符:有+(加)、-(減)、*(乘)、/(除)、%(求餘)、>(大於)、**>=(大於等於)**、**==(等於)**、**=(賦值)**等。 分隔符:有;、[、]、(、)和#等。
學習瞭解C語言中的數據類型,包括int(整型),char(字符型),float(單精度浮點型),double(雙精度浮點型)。 學習了數據格式化輸出函數printf(),數據格式化輸入函數scanf(),字符輸出函數putchar(),字符輸入函數getchar()。
學習如何運用if語句和switch語句來解決各類問題。
優先級:賦值運算符<關係運算符<算數運算符。安全
if(表達式) { 語句1 } else { 語句2; }
注意:
if語句表達式能夠接收全部的數據類型。
if語句後面不能加分號。
else子句是if語句的一部分,必須與if配對使用,不能單獨使用。
else與最靠近它的、沒有與別的else匹配過的if相匹配。ide
switch(表達式) { case '值1'://若值1==表達式的值,執行語句1 語句1;break;//阻止當前程序的執行 case '值2': 語句2;break; case '值3': 語句3;break; default://若表達式的值不知足case的任何一種狀況,則執行default下的語句 }
注意:
case後面注意有一個空格。
case後面的常量表達式不能相同。
break語句只能用於循環語句和switch語句中,不能單獨使用。函數
for(表達式1;表達式2;表達式3) { 循環體語句; }
注意:
若循環體語句由多條語句組成,必須用大括號括起來。
必須用兩個分號分隔三個表達式,但for後面無分號。學習
代碼量爲497行。測試
數據處理:
表達式:N>=100&&N<=999,N==pow(N%10,3)+pow((N/10)%10,3)+pow(N/100,3)
流程結構:輸入一個整數N,若N知足表達式N>=100&&N<=999則進入if語句,不然直接輸出"Invalid Value!"當N再知足表達式N==pow(N%10,3)+pow((N/10)%10,3)+pow(N/100,3)輸出"Yes"不然進入其else子句,輸出"No"。ui
本題可擴展爲輸出100到999之間的水仙花數及個數
3d
N==pow(N%10,3)+pow((N/10)%10,3)+pow(N/100,3)中第三個pow()裏把%改成/。code
數據處理:
表達式:item>= 0.00001,number = number * x,product = product * i,i++,sum = sum + item,item=number/product。
流程結構:輸入一個實數x,當item>= 0.00001時,進入while循環,當item< 0.00001時,跳出循環,累加各項,輸出sum的值。blog
使用for語句循環及if語句
字符串
在item類型前面加上long
數據處理:
表達式:s=(a+b+c)1.0/2,area=sqrt(s(s-a)(s-b)(s-c)),perimeter=a+b+c,(a+b>c)&&(a+c>b)&&(b+c>a)
流程結構:輸入三個整數a,b,c,若是知足表達式(a+b>c)&&(a+c>b)&&(b+c>a)則輸出面積和周長,不然輸出"These sides do not correspond to a valid triangle"。
本題可擴展爲在三條邊能構成三角形的條件下,能構成何種三角形。若三條邊知足表達式(a^2+b^2=c^2||a^2+c^2=b^2||c^2+b^2=a^2),則三條邊能構成直角三角形;若三條邊知足表達式(a==b||a==c||b==c),則三條邊能構成等邊三角形;若以上都不知足則爲銳角三角形。
printf("area = %.2f; perimeter = %.2f",area,perimeter)中間漏了分號。
代碼優勢: 使用eps控制迭代精度,以避免double類型不精確,不能和0直接比較。 使用多個if語句和while語句,邏輯清晰,井井有條。 使用了const ,便於進行類型檢查,消除了一些隱患。 代碼寫得很規範,沒有明顯的安全問題。