【C언어학습】 제7장 C제어문구: 분기와 점프

14446 단어 Prim

학습 총결산
 
1. if...else...의미적으로 보면 용도가 나온다. 다른 언어와 별로 차이가 없다. 단지 기억하기만 하면 세계에서 가장 먼 거리 중 하나: 나는 if를 가고 너는 lse를 간다.
 
2. 개인의 몇 년 프로그래밍 경험에 따라 너무 많은if...else...플러그인은 코드의 가독성과 유지보수의 난이도를 높일 수 있다.개인은 코드가 3층if...else...의 플러그인을 초과하지 않는 것이 가장 좋다고 생각한다. 그렇지 않으면 브리치 제어 프로세스를 사용하는 것이 가장 좋다.
 
3. 논리 연산자 우선순위:!>&&>|||
 
4.continue 문장으로 실행하면 나머지 교체 부분이 무시되고 다음 교체가 시작됩니다.continue는 순환에만 사용되고,break 문장은 순환과 switch에 사용됩니다.
 
5. 프로그래밍 문제(문제1):
 1 #include <stdio.h>

 2 

 3 int main(){

 4         int space=0,newline=0,other=0;

 5         char ch;

 6         printf("please enter something:
"); 7 while((ch=getchar())!='#'){ 8 if(ch=='
'){ 9 newline+=1; 10 }else if(ch==' '){ 11 space+=1; 12 }else{ 13 other+=1; 14 } 15 } 16 printf("space is %d
",space); 17 printf("newline is %d
",newline); 18 printf("other is %d
",other); 19 return 0; 20 }

실행 결과:
please enter something:
hello world!
hi nihao.
#ABC
space is 2
newline is 2
other is 19
 
6. 프로그래밍 문제(문제 11):
 1 #include <stdio.h>

 2 #define ARTICHOKE_UNIT_PRIC 1.25

 3 #define BEET_UNIT_PRICE 0.65

 4 #define CAROTA_UNIT_PRICE 0.89

 5 #define DISCOUNT 0.05 

 6 #define T_0_5 3.50

 7 #define T_5_20 10.00

 8 #define T_20_ 0.1

 9 

10 int main(){

11         double a,b,c,ap,bp,cp,ac,bc,cc,sc,dc,tc;

12         ap=ARTICHOKE_UNIT_PRIC;

13         bp=BEET_UNIT_PRICE; 

14         cp=CAROTA_UNIT_PRICE;  

15         printf("how many artichoke you want(pound):");

16         scanf("%lf",&a);

17         if(a==0)return 0;

18 

19         printf("how many beet you want(pound):");

20         scanf("%lf",&b);

21         if(b==0)return 0;

22 

23         printf("how many carota you want(pound):");

24         scanf("%lf",&c);

25         if(c==0)return 0;

26 

27         printf("
------UNIT PRICE------
"); 28 printf("artichoke's unit price is $%.2f(one pound)
",ap); 29 printf("beet's unit price is $%.2f(one pound)
",bp); 30 printf("carota'unit price is $%.2f(one pound)
",cp); 31 32 printf("
------ORDER------
"); 33 printf("artichoke:%.2fpound
",a); 34 printf("beet:%.2fpound
",b); 35 printf("carota:%.2fpound
",c); 36 37 printf("
artichoke is $%.2f
",a*ap); 38 printf("
beet is $%.2f
",b*bp); 39 printf("
carota is $%.2f
",c*cp); 40 sc=a*ap+b*bp+c*cp; 41 printf("
total cost is $%.2f
",sc); 42 dc=sc>100?sc*DISCOUNT:0; 43 printf("
discount is $%.2f
",dc); 44 45 printf("
total weight is %.2f
",a+b+c); 46 if(0<(a+b+c)<=5){ 47 tc=T_0_5; 48 } 49 if(5<(a+b+c) && (a+b+c)<=20){ 50 tc=T_5_20; 51 } 52 if((a+b+c)>20){ 53 tc=8+(a+b+c)*0.1; 54 } 55 printf("
ttransport cost is $%.2f
",tc); 56 printf("
order cost is $%.2f
",sc-dc+tc); 57 58 return 0; 59 }

실행 결과:
how many artichoke you want(pound):123
how many beet you want(pound):234
how many carota you want(pound):343
 
------UNIT PRICE------
artichoke's unit price is $1.25(one pound)
beet's unit price is $0.65(one pound)
carota'unit price is $0.89(one pound)
 
------ORDER------
artichoke:123.00pound
beet:234.00pound
carota:343.00pound
 
artichoke is $153.75
beet is $152.10
carota is $305.27
 
total cost is $611.12
discount is $30.56
total weight is 700.00
ttransport cost is $78.00
order cost is $658.56

좋은 웹페이지 즐겨찾기