3.學習筆記_5

習題 5.1

1.

(a)

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a=8;
    printf("a=%d\n",++a);
    printf("a=%d\n",--a);

    system("pause");
    return 0;
}

(b)

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a=10,b=20;
    a=a%5;
    b=b/6;
    printf("a=%d\n",a);
    printf("b=%d\n",b);

    system("pause");
    return 0;
}

(c)

include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a=20,b=5;
    a=20,b=5;
    a=a%b;
    b=b*3;
    printf("a=%d\n",a);
    printf("b=%d\n",b);

    system("pause");
    return 0;
}

2.

(a) 'a'<28  →  false
(b) 4+3==8-1  →  true
(c) 8>2  →  true
(d) 'a'!=97 →  false

3.

(a) (6+num)-12+a  →  運算元6、num、12、a 運算子()、+、-、+
(b) num=(12+ans)-24  →  運算元num、12、ans、24 運算子=、()、+、-
(c) k++  →  運算元k 運算子++

4.

一元運算子不用前後都有運算元,只需一個就可以了

5.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    printf("(a) 6%%4 結果為 %d\n",6%4);
    printf("(b) 12%%6 結果為 %d\n",12%6);
    printf("(c) 12%%12 結果為 %d\n",12%12);
    printf("(d) 35%%50 結果為 %d\n",35%50);
    printf("(e) 50%%35 結果為 %d\n",50%35);

    system("pause");
    return 0;
}

習題 5.2

6.

(a) (12/3)+(4*10)+(12*2)
(b) 12+(5*12)-[(5*6)/4]
(c) 5-(2*7)+56-(12*12)-[(6*3)/4]+1

7.

(a)1  (b)67  (c)9  (d)0  (e)1  (f)1  (g)0  (h)1  (i)1  (j)0

8.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{    
   printf("12-4%%6/4=%d\n",12-4%6/4);
   printf("7*5%%12*6/4=%d\n",7*5%12*6/4);
   printf("(13%%6)/7*8=%d\n",(13%6)/7*8); 

   system("pause");
   return 0;
}

習題 5.3

9.

10.

11.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{    
   double f,c;

   printf("請輸入攝氏溫度:");
   scanf("%lf",&c);          /*已開始宣告為double,故要用 %lf,而非 %f*/

   f=(9/5)*c+32;

   printf("攝氏%.2f度=華氏%.2f度\n",c,f); 

   system("pause");
   return 0;
}

12.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{    
   double f,c;

   printf("請輸入華氏溫度:");
   scanf("%lf",&f);

   c=(f-32)*5/9;

   printf("華氏%.2f度=攝氏%.2f度\n",f,c); 

   system("pause");
   return 0;
}

13.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{    
   double mi,km;

   printf("請輸入英哩數:");
   scanf("%lf",&mi);

   km=1.6*mi;

   printf("%.2f英哩=%.2f公里\n",mi,km); 

   system("pause");
   return 0;
}

14.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{    
   double mi,km;

   printf("請輸入公里數:");
   scanf("%lf",&km);

   mi=1/1.6*km;

   printf("%.2f公里=%.2f英哩\n",km,mi); 

   system("pause");
   return 0;
}

15.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{    
   double num,u,h;

   printf("請輸入底長:");
   scanf("%lf",&u);
   printf("請輸入高:");
   scanf("%lf",&h);

   num=u*h;

   printf("此平行四邊面積=%.2f\n",num); 

   system("pause");
   return 0;
}

16.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{    
   double num,r;

   printf("請輸入半徑:");
   scanf("%lf",&r);

   num=4*r*r*r/3;

   printf("此圓球體積=%.2fπ\n",num); 

   system("pause");
   return 0;
}

習題 5.4

17.

18.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{    
   char   a='a';
   short  b=38;
   float  c=10.4f;
   int    d=12;
   double e=8.4;

   printf("(a)\n");
   printf("a*(b*c)+(d/e)=%f\n",a*(b*c)+(d/e));
   printf("size=%d\n",sizeof(a*(b*c)+(d/e)));
   printf("\n");

   printf("(b)\n");
   printf("a-(b*+c)+b-e=%f\n",a-(b*+c)+b-e);
   printf("size=%d\n",sizeof(a-(b*+c)+b-e));
   printf("\n");

   printf("(c)\n");
   printf("d+(b+c)+a*(d*a)=%f\n",d+(b+c)+a*(d*a));
   printf("size=%d\n",sizeof(d+(b+c)+a*(d*a)));
   printf("\n");

   printf("(d)\n");
   printf("5-(a+b)/4=%f\n",float(5)-(a+b)/float(4)); /*自己亂打結果可以出現正解,但不確定為甚麼*/
   printf("size=%d\n",sizeof(5-(a+b)/4));
   printf("\n");

   system("pause");
   return 0;
}

results matching ""

    No results matching ""