一:改錯題
(1)輸出指定信息:
將給定源代碼輸入:
執行編譯命令:
錯誤信息1:
錯誤原因:英語單詞拼寫錯誤。
改正方法:stido--stdio。
錯誤信息2:
錯誤原因:缺少“;”。
改正方法:在printf(" Welcome\n")后加上“;”。
錯誤信息3:
錯誤原因:括號內缺少“””。
改正方法:在右括號前加上“””。
錯誤信息4:
錯誤原因:單詞拼寫錯誤。
改正方法:mian--main。
最終編譯運行:
(2)輸出指定信息:
將給定源代碼輸入:
執行編譯命令:
錯誤信息1:
錯誤原因:<>內缺少“.h”。
改正方法:在<>內加上“.h”。
錯誤信息2:
錯誤原因:源程序的多行注釋符缺少“/”
改正方法:將/改為//
錯誤信息3:
編譯無錯誤,但是運行不正確。
錯誤原因:第二個printf語句中缺少%。
改正方法:在d前加上%。
錯誤信息4:
編譯無錯誤,但是運行不正確。
錯誤原因:%d與后面變量個數不同。
改正方法:加上x,y。
錯誤信息5:
編譯無錯誤,但是運行不正確。
錯誤原因:x的初始值未設為3。
改正方法:將x初始值設為3。
錯誤信息6:
運行格式不太好。
錯誤原因:缺少\n。
改正方法:補充\n。
最終編譯運行:
二:學習總結
(1)根據所給源代碼求short型變量所占字節數:
運行結果:
(2)求int整型變量所占字節:
運行結果:
(3)求long 長整型變量所占字節數:
運行結果:
(4)求float浮點型變量所占字節:
運行結果:
(5)求double浮點型所占字節:
運行結果:
(二)求最大與最小值:
(1)int
(2)i+1
發現最大值與最小值相同,出現種情況是因為如果int整形變量超出最大值會導致溢出,所以又從最小值開始。
(3)j-1
發現最小值變得與最大值相等,所以當INT_MIN減去一個正數時,也會發生溢出現象。
(三)根據所給程序,輸入100 144 64:
運行:
因為:%o為八進制整數的輸入格式,%x為16進制整數的輸入格式,而在輸出語句,發現格式化輸出符號均為
十進制整數的輸出格式,所以這是導致上述運行結果的原因;
(4)對本章進行總結:
雖然這門課程才剛開始學,應該是比較簡單的,但感覺自己做起題來還是有點吃力,有些問題還是得問同學,
所以還得加強練習,只有足夠熟練才能做得夠好。
三:實驗總結
我的題號是1 3 5 9。
1
(1)本題要求編寫程序,計算4個整數的和與平均值。題目保證輸入與輸出均在整型范圍內。
(2)流程圖
(3)源代碼
#include <stdio.h>
int main()
{
int a,b,c,d,Sum;
double Average;
scanf("%d %d %d %d",&a,&b,&c,&d);
Sum = a+b+c+d;
Average = (a+b+c+d)/4.0;
printf("Sum = %d; Average = %.1f",Sum,Average);
return 0;
}
(4)測試數據及運行結果:
測試數據:1234
運行結果:
(5)實驗分析:
當變量不是整形時,不可用int,比如小數應用double型,保留一位小數應該是%.1f。
3
(1)是不是太胖了
據說一個人的標准體重應該是其身高(單位:厘米)減去100、再乘以0.9所得到的公斤數。已知市斤是公斤的兩倍。現給定某人身高,請你計算其標准體重應該是多少?(順便也悄悄給自己算一下吧……)
(2)流程圖
(3)源代碼
#include <stdio.h>
int main()
{
int H;
double W;
scanf("%d",&H);
W = (H-100)*0.9*2;
printf("%.1f",W);
return 0;
}
(4)測試數據及運行結果:
測試數據:123
運行結果:
(5)實驗分析:
市斤 公斤 斤的換算要弄清楚。
5
(1)計算物體自由下落的距離
一個物體從100米的高空自由落下。編寫程序,求它在前3秒內下落的垂直距離。設重力加速度為10米/秒2。
(2)流程圖
(3)源代碼
#include <stdio.h>
int main()
{
double height;
height = 1/2.0*10*3*3;
printf("%.2f",height);
return 0;
}
(4)運行結果:
(5)實驗分析:
保留兩位小數用“%.2f”表示,1/2的結果不是0.5而是1,要想是結果不是整形應該用1/2.0。
9
(1)逆序的三位數
程序每次讀入一個正3位數,然后輸出按位逆序的數字。注意:當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。
(2)流程圖
(3)源代碼
# include <stdio.h>
int main(void)
{
int a,b,c,d,e;
scanf("%d",&a);
b = a/100;
c = a%100/10;
d = a%10;
e = d*100+c*10+b;
printf("%d",e);
return 0;
}
(4)測試數據及運行結果:
測試數據:123
運行結果:
測試數據:700
運行結果:
(5)實驗分析:
當要求三位數的第幾位數時,要用求商/,求余%相結合的方法求。
四 PTA提交列表:
順序結構(1):
順序結構(2)