1. 程式人生 > >c primer plus--C語言概述(第2章)--習題

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>
2
int 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 }