1.part 1編程
這部分主要爲基礎部分,主要是驗證性內容,第一個就是把教材上的把hello,world改爲本身的學號,如圖,這只是改動了printf()中的內容,因此沒有問題。oop
#include<stdio.h> int main(){ printf("201883300002"); return 0; }
第二個就是輸入教材上給的代碼,只要細心一點輸入,不要用錯中英文輸入法就OK:spa
#include<stdio.h> int product(int,int); int main(void) { int x,y,s; scanf("%d %d",&x,&y); s=product(x,y); printf("The mul is:%d",s); return 0; } int product(int a,int b) { int mul; mul=a*b; return mul; }
至於第三個,是另外一本書上的實驗內容,是計算整數相除的一個程序,這個問題的關鍵是表達式求值的類型和運算符「*」與「/」的優先級,只要弄懂這兩個問題,是不難求得值的:code
#include<stdio.h> int main(){ int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d,e=%d,f=%d\n",d,e,f); return 0; }
第四個則主要考察了自加自減運算規則,這也要求咱們分清"i++","++i"的值的區別:blog
#include<stdio.h> int main(){ int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; }
第五個則是關係運算和邏輯運算,要求咱們熟記各個邏輯運算符表達的意思以及它們的優先級,這樣咱們才能準確分析出結果:((「!」)的優先級是最高的)it
#include<stdio.h> int main(){ int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; }
part 2:io
這部分就要比part 1難不少了(我的認爲),要求咱們本身寫出表達式來補全程序,多是第一次實驗的緣由吧,這些程序在前幾回輸入時,都出現了錯誤,可是在通過不斷的改進後,總算成功了。class
首先是第一個判斷奇偶性的程序:基礎
#include<stdio.h> int main(){ int x; printf("輸入一個整數:\n"); scanf("%d",&x); if(x%2==1) printf("是奇數"); else printf("是偶數"); return 0; }
這個程序主要的錯誤即是關係運算符「==」錯誤的用成了「=」,致使報錯,而後須要注意的就是if語句後面不能加「;」,由於此語句並無結束。程序
而後就是第二個信息判別的程序:
#include<stdio.h> int main(){ int days; printf("輸入一個整數:\n"); scanf("%d",&days); if(days>=1&&days<=5) printf("workdays, fighting\n"); else if(days==6||days==7) printf("weekend, relax~\n"); else printf("Ooops, not in 1~7\n"); return 0; }
這個程序主要的易錯點就是邏輯運算符的使用,第一次我把「&&」打成了「||」,致使不管輸入的數字是幾,都顯示"workdays, fighting「,而後看了半天才發現錯誤的地方,因爲有了第一題的提示因此此次」==「並無用錯。
最後一個就是改變大小寫了:
#include<stdio.h> int main(){ char ch; printf("輸入一個字符:\n"); scanf("%c",&ch); if(ch>='a'&&ch<='z'){ ch=ch+('A'-'a'); printf("%c\n",ch); } else printf("%c\n",ch); return 0; }
在這個程序上我犯得錯誤是最多的,首先在if語句後面我沒有加」{}「,致使程序一直報錯:」’else' without a previous 'if'",而後等我找到這個錯誤以後,又把‘A’和‘a’的ASCΙΙ碼大小給記錯了,致使當輸入‘a’時,輸出「?」。
體會:
通過這一次實驗以後,我以爲編程有時就像是下象棋,有時候一步錯,步步錯,而更加糟糕的是,編程有時候都不知道哪裏錯了,盯着屏幕老半天也難發現錯誤,因此我以爲編程其實也是對咱們細心的一種考驗吧。總而言之,在此次實驗中我收穫了不少,也進步了不少。