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;
}