c primer plus--C語言概述(第2章)--習題
因為轉專業的原因,算是半路出家吧。所以開這個部落格的想法是想記錄自己的學習過程,也許還能提高文字輸出能力(逃)
第二章 C語言概述----2.12練習
1.編寫一個程式,呼叫printf()函式在一行上輸出姓名,再呼叫一次printf()函式在兩個單獨的行上輸出名和姓,然後呼叫一對printf()函式在一行上輸出名和姓。輸出應如下所示:
Anton Bruckner 第一個輸出語句
Anton 第二個輸出語句
Bruckner 仍然是第二個輸出語句
Anton Bruckner 第三個和第四個輸出語句
1#include <stdio.h> 2 int main(void) 3 { 4 printf("Anton Bruckner\n"); 5 printf("Anton\nBruckner\n"); 6 printf("Anton "); 7 printf("Bruckner"); 8 return 0; 9 }
2.編寫一個程式輸出您的姓名及地址。(感覺和上題超類似,就略了)
3.編寫一個程式,把您的年齡轉換成天數並顯示二者的值。不用考慮平年(fractional year)和閏年(leap year)的問題。
1 #include <stdio.h> 2int main(void) 3 { 4 int age, days; 5 age = 21; 6 days = age*365; 7 printf("I am %d years old and It's %d days.", age, days); 8 return 0; 9 }
4.編寫一個能夠產生下面輸出的程式:
For he's a jolly good fellow!
For he's a jolly good fellow!
For he's a jolly good fellow!
Which nobody can deny!
程式中除了main()函式之外,要使用兩個使用者定義的函式:一個用於把上面的誇獎訊息輸出一次;另一個用於把最後一行輸出一次。
1 #include <stdio.h> 2 void repeat(void); 3 void image(void); 4 5 int main(void) 6 { 7 repeat(); 8 repeat(); 9 repeat(); 10 image(); 11 12 return 0; 13 } 14 15 void repeat(void) 16 { 17 printf("For he's a jolly good fellow!\n"); 18 } 19 20 void image(void) 21 { 22 printf("Which nobody can deny!\n"); 23 }
5.編寫一個程式,建立一個名為toes的整數變數。讓程式把toes設定為10。再讓程式計算兩個toes的和以及toes的平方。程式應該能輸出所有的3個值,並分別標識它們。
1 #include <stdio.h> 2 int main(void) 3 { 4 int toes, toes_sum, toes_squared; 5 toes = 10; 6 toes_sum = toes+toes; 7 toes_squared = toes*toes; 8 printf("toes = %d, toes_sum = %d, toes_squared = %d\n", 9 toes, toes_sum, toes_squared); 10 11 return 0; 12 }
6.編寫一個能夠產生下列輸出的程式:
Smile!Smile!Smile!
Smile!Smile!
Smile!
在程式中定義一個能顯示字串 smile! 一次的函式,並在需要時使用該函式。
1 #include <stdio.h> 2 void smile(void); 3 4 int main(void) 5 { 6 smile(); 7 smile(); 8 smile(); 9 printf("\n"); 10 11 smile(); 12 smile(); 13 printf("\n"); 14 15 smile(); 16 17 return 0; 18 } 19 20 void smile(void) 21 { 22 printf("Smile!"); 23 }
7.編寫一個程式,程式中要呼叫名為one_three()的函式。該函式要在一行中顯示單詞"one",再呼叫two()函式,然後再在另一行中顯示單詞"three"。函式two()應該能在一行中顯示單詞"two"。main()函式應該在呼叫one_three()函式之前顯示短語"starting now: ",函式呼叫之後要顯示"done!"。最後的輸出結果應如下所示:
starting now:
one
two
three
done!
1 #include <stdio.h> 2 void one_three(void); 3 void two(void); 4 5 int main(void) 6 { 7 printf("starting now: \n"); 8 one_three(); 9 printf("done!"); 10 11 return 0; 12 } 13 14 void two(void) 15 { 16 printf("two\n"); 17 } 18 19 void one_three(void) 20 { 21 printf("one\n"); 22 two(); 23 printf("three\n"); 24 }