(. . 2.6). . 4.11 , 4.11 . . 4.12.
(4-8 . 4.11 , 4-6 . 4.11 , 5-7 . 4.12) - (. 4.13).
() /++ (switch) (break).
:
switch()
{
case n1:
1;
[break;]
...
case ni:
i;
[break;]
. 4.11. 4.4
. 4.12. 4.4
. 4.13.
...
case nN:
N;
[break;]
[default:
N+1;]
}
switch , ();
;
() ;
case ();
n1 ni nN (), ( );
: ;
i; , ;
default ( );
{ } switch;
[ ] ;
break (, ).
:
. () ;
ni n1 nN;
ni , (i) break, , , . ( break i , (i+1));
ni, (default: N+1;) , N+1, , .
.
,
int i; ... switch(i) { case 1: x=1; break; case 2: y=7; break; case 6: z=15; break; default: t=0; } s=3; | int i; ... switch(i) { case 1: x=1; break; case 2: y=7; break; case 6: z=15; break; } s=3; |
, i = 1, , i = 2, z i = 6, s. i 1, 2, 6, t s, s.
|
|
ni ( ) .
switch 257 .
break switch. , default, .
switch. , break , .
switch , .
goto case default .
,
int a, b;
...
switch (a b)
{
case 0:
case 1:
case 2:
x=96.;
default:
y=3;
case 5:
z=12;
}
d=6.;
, ( - b) , , y, z, d. (a - b) 5 z d. ( - b) 0, 1, 2, 5 y, z d.
switch, .
, .
. 4.9.
4.9
k | N | ||||
baz | kbaz | ball | St | n |
.
-
- , . .
/* . switch */
#include<stdio.h>
#include<stdlib.h>
main()
{
float baz, kbaz, st;
int ball, n;
scanf("%f %f %d", &baz, &kbaz, &ball);
switch(ball)
{
case 0:
st = 0;
n = 0;
break;
case 2:
st = 0;
n = 2;
break;
case 3:
st = 0;
n = 3;
break;
case 4:
st = baz;
n = 4;
break;
case 5:
st = baz + kbaz*baz;
n = 5;
break;
default:
printf("Error");
}
printf("\n baz=%.2f kbaz=%.2f ball=%d ",baz, kbaz, ball);
printf("\n st=%.2f n=%d", st, n);
}
|
300. 0.25 2
300. 0.25 3
300. 0.25 4
300. 0.25 5
4.7 (, , , , ).
! Error .
-
|
|
- , .
.
! 023 n (n = 023) (238), 320 (n = 320).
/* . switch */
#include<stdio.h>
#include<stdlib.h>
main()
{
float baz, kbaz, st;
int ball, n;
scanf("%f %f %d", &baz, &kbaz, &ball);
switch(ball)
{
case 0:
case 2:
case 3:
st = 0;
n = 320;
break;
case 4:
st = baz;
n = 4;
break;
case 5:
st = baz + kbaz*baz;
n = 5;
break;
default:
printf("Error");
}
printf("\n baz=%.2f kbaz=%.2f ball=%d ",baz, kbaz, ball);
printf("\n st=%.2f n=%d", st, n);
}
300. 0.25 0
300. 0.25 2
300. 0.25 3
300. 0.25 4
300. 0.25 5
(= 0, = 2, = 3, = 4, = 5).
4.8 (, , , , ).
! Error .
-
- , . if.
/* . if */
#include<stdio.h>
#include<stdlib.h>
main()
{
float baz, kbaz, st;
int ball, n;
scanf("%f %f %d", &baz, &kbaz, &ball);
if(ball < 4)
{
st = 0;
n=320;
}
else
if(ball ¹ 5)
{
st = baz;
n = 4;
}
else
{
st = baz + kbaz*baz;
n = 5;
}
printf("\n baz=%.2f kbaz=%.2f ball=%d ",baz, kbaz, ball);
printf("\n st=%.2f n=%d", st, n);
}
300. 0.25 0
300. 0.25 2
300. 0.25 3
300. 0.25 4
300. 0.25 5
.
4.9 (, , , , ).
.
() .
, .
, , () .
() ().
( ), ( ).
.
( ), ( ).
.
( ), .
. ( , ).
, . .
|
|
?
?
- ?
?
?
/++?
?
?
/++?
?
?
?
- ?
- ?
?
switch?
break?