(2)在此基礎上,修改程式的第10~15行為:
a=61; b=62;
c1=a; c2=b;
d=f; e=g;
f=3157.890121; g=0.123456789;
m=50000; n=60000;
p=a=m=50000; q=b=n=-60000;
結果:a=50000,b=-60000
c1==,c2=>
d= -1.#j,e= -1.#j
f= 3157.890121,g= 0.123456789000
m=50000,n=-60000
p=50000,q=4294907296
(3)改用scanf函式輸入資料而不用賦值語句,scanf函式如下:scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);
程式:#include <>
void main()
結果:enter:61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,32768,40000
a=61,b=62
c1=a,c2=b
d= 3.56,e= -6.87
f= 3157.890121,g= 0.123456789000
m=50000,n=-60000
p=32768,q=40000
分析:scanf為輸入函式,定義型別不變,輸入資料不變,因此所得結果如上所示(與(1)分析相同)。
(4) 將printf語句改為:
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e); printf("f=%f,g=%f\nm=%ld,n=%ld\np=%d,q=%d\n",f,g,m,n,p,q);執行並分析結果。
程式:#include <>
void main()
結果:a=61,b=62
c1=a,c2=b
d= 3056.000000,e=-6087.000000000000
f=3157.890121,g=0.123457
m=50000,n=60000
p=32768,q=40000
分析:a,b為整型變數,按%d輸出,得到如上的結果;c1,c2為字元型,按%c輸出,得到如上的結果;d,e為單精度浮點型,按%15.6f輸出,其中整個資料佔15列,小數6列,因為位置過寬,所以左邊為空格,得到的結果如上;f,g雙精度變數,按%f輸出,精度損失,結果如上;m,n為長整型,按%ld輸出,得到結果如上;p,q為無符號整型,儲存範圍增加,因此得到如上結果。
(5) 將p,q改用%o格式符輸出。
結果:a=61,b=62
c1=a,c2=b
d=3056.00,e=-6087.00
f= 3157.890121,g= 0.123456789000
m=50000,n=60000
p=100000,q=116100
press any key to continue
分析:a,b為整型變數,按%d輸出,得到如上的結果;c1,c2為字元型,按%c輸出,得到如上的結果;d,e為單精度浮點型,按%6.2f輸出,其中整個資料佔6列,小數兩列,得到的結果如上;f,g雙精度變數,按%15.
6f輸出,其中整個資料佔15列,小數為6列(如全為小數,則全部輸出)因為位置過寬,所以前面留有空格,結果如上;m,n為長整型,按%ld輸出,得到結果如上;p,q為無符號整型,儲存範圍增加,按%o輸出,即是以八進位制輸出,因此得到如上結果。
(6)將scanf函式中的%lf和%ld改為%f與%d,執行並分析結果。
結果:a=61,b=62
c1=a,c2=b
d= 3.56,e= -6.87
f=-.000000,g=-925
.000000000000
m=50000,n=-60000
p=32768,q=40000
press any key to continue
(7)將乙個負整數賦給乙個無符號的變數,會得到什麼結果。
答:當用%u輸出時,得不到負數;當以%d輸出時得到負數。
(8)將乙個大於32767的長整數賦給整型變數,會得到什麼結果。
答:得到所需結果。
(9)將乙個長整數賦給無符號變數,會得到什麼結果(分別考慮該長整數的值大於或等於65535以及小於65535的情況)。
答:都能得到所需結果。
3、#include <>
#include <>
void main()
else printf("x=%0.2f\n",-c/b);
}else if(d>=0)
else
}(5) 結果:enter a,b,c:2.0 9.0 3.0
x1=-0.36
x2=-4.14
4、輸入乙個華氏溫度,要求輸出攝氏溫度。其中f為華氏溫度,c為攝氏溫度。
程式:#include<>
int main()
結果:f=64.000000
c=17.777778
press any key to continue
5、從鍵盤輸入兩個字元,要求輸出這兩個字元,並輸出它們的ascⅱ碼及其ascⅱ碼的平方和平方根。
程式:#include<>
#include<>
int main()
結果:please enter c1,c2:
abab97,98,19013.000000
press any key to continue
6、驗證%f格式輸出實數時指定小數字數。
程式:#include <>
void main()
結果:123.456001 123.456001 123.46 123.46 123.46
分析:定義f為%f型,分別按%f,%10f,%10.2f,%.
2f,%-10.2f格式輸出。其中,%f,%10f輸出時小數最後一位都為1,這是因為系統自加上去,表示資料有效,精確到最後一位;%10.
2f指定資料佔10列,小數兩列,因此最後一位小數不是精確值,是四捨五入後得到的結果;同理,%.2f輸出,整數部分不變,小數為四捨五入之後的結果;%-10.2f是在%10.
2f的基礎上要求左對齊,因此右邊留有空格。
7、從鍵盤輸入乙個小於1000的正數,要求輸出它的平方根(如平方根不是整數,則輸出器整數部分)。要求在輸人資料後先對其進行檢查是否為小於1000的整數。若不是,則要求重新輸入。
#include <>
#include <>
int main()
{ double a;
scanf("%lf",&a);
C語言程式設計順序結構程式設計
一 選擇題 1 putchar 函式可以向終端輸出乙個 a 整型變數表示式值 b 實型變數值 c 字串 d 字元或字元型變數值 2 已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,a和b,當從第一列開始輸入資料時,正確的資料輸入方式是 int a1,a2 char c1,c...
c語言順序結構程式設計
一 選擇題 語言中呼叫printf進行輸出時需要注意,在格式控制串中,格式說明與輸出項的個數必須相同。如果格式說明的個數小於輸出項的個數,多餘的輸出項將如果格式說明的個數多於輸出項的個數,則對於多餘的格式將輸出不定值 或0 0級 a 不予輸出 b 輸出空格 c 照樣輸出 d 輸出不定值或0 2.在 ...
C語言順序結構程式設計
實驗報告二 一 實驗目的 1.掌握c語言資料型別及其定義,以及對變數賦值的方法 2.學會使用c語言的有關運算符號以及相應的表示式的使用 3.掌握各種型別資料的輸入輸出方法,能正確使用各種格式轉換符 4.進一步熟悉c程式的編輯 連線和執行的過程 二 實驗內容 實驗2 1 程式設計序,從螢幕輸入圓柱體的...