cהנדסת תוכנה בשפת

353
  C  :  מ סר 2000 ר ד ז ר מ  www.mh2000.co.il  :  ר י א רת א "C  ת פ ש ב  נ ו תדסתנ " רפס ה ל ע ססוב מ 

Upload: joseffrid

Post on 07-Oct-2015

66 views

Category:

Documents


0 download

DESCRIPTION

c הנדסת תוכנה בשפת test

TRANSCRIPT

  • : C 0002

    : li.oc.0002hm.www

    " C"

  • 2 : C : C

    0002 li.oc.0002hm.www

    1 . 32 . C 143 . 964 . / 99

    5 . 1216 . 3417 . 3718 . 3919 . 51201 . 73211 . 75221 . 57231 . / 10341 . )TDA( 513

  • 3 : 1

    www.mh2000.co.il 2000

    . 1

    (CPU)

    C

  • 4 : C : C

    0002 li.oc.0002hm.www

    , .

    " .

    : , .

    . .

    :

    A

    B

    C

  • 1 : 5

    0002 li.oc.0002hm.www

    :

    )(, ,

    "

    ,

    :

  • 6 : C : C

    0002 li.oc.0002hm.www

    :

    /

    /

    ,

    )suB sserddA( )suB ataD(. " .

    " :

    :

    / : /

    : . ", . , . '

  • 1 : 7

    0002 li.oc.0002hm.www

    : , , .

    :

    , ,

    , ,

    IPA

    " .

    .

    / , , .

    .

    , .

    )ecafretnI remmargorP noitacilppA = IPA(. : , .

  • 8 : C : C

    0002 li.oc.0002hm.www

    )UPC( )tinU gnissecorP lartneC ,UPC(

    :

    ssecorP

    ABCD

    ...

    ULA

    )suB sserddA(

    )suB ataD(

    PI

    RS

    :

    )ULA(

    )RS( )PI(

    , )suB sserddA( )suB ataD( , , .

    , .

  • 1 : 9

    0002 li.oc.0002hm.www

    '

    : ), , ( ) , , ( .

    / .

    . , )reddA( , )reilpitluM( .

    /, )" (

    .

    )reddA( ,

    :

    1 2

    2 . :

    : X - Y )Y-( + X. : Y X Y + Y X .

  • 01 : C : C

    0002 li.oc.0002hm.www

    )sretsigeR esopruP lareneG(

    .

    . , 4

    D,C,B,A:

    ABCD

    ...

    ...

    ...

    ...

    "0" "1".

  • 1 : 11

    0002 li.oc.0002hm.www

    )retsigeR sutatS( / :

    RS Z N C ........

    . :

    Z )oreZ( % 1 0, % 0.

    N )evitageN( % 1 , 0 . C )yrraC( % 1 )(.

    :

    Y==X fi...

    "" )eurT( "" )eslaF(. : Y < X X Y

    Y => X X Y

    Y == X X Y

    : Y == X?

    1( Y X : ) %(

    )Y-( X

    2( Z :

    1 X Y % "".

  • 21 : C : C

    0002 li.oc.0002hm.www

    % "", Y > X Y < X.

    , Y > X %:

    1( Y X :

    )Y-( X

    2( Z N :

    0 X Y % "".

    % "", Y==X Y < X.

    : Y => X ?

  • 1 : 31

    0002 li.oc.0002hm.www

    " . " .

    :

    1 . )edocpo( . ) (. 2 . 1 , .

    , % .

    3 . 2 . , .

    1. 5, ( B % 3: 3+BB. :

    5 B 3

    2. 8. 6 A :

    8 A 6

    3. / 6. AC.

    6 C A

    4. 2 :

    12 A : 12 + AA.

    A C : AC.

    :

    .1 5 A 12

    .2 6 C A

    / / ' 31 9.

  • 41 : C : C

    0002 li.oc.0002hm.www

    )retnioP noitcurtsnI( .

    % , )" ( . )/ (.

    , 21 ) 4 , 4 (. %:

    edocpo )PI(

    0001 5 8 , A

    2101 6 B , A

    4201 8 2 , D

    6301 5 C , D

    :

    :

    PI % , . PI )pmuj( .

    )tinU lortnoC( . "

    /:

    ( , .

  • 1 : 51

    0002 li.oc.0002hm.www

    )yromeM( ( , (.

    )sserddA( . , )suB sserddA( ,

    % )suB ataD(:

    8 A 5 :0001B A 6 :21012 D 8 :4201C D 5 :6301

    suB ataD

    suB sserddA

    , , 4 . 21 .

    % , , ,

    .

    .

    , 2101:

    6 A B

    , 3 :

    8 4201 1.

    D 8201 2.

    2 2301 3.

    , :

    8 D 2

  • 61 : C : C

    0002 li.oc.0002hm.www

    )tnemgeS ataD( )tnemgeS edoC(

    : .

    % , .

    :

    8 A 5 0001B A 6 21011rav 2rav 8 4201C D 5 6301

    - suB ataD

    - suB sserddA74 = 2rav 447

    21 = 1rav 047

    , 1rav 2rav " / . .

    : . " .

    , 4201, 1rav 2rav 2rav:

    rav1

    rav2

    8

    % , 1rav 2rav , 2rav " .

  • 1 : 71

    0002 li.oc.0002hm.www

    :

    ?

    8 4201 1.

    )447( 2rav 8201 2. 74447 3.

    )047( 1rav 2301 4. 21047 5.

    53447 6.

    : , 8, . ,

    , 2rav, , 447.

    %, 447, % 74.

    1rav 047. , : 1rav - 2rav 2rav, , 2rav % 53.

    2rav, 447.

  • 81 : C : C

    0002 li.oc.0002hm.www

    ( , . , % " ,

    %.

    /: , , , :

    )suB sserddA(

    /

    ssecorP

    ABCD

    ...

    ULA

    PI

    RS

    )7505()6505(

    )suB ataD(

    / , , "" / .

    , 6505, ,

    .

    , 7505, " 7505 .

  • 1 : 91

    0002 li.oc.0002hm.www

    ) 6505( " ) 03( A, ) 2 " ) 5(, ' "

    ) 13(:

    1 2

    draobyekA)6505(

    03

    5AA

    13 )7505( neercs A

    : /

    /.

  • 02 : C : C

    0002 li.oc.0002hm.www

    , /

    , : , /:

    )suB sserddA(

    8 A 41 0001B A 6 21011rav 2rav 8 4201C D 41 6301

    74 = 2rav 447

    21 = 1rav 047

    /

    ssecorP

    ABCD

    ...

    ULA

    PI

    RS

    )suB ataD(

    / / ' 21 ' 41.

  • 1 : 12

    0002 li.oc.0002hm.www

    , : , .

    , , :

    5 dda

    8 bus

    6 evom

    03 ni

    13 tuo

    , : , draobyek neercs. :

    ATAD_31 = 1atad6 = 2atad

    EDOC_1atad ,2atad dda2atad ,A evomB ,draobyek niB ,A busA ,neercs tuo

    : % "

    ATAD_ " EDOC_.

    , .

    / / ' 51.

  • 22 : C : C

    0002 li.oc.0002hm.www

    )tiB(. 0 1. )etyB( 8 . :

    0 1 0 0 1 0 1 1

    )droW( . 2 )61 (, 4 )23 ( 8 )46 (.

    " ?

    1 ==< 2 :

    0

    1

    2 ==< 4 :

    0 0

    1 0

    0 1

    1 1

    3 ==< 8 :

    0 0 0 0 0 1

    1 0 0 1 0 1

    0 1 0 0 1 1

    1 1 0 1 1 1

    , , % n n2 . , % 8 82

    652.

  • 1 : 32

    0002 li.oc.0002hm.www

    : BK, BM ' BG

    n2 ... 04 ,03 ,02 ,01=n 01, . :

    012 4201 ) % 0001( BK )etyB-oliK( 022 6758401 ) % 0000001( BM )etyB-ageM(

    032 4281473701 ) % 0000001( BG )etyB-agiG(

    2

    41 2. ,

    % BK61 = 012 * 42. , 232 % BG4 = 032 * 22.

    ? 2961 01:

    1*2 + 01*9 + 001*6 + 0001*1 = 2961

    001*2 + 101*9 + 201*6 + 301*1 =

    01 9 ...2, 1, 0 01.

    .

    :

    1 :

    1 0 5 3

    + 4 7 3

    1 5 2 6

  • 42 : C : C

    0002 li.oc.0002hm.www

    2 2. , :

    1001001111 ,001001 ,101 ,1

    ? 0110:

    02*0 + 12*1 + 22*1 + 32*0 = 0110

    0 + 2 + 4 + 0 =

    6 =

    016 = 20110

    / / ' 61 ' 81.

  • 1 : 52

    0002 li.oc.0002hm.www

    " 4 :

    0 = 0000 4 = 0010 8 = 0001 21 = 0011

    1 = 1000 5 = 1010 9 = 1001 31 = 1011

    2 = 0100 6 = 0110 01 = 0101 41 = 0111

    3 = 1100 7 = 1110 11 = 1101 51 = 1111

    2 :

    0 + 0 = 0

    1 + 0 = 1

    1 + 1 = 1 0

    1 + 1 + 1 = 1 1

    :

    1 1 1 1 :

    0 1 1 0 1 0 1 1

    + 1 1 0 1

    0 1 1 1 1 0 0 0

  • 62 : C : C

    0002 li.oc.0002hm.www

    :

    1 . X.

    2 . X % 2 .

    3 . % 2 .

    4 . 3 0.

    5 . .

    , 731 :

    2 / 731 = 86 1

    2 / 86 = 43 0

    2 / 43 = 71 0

    2 / 71 = 8 1

    2 / 8 = 4 0

    2 / 4 = 2 0

    2 / 2 = 1 0

    2 / 1 = 0 1

    : 10010001

    / / ' 41 ' 91.

  • 1 : 72

    0002 li.oc.0002hm.www

    ' 2

    )tnemelpmoC s'owT( " "%". "

    : 0 % , 1 % .

    :

    % 0 1 1 0 1 1 0 0

    % 0 1 1 1 0 1 1 1

    2.

    , , " )8 ( 652=82 , , 2 %

    821=72.

    : " 2"

    )tnemelpmoc s'owT(. , 33% ) (:

    1. 33:

    = 33 10000100

    2. )0 % 1 % 1 % 0(:

    01111011

    +

    1 1 1 3.

    = 33 - 11111011

    " % 2".

    , , , 1 1 1.

  • 82 : C : C

    0002 li.oc.0002hm.www

    :

    BSM )tiB tnacifingiS tsoM( % . .

    BSL )tiB tnacifingiS tsaeL( % . .

    BSM BSL

    0 1 0 0 1 0 1 1

    :

    % BSM )0( )1(. % BSL )0( )1(.

    1 0 , % 2 .

    , % 2 ) , (.

    )TFIHS(. :

    0100 = 2 : 0010 = 4

    1010 = 5 : 0100 = 2

    , n % n2, n % n2. :

    00100000 = 4 : 00000100 = 23

    10110000 = D : 10000000 = 1

  • 1 : 92

    0002 li.oc.0002hm.www

    ' ) 61(

    . % ) 61( . 61 :

    9 % 0 % .

    A % 01.

    B % 11.

    C % 21.

    D % 31.

    E % 41.

    F % 51.

    % % 4 :

    % %

    0000 % 0 0001 % 8

    1000 % 1 1001 % 9

    0100 % 2 0101 % A

    1100 % 3 1101 % B

    0010 % 4 0011 % C

    1010 % 5 1011 % D

    0110 % 6 0111 % E

    1110 % 7 1111 % F

    , " 2 %. :

    %: 9B. ?

    : 9 1001 , B 1101, 10011101. , % .

  • 03 : C : C

    0002 li.oc.0002hm.www

    '

    % .

    % : 43F1 %. " 61:

    061*4 + 161*3 + 261*51 + 361*1 = 6143F1

    1*4 + 61*3 + 652*51 + 6904*1 =

    018897 = %: 889,7.

    " :

    61 / 8897 = 994 4

    61 / 994 = 13 3

    61 / 13 = 1 F

    61 / 1 = 0 1

  • 1 : 13

    0002 li.oc.0002hm.www

    ) (,

    61 F-0. :

    01 = 1 + F

    F = 7 + 8

    E1 = F + F

    :

    1.

    1 1 :

    3 F 1 D

    + 2 0 3

    4 1 2 0

    2.

    1 1 :

    2 E F 3

    + 3 F 6 A

    6 E 5 D

    / / ' 41 ' 32.

  • 23 : C : C

    0002 li.oc.0002hm.www

    ) 8(

    8, 7..0.

    %, 8 3 . :

    017 = 2111 = 87

    018 = 2000 100 = 801

    0101 = 2010 100 = 821 .

  • 1 : 33

    0002 li.oc.0002hm.www

    , "

    .

    1 % 2 % ,

    / :

    ATAD_1#2#3#4#

    EDOC_1# ,6505 032# ,6505 033# ,6505 031# ,4# 52# ,4# 53# ,4# 54# ,7505 13

    " , : , ,

    , , '.

    , :

    1atad regetni2atad regetni3atad regetnimus regetni

    1atad daer2atad daer3atad daer3atad + 2atad + 1atad = musmus tnirp

    : . , , , ,

    .

  • 43 : C : C

    0002 li.oc.0002hm.www

    " )rotidE( 3. " ,

    '.

    " )relipmoC(: 3 %

    % .

    3 .

    % , 3, :

    ATAD_1#2#3#4#

    EDOC_1# ,6505 032# ,6505 033# ,6505 031# ,4# 52# ,4# 53# ,4# 54# ,7505 13

    1atad regetni2atad regetni3atad regetnimus regetni

    1atad daer2atad daer3atad daer3atad + 2atad + 1atad = musmus tnirp

    c.gorp1atad regetni2atad regetni3atad regetnimus regetni

    1atad daer2atad daer3atad daer3atad + 2atad + 1atad = musmus tnirp

    " )rotidE(

    1

    32

    4

    c.gorp

    exe.gorp

    ,EDI()tnemnorivnE tnempoleveD detargetnI ,

    " .

    , , .

  • 1 : 53

    0002 li.oc.0002hm.www

    .

    .

    , , . :

    " "

    .

    , " " .

    :

    ...

    , .

  • 63 : C : C

    0002 li.oc.0002hm.www

    , , .

    , , " , .

    , :

    / 3 , .

    :

    3

    3

    + +

    3

    ? , :

    " 3 " .

    . :

    : 3mun ,2mun ,1mun

    ! 1mun

    2mun

    3mun

    " " , , .

    , "

    gva

  • 1 : 73

    0002 li.oc.0002hm.www

    :

    3mun, 2mun, 1mun gva

    " 3" :

    gva 3 gva

    " " :

    gva

    :

    : 3mun ,2mun ,1mun

    gva

    ! 1mun

    2mun

    3mun

    3mun ,2mun ,1mun gva

    gva 3 gva

    gva

    :

    + + gva2mun3mun 1mun

    gva3

    gva

    2mun3mun 1mun

    gva

    ? :

    .

  • 83 : C : C

    0002 li.oc.0002hm.www

    , : .

    , gva, , .

    : 3mun ,2mun ,1mun ,

    gva ,

    ! 1mun

    2mun

    3mun

    3mun ,2mun ,1mun gva

    gva 3 gva

    gva

    .

    C.

  • 1 : 93

    0002 li.oc.0002hm.www

    C C .

    .

    , C , emarfniaM ,CP ,xinU .

    " C . :

    , , .

    , .

    , , .

    , .

    ++C C, avaJ. ++C C, C ++C.

    , C ++C. , ++C C .

    ++C. , # # ++C " # )ppc. swodniW cc. xuniL/xinU(, "

    .

    , "++C " , ppc/li.oc.0002hm.www//:ptth.

  • 04 : C : C

    0002 li.oc.0002hm.www

    C 07 " '. B ) ( LPCB ) '( .

    C xinU.

    C " ISNA )etutitsnI dradnatS lanoitaN naciremA( " 08.

    .

    )C-ISNA( C .

  • 41 C : 2

    www.mh2000.co.il 2000

    C . 2

    C -

    ,

    /

  • 24 : C : C

    0002 li.oc.0002hm.www

    C C . :

    c.olleh :elif>h.oidts< edulcni#

    ) ( niam diov{

    ;)"n\!learsI ,olleh"(ftnirp}

    :

    !learsI ,olleh

    # c.olleh. # . :

    >h.oidts< edulcni#

    / h.oidts )O/I dradnatS(. :

    )( niam diov{

    } :

    niam C.

    .

    , .

    {;)"n\!learsI ,olleh"(ftnirp

    }

    " , " ftnirp: , "n\!learsI ,olleh",

    "n\" " )enil wen(.

  • 2 : C 34

    0002 li.oc.0002hm.www

    ftnirp " . :

    >h.oidts< edulcni#) (niam diov{

    ;)",olleh"(ftnirp;)"!learsI"(ftnirp;)"n\"(ftnirp

    }

    ++C : ++C , "

  • 44 : C : C

    0002 li.oc.0002hm.www

    ,

    .

    " 0002", li.oc.0002hm.www, .

    :

    : # " weN / eliF: : " # .

    : , evas / eliF # c.olleh.

    : elipmoC. , # " nuR.

    , , . .

    ++C/C, ++C lausiV tfosorciM swodniW.

    "noitacilppA elosnoC 23niW" .

    / / ' 33.

  • 2 : C 54

    0002 li.oc.0002hm.www

    ,

    C:

    3

    1, " ", 3 :

    : 3mun ,2mun ,1mun ,

    gva ,

    ! 1mun

    2mun

    3mun

    3mun ,2mun ,1mun gva

    gva 3 gva

    gva

  • C : C : 46

    www.mh2000.co.il 2000

    :

    num1 num3num2avg + +

    avg3

    avg

    num1 num3num2

    avg

    : average.c # C /* file: average.c */#include

    /* calculate the average of 3 numbers */void main(){

    int num1, num2, num3;float avg;

    printf("Enter 3 integer numbers: ");scanf("%d %d %d", &num1, &num2, &num3);

    avg = num1 + num2 + num3;

    avg = avg / 3;

    printf("The average is: %f", avg);}

    3

    Enter 3 numbers: 23 45 11

    :

    The average is: 26.333334

  • 2 : C 74

    0002 li.oc.0002hm.www

    , / :

    >h.oidts< edulcni#

    : /*...*/ :

    /* srebmun 3 fo egareva eht etaluclac */) ( niam diov{...

    } , niam. diov

    . .

    , )epyt( " .

    tni )regetni( : ;3mun ,2mun ,1mun tni

    3mun ,2mun ,1mun . , .

    taolf )tniop gnitaolf( gva: ;gva taolf

    gva .

    :

    rahc ,

    trohs

    gnol

    elbuod

    elbuod gnol .

  • 84 : C : C

    0002 li.oc.0002hm.www

    . .

    ;)" :srebmun regetni 3 retnE"(ftnirp

    3 . "

    fnacs :;)3mun& ,2mun& ,1mun& ,"d% d% d%"(fnacs

    fnacs " . fnacs

    "d% d% d%"

    , " :

    3mun& ,2mun& ,1mun&

    fnacs .

    "&" " ": 8, "".

    3 : d% .

    , " :

    3mun& 2mun& 1mun& ,"d% d% d% "(fnacs

    , :

    f%

    c%

    s%

    fnacs "" , .

    , .

    , gva :;3mun + 2mun + 1mun = gva

  • 2 : C 94

    0002 li.oc.0002hm.www

    "=" C )tnemngissA(. . "".

    : ?

    : " " : "==".

    " gva 3 : ;3 / gva = gva

    3 / gva gva. gva , .

    " :

    ;3 / )3mun + 2mun + 1mun( = gva

    . .

    gva " ftnirp :;)gva ,"f% :si egareva ehT"(ftnirp

    fnacs, ftnirp .

    , ftnirp .

    :si egareva ehT

    gva. , 433333.62 :si egareva ehT

    ++C : ++C , ">>", . " ++C:

    /* ppc.egareva :elif */>h.maertsoi< edulcni#

    /* srebmun 3 fo egareva eht etaluclac */)(niam diov{

    ;3mun ,2mun ,1mun tni;gva taolf

    ;" :srebmun regetni 3 retnE"

  • 05 : C : C

    0002 li.oc.0002hm.www

    ;3mun >> 2mun >> 1mun >> nic

    ;3mun + 2mun + 1mun = gva

    ;3 / gva = gva

    ;gva " .

    / ++C . "

    .

  • 2 : C 15

    0002 li.oc.0002hm.www

    " . .

    .

    C :

    esle-fi

    esle-fi

    esle-fi . , 2 , 1mun 2mun, :

    ) 2mun > 1mun (fi;)2mun - 1mun ,"d% =|2mun - 1mun|"(ftnirp

    esle;)1mun - 2mun ,"d% =|2mun - 1mun|"(ftnirp

    esle-fi " :

    2mun > 1mun

    ,"d% =|2mun - 1mun|"(ftnirp;)2mun - 1mun

    ,"d% =|2mun - 1mun|"(ftnirp;)1mun - 2mun

    fi , 1mun 2mun :

    ) 2mun > 1mun (fi;)2mun - 1mun ,"d% =|2mun - 1mun|"(ftnirp

  • 25 : C : C

    0002 li.oc.0002hm.www

    esle fi :

    esle;)1mun - 2mun ,"d% =|2mun - 1mun|"(ftnirp

    esle fi esle.

    / ' 1404.

    fi esle, , : ) 2mun > 1mun (fi{

    ;1mun = xam;)xam ,"d% :si mumixam ehT"(ftnirp

    } }{ .

    ++C : ++C :

    /* ppc.esle-fi :elif */>h.maertsoi< edulcni#

    )(niam diov{

    ;2mun ,1mun tni

    ;" :sregetni 2 retnE" > 1mun >> nic) 2mun > 1mun (fi

    ;2mun - 1mun

  • 2 : C 35

    0002 li.oc.0002hm.www

    '>' " ". C :

    x y y == x

    x y y =! x

    x y y > x

    x y y => x

    x y y < x

    x y y =< x

  • 45 : C : C

    0002 li.oc.0002hm.www

    elihw

    elihw :

    ) (elihw{

    } " .

    elihw:

    ?

    elihw

    ' . :

    mc 45.2 = hcni 1 :

    /* c.trevnoc :elif */>h.oidts< edulcni#

    /* elbat noisrevnoc retemitneC - hcnI na tnirp */) ( niam diov{

    ;hcniX tni;mcX taolf;pets ,reppu ,rewol tni

    /* elbat fo timil rewol */ ;0=rewol/* timil reppu */ ;01=reppu/* ezis pets */ ;1=pets;rewol=hcniX

  • 55 C : 2

    www.mh2000.co.il 2000

    while(Xinch

  • 65 : C : C

    0002 li.oc.0002hm.www

    :

    ;hcniX tni;mcX taolf;pets ,reppu ,rewol tni

    , , . :

    /* elbat fo timil rewol */ ;0=rewol/* timil reppu */ ;01=reppu/* ezis pets */ ;1=pets;rewol=hcniX

    elihw : )reppu =< hcniX(elihw

    "=

  • 2 : C 75

    0002 li.oc.0002hm.www

    : :

    : :

    ;)mcX ,hcniX ,"n\f2.5%t\d2%"(ftnirp :

    )2( % .

    :

    )( % .

    .

    , " " :

    ;)"n\mCt\hcnI"(ftnirp;)"n\-----t\----"(ftnirp

    ' 64.

    :

    mC hcnI----- ----

    00.0 045.2 180.5 226.7 361.01 407.21 542.51 687.71 723.02 868.22 9

    04.52 01

  • 85 : C : C

    0002 li.oc.0002hm.www

    ftnirp :

    d%

    d6% 6

    f% )tniop gnitaolf( 2

    f2.%

    6 , 2

    f2.6%

    / / ' 21 ' 74.

  • 2 : C 95

    0002 li.oc.0002hm.www

    " "" :

    " ) (.

    .

    , .

    .

    " tsnoc.

    , .

    :

    rewol reppu ) (

    ROTCAF #' )45.2( pets ,

    .

    :

    /* c.3trevnoc :elif */>h.oidts< edulcni#

    /* stnatsnoc enifed ,elbat noisrevnoc retemitneC - hcnI a tnirp */) ( niam diov{

    ;01=REPPU ,0=REWOL tni tsnoc;f45.2=ROTCAF taolf tsnoc;hcniX tni;mcX taolf

    ;REWOL=hcniX/* redaeh elbat tnirp */ ;)"n\mCt\hcnI"(ftnirp;)"n\--t\----"(ftnirp)REPPU=

  • 06 : C : C

    0002 li.oc.0002hm.www

    tsnoc :

    ;01=REPPU ,0=REWOL tni tsnoc;f45.2=ROTCAF taolf tsnoc

    : 'f' taolf. elbuod, . f

    .

    :

    ;REWOL=hcniX/* redaeh elbat tnirp */ ;)"n\mCt\hcnI"(ftnirp;)"n\--t\----"(ftnirp)REPPU=

  • 2 : C 16

    0002 li.oc.0002hm.www

    " ' )rossecorp-erP( " :

    /* c.4trevnoc :elif */>h.oidts< edulcni#

    /*elbat fo timil rewol */ 0 REWOL enifed#/*timil reppu */ 01 REPPU enifed#/* rotcaf noisrevnoc */ f45.2 ROTCAF enifed#

    /* stnatsnoc enifed ,elbat noisrevnoc retemitneC - hcnI a tnirp */) ( niam diov{

    ;hcniX tni;mcX taolf

    ;REWOL=hcniX/* redaeh elbat tnirp */ ;)"n\mCt\hcnI"(ftnirp;)"n\--t\----"(ftnirp)REPPU=

  • 26 : C : C

    0002 li.oc.0002hm.www

    /

    / h.oidts:

    ) (rahcteg=c c. )c(rahctup c .

    . . :

    % :

    %

    :

    /* c.ypoc :elif */>h.oidts< edulcni#

    /* noisrev ts1 :tuptuo ot tupni ypoc */)(niam diov{

    ;c tni;)(rahcteg=c)FOE=!c( elihw{

    ;)c(rahctup;)(rahcteg=c

    }}: tni . "=!" ""

    )FOE=!c( " c " #". c "tni" "rahc"? c FOE

    ) 1- ( " #.

    " " 'n\' ) ( " )(rahcteg " )(rahctup. "

    ;)'n\'(rahctup .

  • 2 : C 36

    0002 li.oc.0002hm.www

    +

    C . : ;)(rahcteg = c

    c. , . ,

    ;) )(rahcteg = c ( = x x c.

    " . :

    %

    :

    /* c.2ypoc :elif */>h.oidts< edulcni#

    /* noisrev dn2 :tuptuo ot tupni ypoc */)(niam diov{

    ;c tni)FOE=!))(rahcteg=c(( elihw

    ;)c(rahctup} . #

    , .

    : )(rahcteg=c? : =! =.

    FOE =! )(rahcteg = c

    ) FOE =! )(rahcteg ( = c

    c !

    C.

    ++C : , , " /:

    ;c rahc

  • 46 : C : C

    0002 li.oc.0002hm.www

    ;c >> nic;c

  • 2 : C 56

    0002 li.oc.0002hm.www

    C . .

    7, "", .

    " , :

    /* koob siht fo egap emoh */ ;"li.oc.0002hm.www" = ]71[rts rahc

    ]71[rts rahc rts 71 . "li.oc.0002hm.www" rts 61 + )

    (:

    '0\' l i . o c . 0 0 0 2 h m . w w w

    '0\' ) ( " . , rts :

    ;"li.oc.0002hm.www" = ][rts rahc

    rts )71 (, " . " ftnirp s% , :

    ;"li.oc.0002hm.www" = ][rts rahc;)rts,"! s% ot emocleW"(ftnirp

    :

    ! li.oc.0002hm.www ot emocleW

  • C : C : 66

    www.mh2000.co.il 2000

    : ,String , typedef char String[256]; 256 String : typedef

    .

    .typedef

    : String String s1 = "hello";String s2 = "world";

    :

    #include

    typedef char String[256];

    void main ( ){

    String first_name;String second_name;

    printf("Enter your first name: ");scanf("%s", first_name);printf("Enter your second name: ");scanf("%s", second_name);

    printf("Your full name is %s %s\n", first_name, second_name);

    } :

    Enter your first name: LouisEnter your second name: ArmstrongYour full name is Louis Armstrong

    main . String :String

    String first_name;String second_name;

    ,%s scanf " : ,

    printf("Enter your first name: ");scanf("%s", first_name);

  • 2 : C 76

    0002 li.oc.0002hm.www

    ;)" :eman dnoces ruoy retnE"(ftnirp;)eman_dnoces ,"s%"(fnacs

    , , .

    9, "". , "

    ftnirp, s%:;)eman_dnoces ,eman_tsrif ,"n\s% s% si eman lluf ruoY"(ftnirp

    C " 2s=1s " 2s==1s.

    h.gnirts 9, "".

  • 86 : C : C

    0002 li.oc.0002hm.www

    :

    .

    : )tni(, )rahc(, )taolf( .

    . " .

    : )y*x( , )01=

  • 69 : 3

    www.mh2000.co.il 2000

    . 3

    (Identifiers )

  • 07 : C : C

    0002 li.oc.0002hm.www

    ) sreifitnedI( , , , '.

    :

    1 . " , '_' )erocsrednu( . " '_'.

    2 .

    3 . , '.

    4 . . , POT ,poT ,pot .

    5 . .

    retnuoc.

    :

    x

    02y

    elbairav_gnol_yrev_a

    retnuoc_

    :

    nevelE_7

    "!" !olleh

    "" rav-ym

  • 3 : 17

    0002 li.oc.0002hm.www

    )stnemmoC( " ), ( . */

    /*. :

    /* .tnemmoc a si siht */;2 * 5 = x tni

    ,

    /* ......... /* .......... */

    .

    . , .

    ++C : ++C " , " ": // " . :

    tnemmoc ++C a // ;2 * 5 = x tni

    )sdrowyek( .

    C :

    otuaodfitcurts

    kaerbelbuodtnihctiws

    esaceslegnolfedepyt

    rahcmuneretsigernoinu

    tsnocnretxenruterdengisnu

    eunitnoctaolftrohsdiov

    tluafedrofdengiselitalov

    otogfoeziscitatselihw

  • 27 : C : C

    0002 li.oc.0002hm.www

    C :

    rahc

    trohs

    tni

    gnol

    taolf

    elbuod

    elbuod gnol

    tni . : ;i tni

    i , : ;43 = i;6542- = i

    :

    trohs

    gnol

    "

    dengisnu. : ;32 - = 1i trohs;0003 = 2i dengisnu;32 = 3i trohs dengisnu

  • 3 : 37

    0002 li.oc.0002hm.www

    taolf . : ;f taolf

    f )/ (: ;65.43 = f;799854.321- = f;21+E32 = f

    :

    elbuod

    elbuod gnol elbuod

    " IICSA. 652 )0 552( , ) ( .

    .

    IICSA:

    ) ~ . a ! * % 2 A C rahc. :

    ;c rahc

    c " :

    ;'a' = c;'A' = c;'!' = c

    rahc dengis dengisnu ? . rahc :

    ;hc rahc

    C . . ,

    ;552 = hc rahc

    x

    ;hc = x tni

    552 rahc dengisnu 1- dengis!!!

  • 47 : C : C

    0002 li.oc.0002hm.www

    C , .

    .

    , muitneP - letnI, TN / 59 swodniW :

    721..821-1rahc

    BK23 .. BK23-2trohs

    BG2 .. BG2 -4tni

    BG2 .. BG2 -4gnol

    83 - /+ E4.3 .. 83 -/+ E4.34taolf

    -/+ E7.1 .. 803 -/+ E7.1-8 elbuod803

    gnolelbuod

    8 -/+ E7.1 .. 803 -/+ E7.1-

    803

  • 3 : 57

    0002 li.oc.0002hm.www

    mune

    mune . , , :

    ;}7=TAS ,6=IRF ,5=UHT ,4=DEW ,3=EUT ,2=NOM ,1=NUS { yaD mune

    mune ":

    ;yadot yaD mune

    yaD )eman gat( . " mune )yaD( . :

    >h.oidts< edulcni#)(niam diov{

    ;}7=TAS ,6=IRF ,5=UHT ,4=DEW ,3=EUT ,2=NOM ,1=NUS { yaD mune;2yad ,1yad yaD mune

    ;NUS = 1yad;UHT = 2yad

    } mune + 1.

    0. mune " :

    ;}TAS ,IRF ,UHT ,DEW ,EUT ,NOM ,1=NUS { yaD mune

    : mune ,

    . mune !

    C, .

  • 67 : C : C

    0002 li.oc.0002hm.www

    " fedepyt

    " C, " fedepyt.

    , mune "

    mune " :

    ;yaD }TAS ,IRF ,UHT ,DEW ,EUT ,NOM ,1=NUS { mune fedepyt

    ;worromot ,yadretsey ,yadot yaD

    yaD .

    2 EURT ESLAF : ;naelooB } 1=EURT ,0=ESLAF { mune fedepyt;ESLAF = galf naelooB

    C .

    .

    C , .

    "

    fedepyt . : ;RAHC rahc fedepyt;TNI tni fedepyt;SNU dengisnu fedepyt

    :

    ;1c RAHC;i TNI

    , 23 61 ,

    TNI : ;TNI gnol fedepyt;SNU gnol dengisnu fedepyt

    gnol 23 TNI .

  • 3 : 77

    0002 li.oc.0002hm.www

    . ,

    " tsnoc:

    ;82 = XAM tni tsnoc

    " enifed#: 82 XAM enifed#

    ? XAM 82 . :

    " XAM 82.

    " 2 )ecapseman( : " # , . " tsnoc

    , " , 6, "".

    . :

    55.43- NIM enifed#"aduheY neB" TEERTS enifed#

    ;"olleh" = ][RTS rahc tsnoc;'c' = C rahc tsnoc;88.43 = REBMUN taolf tsnoc

    : , )slatipac(.

  • 87 : C : C

    0002 li.oc.0002hm.www

    . , , . " " .

    , 093 " , 'f' .

    . ,

    ;x tni;43 = x

    43 . ? ,

    tni . gnol " "l" "L" , :

    ;x gnol;L43 = x

    : 0 )(

    ) 8(, x0 ) 61(.

    , 43 )( x:

    ;x tni/* lamiced */ ;43 = x/* latco */ ;240 = x/* axeh */ ;22x0 = x

  • 3 : 97

    0002 li.oc.0002hm.www

    , , . ,

    ;y taolf;55.43 = y 55.43 . ?

    elbuod.

    taolf #, .

    taolf " f F , : ;f55.43 = y

    .

    " e E.

    , 55.43 1E554.3 2-E5543 2E5543.0 .

    01:

    C "

    1E554.3 101 * 554.3

    2-01 * 5543

    2-E5543

    2E5543.0 201 *5543.0

  • 08 : C : C

    0002 li.oc.0002hm.www

    " . , 'x'

    IICSA x ) IICSA (.

    : ) (.

    .

    : 'n\' , 't\' .

    '\' . ) (:

    $ "

    n\ 01 )FL( LN enilweN

    t\ 9 TH baT

    \\ 29 \ hsalskcaB

    '\ 93 ' kram noitatouq elgniS

    "\ 43 " kram noitatouq elbuoD

    0\ 0 LUN retcarahc lluN

    , :

    enil tsriFenil dnoceSenil drihT

    :

    ;)"enilt\drihTn\enilt\dnoceSn\enilt\tsriF"(ftnirp

    " )( IICSA 43 :

    /*hsalskcab htiw retcarahc sa */ ;)'"\'(rahctup/* eulav IICSA lamiced tcerid */ ;)43(rahctup/* eulav IICSA lamicedaxeh tcerid */ ;)'22x\'(rahctup/* eulav IICSA latco tcerid */ ;)'24\'(rahctup/*hsalskcab htiw ,gnirts a fo trap sa */ ;)""\"(ftnirp

    : '\' ? / 5 .

  • 3 : 18

    0002 li.oc.0002hm.www

    , . :

    :

    +

    *

    /

    1 ++

    1

    )( %

    " . :

    ;i tni;f taolf

    /* 0=i */ ;5 / 4 = i/* 0.0=f */ ;5 / 4 = f/* 8.0=f */ ;0.5 / 0.4 = f

    , : 5/4 0. 0.5/0.4 8.0.

  • 28 : C : C

    0002 li.oc.0002hm.www

    : "++" ""

    ++ 1 1 . , 2 :

    )xiftsop( , : ;9 = i tni;++ i = j tni

    /* 01=i ,9=j */

    1 .

    , )xiferp( , : ;9 = i tni; i ++ = j tni

    /* 01=i ,01=j */

    1 i, j.

    : / .

    :

    >h.oidts< edulcni#) ( niam diov{

    ;5 = i tni;0 = j tni

    /* 6 = i ,5 :tuptuo */ ;)++i ,"d%"(ftnirp/* 1- = j ,1- :tuptuo */ ;)j-- ,"d%"(ftnirp/* 7=i 6 = j ,6 :tuptuo */ ;)++i = j ,"d%"(ftnirp

    }

    %

    % , , , . :

    ;s tni

    /* 1 = s */ ;3 % 01 = s/* 0 = s */ ;8 % 8 = s/* !rorrE */ ;0 % 8 = s/* 8 = s */ ;9 % 8 = s/* 8- = s */ ;9 % 8- = s/* 8 = s */ ;9- % 8 = s

  • 3 : 38

    0002 li.oc.0002hm.www

    :

    y == x

    x y

    x y y =! x

    x y y > x

    y => x

    x y

    x y y < x

    y =< x

    x y

    " :

    &&

    | |

    !

    :

    x y w z z == w || y => x x y y z z == y && y == x

    x y y z )z == y(! && y == x

    , :

    )y > x(fi;)"y naht reggib si x"(ftnirp

    esle)x > y(fi

    ;)"x naht reggib si y"(ftnirp

  • 48 : C : C

    0002 li.oc.0002hm.www

    esle;)"slauqe era y dna x"(ftnirp

    "

    )eurt( )eslaf(. . C

    .

    C 0 "" , 1 0 "". :

    ;i tni;5=y ,5=x tni

    /* 0 = i */ ;)y > x( = i/* 1 = i */ ;)y == x( = i

    :

    ;)y == x( = i)i(fi

    ;)"y ot lauqe si x"(ftnirp

    . :

    >h.oidts< edulcni#) ( niam diov{

    ;4 = i tni)i(elihw{

    ;--i;)i,"t\d% = i"(ftnirp

    }}

    :

    0 = i 1 = i 2 = i 3 = i

    ":?" esle-fi. ,

    )y > x(fi;x = xam

    esle;y = xam

    "

  • 3 : 58

    0002 li.oc.0002hm.www

    ;y : x ? y > x = xam

    ":?" :

    > 2< : > 1< ? > 1 2

  • 68 : C : C

    0002 li.oc.0002hm.www

    )srotarepo esiwtib( C ), /,

    (. 6 :

    DNA &

    RO |

    ROX ^

    TON, 1 s'eno(~ )tnemelpmoc

    >

    . .

    :

    DNA : 1 = 1 & 10 = 0 & 10 = 1 & 00 = 0 & 0

    RO: 1 = 1 | 11 = 0 | 11 = 1 | 00 = 0 | 0

    ROX: 0 = 1 ^ 11 = 0 ^ 11 = 1 ^ 00 = 0 ^ 0

    TON: 0 = 1~1 = 0~

  • 3 : 78

    0002 li.oc.0002hm.www

    x 61:

    ;25x0 = x tni

    4 , 23 , :

    2 5 0 0 0 0 0 0 = x

    0100 1010 0000 0000 0000 0000 0000 0000

    , . ":

    ;2748x0 = y tni

    y :

    2 7 4 8 0 0 0 0 = y

    0100 1110 0010 0001 0000 0000 0000 0000

    DNA y & x . DNA x y. ,

    ;y & x = z tni

    z ?

  • 88 : C : C

    0002 li.oc.0002hm.www

    2 5 0 0 0 0 0 0 = x

    0100 1010 0000 0000 00000 0000 0000 0000

    &

    2 7 4 8 0 0 0 0 = y

    0100 1110 0010 0001 0000 0000 0000 0000

    =

    2 5 0 0 0 0 0 0 = z

    0100 1010 0000 0000 0000 0000 0000 0000

    25x0 = z.

    :

    | RO ,

    ^ ROX ,

    ~ TON 1.

    ' 47.

    0 1.

    > . :

    2 >> x x

    2

  • 3 : 98

    0002 li.oc.0002hm.www

    2 5 0 0 0 0 0 0 = x

    0100 1010 0000 0000 0000 0000 0000 0000

    2

  • 09 : C : C

    0002 li.oc.0002hm.www

    "=" C. : ;x tni;5 = x

    5 x. , :

    ;5=x tni;01E54.1=z ,2.6=y elbuod

    , ". :

    ;)y = x ,"d%"(ftnirp .1

    ;y = x = z .2

    ;y = x = z = w .3

    "=" "==".

    ;y = x

    y x. , y == x

    "" "", " ,

    )fi( . ,

    . ,

    ;2=y ,5=x tni)y=x(fi

    ;)"lauqe era y dna x"(ftnirp

    ! ) ( , .

    )2(fi;)"lauqe era y dna x"(ftnirp

    !

    :

    ;5 + x = x :

    ;5 =+ x

  • 3 : 19

    0002 li.oc.0002hm.www

    :

    | ^ & >>

  • 29 : C : C

    0002 li.oc.0002hm.www

    ' C "

    ' 87 & C " .

    . ,

    5 * 4 + 3 " 4 5 " 3.

    )5 * 4( + 3 ) ( . ,

    , . :

    5 * )4 + 3( . ,

    3x / 2x / 1x

    " 1x 2x, 3x. , ,

    3x / )2x / 1x(

    )3x / 2x( / 1x / $. ,

    ;1 + 3x = 2x = 1x

    " )1+3x( 2x, 1x. "=" $ .

    :

    >h.oidts< edulcni#) ( niam diov{

    ;01=k ,6=j ,2 = i tni;s tni

    /* 26 = s */ ;k * j + i = s

    /* 08 = s */ ;k *)j + i( = s

    /* 03 = s */ ;j * i / k = s

    /* 3 = s */ ; ++i / j = s} , ++ /,

    xiftsop .

  • 3 : 39

    0002 li.oc.0002hm.www

    . .

    , # , :

    ;i tni;5.41=f taolf

    /* 41 = i */ ;f = i

    :

    ;41=i tni;f taolf

    /* 0.41 = f */ ;i = f

    " , :

    ;f taolf

    /* 0.0=f */ ;5 / 4 = f/* 8.0=f */ ;5 / 0.4 = f

    : 0. 0.0. .

    , / .

  • 49 : C : C

    0002 li.oc.0002hm.www

    , "" "". :

    elbuod gnol 1

    elbuod 2

    taolf 3

    gnol 4

    tni 5

    trohs 6

    rahc7

    ? :

    $

    652 ) ( rahctni

    # , 652 rahcelbuod / taolf

    # , tni tnie lbuod / taolf

    taolfelbuod

  • 3 : 59

    0002 li.oc.0002hm.www

    )gnitsac( # .

    , :

    ;f taolf;21=j ,5 = i tni/* 0.2 = f */ ;i / j = f

    # :

    ;f taolf;21=j ,5 = i tni/* 4.2 = f */ ;i )taolf( / j = f

    :

    )(

    .

  • C : C : 96

    www.mh2000.co.il 2000

    sizeof

    , (bytes) sizeof : .

    1) sizeof()2) sizeof()3) sizeof()

    , .

    :C #include void main ( ){

    printf("the size of integer is %d\n", sizeof(int));printf("the size of short is %d\n", sizeof(short));printf("the size of long is %d\n", sizeof(long));printf("the size of double is %d\n", sizeof(double));

    }

    : Intel-Pentium Windows , the size of integer is 4the size of short is 2the size of long is 4the size of double is 8

  • 3 : 79

    0002 li.oc.0002hm.www

    ) sreifitnedI( , , , .

    )stnemmoC( . */

    /*.

    )sdrowyek( . .

    )sepyt( . 3 : , . " "

    fedepyt. mune . .

    " tsnoc , " enifed#. : ,

    , .

    ,

    .

    " .

    " \ , , 'n\', 'b\', '\\'. . : , , , +,

    )srotarepo esiwtib( ), foezis(. .

    : )ticilpmi( , )ticilpxe( " )epyt(.

    gnitsac.

    / ' 31 ' 4838.

  • 89 : C : C

    0002 li.oc.0002hm.www

  • 99 / : 4

    www.mh2000.co.il 2000

    / . 4

    /

    printf "

    scanf "

    /

    (IO Redirection) /

  • 001 : C : C

    0002 li.oc.0002hm.www

    /

    2, " C", " )(rahcteg )(rahctup.

    C ) ( # h.oidts.

    )(rahcteg )

    (. .

    , :

    ;hc tni;)(rahcteg = hc

    hc)(rahcteg

    : tni rahc?

    : " " FOE h.oidts : )1-( FOE enifed#

    " , )(rahcteg FOE. , .

    , :

    )FOE=!)(rahcteg( elihw;on_srahc++

    : " # " ?

    : swodniW " Z-lrtC, xinU " D-lrtC.

  • 4 : / 101

    0002 li.oc.0002hm.www

    )(rahctup ) (

    :

    ;)hc(rahctup

    hc )(rahctup

    ,

    ;)'A'(rahctup:

    A

    'A' IICSA A, 56. A " : ;)56(rahctup

    )(rahcteg, )(rahctup tni rahc " #, FOE.

    ) ( :

    >h.oidts< edulcni#) ( niam diov{

    ;hc tni

    ;)(rahcteg = hc;)hc(rahctup

    }

    hc )(rahctup

    )(rahcteg

  • 201 : C : C

    0002 li.oc.0002hm.www

    , .

    , C .

    :

    /* c.srahc_tnuoc :elif */>h.oidts< edulcni#)( niam diov{

    ;0=on_srahc gnol

    )FOE=!)(rahcteg( elihw;on_srahc++

    ;)on_srahc ,"n\srahc dl% daeR"(ftnirp}

    # :

    lla evah nac tI .srahc txet fo maerts a si elif sihT| ; , ,} { ,@ ,& ,* ,3 ,z ,a :sretcarahc fo sdnik+ = _ > ? /

    :

    srahc 811 daeR

    : # )FOE(:

    txet fo maerts a si elif sihTsdnik lla evah nac tI .srahc,& ,* ,3 ,z ,a :sretcarahc fo+ = _ > ? / | ; , ,} { ,@>FOEFOE< 'n\'.enil

    on_senil

    )(rahcteg

    .

    " " ,

    )'n\'( . :

    : c ,on_senil

    : on_senil 0

    , c ,

    c , 1 on_senil

    on_senil

    :

    /* c.senil_tnuoc :elif */>h.oidts< edulcni#)( niam diov{

    ;c tni;0=on_senil tni)FOE=!))(rahcteg=c(( elihw{

    )'n\'==c( fi;on_senil++

    };)on_senil,"n\senil d% daeR"(ftnirp

    }

  • 4 : / 501

    0002 li.oc.0002hm.www

    # :

    .enil tsrif eht si sihT.enil dnoces eht si sihT.enil driht eht si sihT

    :

    senil 3 daeR

    / / ' 21 ' 19.

  • 601 : C : C

    0002 li.oc.0002hm.www

    . :

    "" : , .

    . " , :

    ekil tuo gniylf era sdroWpuc repap a otni niar sseldnessap yeht elihw rehtils yehTeht ssorca yawa pils yeht)seltaeB( esrevinu

    on_sdrow

    )(rahcteg

    : )etats( )EDISNI( # )EDISTUO(.

    EDISTUO EDISNI .

    :

    : etats , c , on_sdrow

    : etats > EDISTUO, on_sdrow > 0

    , c ,

    c "#"

    etats > EDISTUO

    , etats EDISTUO

    etats > EDISNI

    1 on_sdrow

    on_sdrow

    ' 39. / / ' 31 ' 49.

  • 4 : / 701

    0002 li.oc.0002hm.www

    " ftnirp ftnirp :

    , , .

    :

    ;)... >21< ," "( ftnirp tni ftnirp .

    , )sreificeps tamrof( . :

    ;)4.39 ,5.78 ,2 ,"f% dna f% era sedarg maxe d% ehT"(ftnirp:

    000004.39 dna 000005.78 era sedarg maxe 2 ehT

    )%( :

    , d% , 2

    , f%, 5.78

    , f%, 4.39

    ' 59 " .

    :

    A ;)56,"c%"(ftnirpdlo sraey 21 ma I ;)21,"dlo sraey d% ma I"(ftnirprep f% stsoc elppa nA"(ftnirp

    oliK rep000044.41 stsoc elppa nA ;)44.41,"oliKni o% dna axeh ni x% si d%"(ftnirp

    ,"latco;)71,71,71

    axeh ni 11 si 71latco ni 12 dna

    ;)"ct\bt\a"(ftnirpc b a

  • C : C : 108

    www.mh2000.co.il 2000

    :

    printf("%s world", "hello"); hello worldprintf( "Real = %f %e %E", 23.452,

    23.452, 23.452);Real = 23.4520002.345200e+0012.345200E+001

    int num;printf( "Address=%p", &num);

    Address=006FDD8

    printf("1234567890%n", &chars_no);printf("\nChars

    writen=%d",chars_no);

    1234567890Chars writen=10

  • 4 : / 901

    0002 li.oc.0002hm.www

    ftnirp . ,

    ;)"olleh" ,5 ,f385.54 ,"n\s% d% f%"(ftnirp :

    olleh 5 000385.54

    " % . , 8 :

    ;)"olleh" ,5 ,f385.54 ,"n\s8%d8%f8%"(ftnirp:

    4 5 . 5 8 3 0 0 0 5 h e l l o

    , , 9 8.

    , 5, 8 . ,

    "olleh" , 8 .

    :

    .

    .

    .

    :

    ;)"olleh" ,5 ,f385.54 ,"n\s3.8%d4.8%f2.8%"(ftnirp:

    4 5 . 5 8 0 0 0 5 h e l l

    , .

  • 011 : C : C

    0002 li.oc.0002hm.www

    , "" . :

    ;)"olleh" ,5 ,f385.54 ,"n\s8-%d8-%f2.8-%"(ftnirp

    :

    4 5 . 5 8 5 h e l l o

  • 4 : / 111

    0002 li.oc.0002hm.www

    % , .

    )h( trohs )l( gnol : h % trohs, l

    gnol: ;4321 = 1s trohs;L987654321 = 1l gnol;)1s ,1l ,"dh% dl%"(ftnirp

    )L( gnol : L % elbuod gnol:

    ;33+E43 = dl elbuod gnol;)dl ,"gL%"(ftnirp

    )0(: 0 )( % :

    ;)5 ,f85.54 ,"n\d% f2.80%"(ftnirp:

    5 85.54000

    , .

    " )*( * %

    . :

    ;)5 ,f385.54 ,2 ,8 ,"n\d% f*.*%"(ftnirp:

    5 85.54

    " # # % :

    X% ,x% X0 x0

  • 211 : C : C

    0002 li.oc.0002hm.www

    ,

    ;)5Fx0 ,f0.54 ,"n\x% g%"(ftnirp

    5f 54

    , " # :;)5Fx0 ,f0.54 ,"n\x#% g#%"(ftnirp

    :

    5fx0 0000.54

    +

    + % +. ) "" (.

    :

    ;)51- ,44.32 ,22 ,"d+% f2.7+% d+%"(ftnirp:

    51- 44.32+ 22+

    / / ' 21 ' 9989.

  • 4 : / 311

    0002 li.oc.0002hm.www

    " fnacs fnacs " . fnacs

    tamrof + nacs, " .

    fnacs ftnirp " , : .

    ,

    ;tnuoma taolf;)tnuoma& ,"f%"(fnacs

    , tnuoma&, fnacs:

    721

    tnuoma &

    )(fnacs

    fnacs .

    & " ": 8, "".

    fnacs "" , . :

    ;mun tni;)mun& ,"d%"(fnacs;)mun ,"d% si rebmun ehT"(ftnirp

    "cba321", 321 cba, .

    : x% d%?

    : cba . CBA321x0.

  • 411 : C : C

    0002 li.oc.0002hm.www

    ' 001 fnacs.

    fnacs , . , 2 " "^" :

    ;muni tni;munf taolf;)"n\^ yb detarapes ,taolf a dna regetni na retnE"(ftnirp;)munf& ,muni& ,"f% ^ d%"(fnacs;)munf ,muni ,"f% d%"(ftnirp

    ^ yb detarapes ,taolf a dna regetni na retnE54.32 ^ 32

    100054.32 32

    ;muni tni;munf taolf;hc rahc

    :

    ;]652[gnirtS rahc fedepyt;rts gnirtS

    :

    ,hc& ,munf& ,muni& ,"s% c% f% d%"(fnacs olleh r 54.32 32 ;)rts

    r

    muni 5 olleh ;)muni& ,rts ,"n%s%"(fnacs 8 1A52FE43 ;)muni& ,"p%"(fnacs

  • 4 : / 511

    0002 li.oc.0002hm.www

    , . , , .

    : ?

    : fnacs . . :

    >h.oidts< edulcni#)(niam diov{

    ;1mun tni;2mun taolf;n tni;)" :laer dna regetni - srebmun 2 retne esaelP"(ftnirp;)2mun& ,1mun& ,"f% d%"(fnacs = n)2=!n(fi

    ;)"!tupni tcerrocnI"(ftnirpesle

    ;)2mun ,1mun ,"f2.% d% :era srebmun ehT"(ftnirp} , . n

    fnacs ;)2mun& ,1mun& ,"f% d%"(fnacs = n

    2 . :

    :laer dna regetni - srebmun 2 retne esaelPdrow 21!tupni tcerrocnI

  • 611 : C : C

    0002 li.oc.0002hm.www

    /

    , .

    " ftnirp s%: ;]652[gnirtS rahc fedepyt

    ;"olleh" = rts gnirtS;)rts,"s%"(ftnirp

    :

    ;)rts(ftnirp " s% , :

    ;)rts,"s%"(fnacs

    "&" . 8, "", .

    / " steg ' stup / :

    )rts(steg . )rts(stup .

    # h.oidts :

    steg 'n\' '0\' " .

    stup '0\' 'n\'.

    / ' 301.

  • 4 : / 711

    0002 li.oc.0002hm.www

    /

    )noitcerideR O/I(

    # . .

    , swodniW " # )exe( .

    SOD " retnE. exe.gorp esruoc_c\:c :

    gorp >esruoc_c\:c

    " .

  • 811 : C : C

    0002 li.oc.0002hm.www

    / )O/I dradnatS( / " ftnirp fnacs , ""

    .

    / )O/I dradnatS( . " .

    , :

    gorp

    . , # :

    tuo.gorp > gorp >esruoc_c\:c

    gorp

    tuo.goro

    exe.gorp " stup ,ftnirp ,rahctup # tuo.gorp. .

    # .

    , exe.gorp # ni.gorp :

    ni.gorp < gorp >esruoc_c\:c

  • 4 : / 911

    0002 li.oc.0002hm.www

    " , # " :

    gorp

    ni.goro

    # #:

    tuo.gorp > ni.gorp < gorp >esruoc_c\:c

    gorp

    ni.goro

    tuo.goro

    , / .

    , SOD / swodniW # nrp exe.gorp ":

    nrp > gorp >esruoc_c\:c

    gorp

  • 021 : C : C

    0002 li.oc.0002hm.www

    / ) (.

    ))(rahctup ,)(rahcteg( : , ,

    ))(fnacs ,)(ftnirp(. fnacs ftnirp . " .

    fnacs .

    / " ftnirp fnacs s%. , / "

    stup steg.

    / / ) ( : #, #, '.

    )eniL dnammoC( .

    / ' 601.

  • 121 : 5

    www.mh2000.co.il 2000

    . 5

    C -

    if-else

    break - continue

    switch-case

  • 221 : C : C

    0002 li.oc.0002hm.www

    . , , " , "

    )( .

    , 3 .

    1( :

    : z ,y ,x ,

    xam ,

    z,y,x

    x y :

    x z xam x

    , xam z

    :

    y z xam y

    , xam z

    xam

    2( " :

    3

    z ,y ,x

    y > x

    z > xz > y

    z < xam x < xamz < xam y < xam

    xam

  • 123 : 5

    www.mh2000.co.il 2000

    : " (3

    Integer x,y, z, max

    read x, y, zif x > y

    if x > zmax

  • 421 : C : C

    0002 li.oc.0002hm.www

    .

    " . , " ,

    .

    "" " :

    1.

    2.

    3.

    .

    , , :

    ,

    , .

    " ",

    C.

  • 5 : 521

    0002 li.oc.0002hm.www

    : +

    :

    , .

    210

    9

    011

    31-

    22

    ? = xaM

    1( :

    : x

    x

    x

    , " , .

    x: , # , .

    2( :

    " x " x.

    " x " .

    ", xam . xam

    , x, x .

    " " .

  • 621 : C : C

    0002 li.oc.0002hm.www

    :

    : xam ,

    x

    x

    x xam

    xam x

    xam

    210

    9

    011

    31-

    22

    xam > x

    x

    x ==< xam

    , : xam .

    , . xam ? :

    1 .

    2 .

    .

    3( xam ' 211.

    : , 0 ? , .

    .

    : " xam : ,

    xam. , .

    4( % ' 211.

  • 5 : 721

    0002 li.oc.0002hm.www

    C )esle-fi(, .

    esle-fi, elihw.

    C. C:

    esle-fi

    elihw

    elihw-od

    rof

    eunitnoc kaerb

    esac-hctiws . " "

    } {.

  • 821 : C : C

    0002 li.oc.0002hm.www

    esle-fi fi esle-fi:

    fi :

    ) (fi/

    esle-fi :

    ) (fi/

    esle

    /

    " , " }{. fi , / / " ,

    .

    esle - fi , / / " fi, / / " esle.

    .

    fi esle-fi " :

    //

    esle - fi

    /

    fi

    ' 511411.

  • 5 : 921

    0002 li.oc.0002hm.www

    , .

    , " :

    " )(.

    C : , .

    C:

    elihw elihw-od

    rof

  • 031 : C : C

    0002 li.oc.0002hm.www

    elihw ' elihw-od 2 . :

    elihw:

    )( elihw

    {

    } , " . elihw:

    ?

    /

    elihw

    elihw-od:

    od

    {

    ;)( elihw }

  • 5 : 131

    0002 li.oc.0002hm.www

    " . :

    ?

    elihw-od

    ? elihw , .

    elihw-od " " , .

    : n.

    n..3,2,1. , 5 021 = 5*4*3*2*1.

    elbuod gnol : /* c.1tereza :elif */>h.oidts< edulcni#)(niam diov{

    ;tereza elbuod gnol;n,i tni

    /* tupni teg */;)":rebmun evitisop a retnE"(ftnirp;)n&,"d%"(fnacs

    /* selbairav ezilaitini */;0.1=tereza;1=i

    /* n..1 srebmun revo pool */)n=

  • 231 : C : C

    0002 li.oc.0002hm.www

    /* tluser tuptuo */;)tereza,n,"gL% si d% fo terezA"(ftnirp

    } :

    21:rebmun evitisop a retnE800+e20097.4 si 21 fo terezA

    , elihw-od: od{

    ;i*tereza=tereza;++i

    ;)n=

  • 5 : 331

    0002 li.oc.0002hm.www

    rof

    rof . : 1(

    2( 3( .

    rof :

    )> 3< ; > 2< ; > 1< ( rof{

    } rof , " ";" :

    1 .

    2 .

    3 .

    rof " :

    1

    2

    3

    rof " :

    ?

    3

    rof

    1

  • 431 : C : C

    0002 li.oc.0002hm.www

    " rof: /* c.2tereza :elif */>h.oidts< edulcni#)(niam diov{

    ;tereza elbuod gnol;n,i tni

    /* tupni teg */;)":rebmun a retnE"(ftnirp;)n&,"d%"(fnacs

    /* pool rof gnisu tereza etupmoc */)++i ;n=

  • 5 : 531

    0002 li.oc.0002hm.www

    . :

    ) ;0001

  • 631 : C : C

    0002 li.oc.0002hm.www

    , C, :

    210

    9

    011

    31-

    22

    xam > x

    x

    x ==< xam

    !: xam ! ,

    x

    $ xam

    !

    $ x

    ! x xam xam x

    xam

    " ! "

    ! " elihw ' 321221.

  • 5 : 731

    0002 li.oc.0002hm.www

    . 1 5 :

    /* c.5x5hcaul :elif */>h.oidts< edulcni#)(niam diov{

    ;j ,i tni)++i ;5 =< i ;1=i(rof{

    )++j ;5 =< j ;1=j(rof;)i*j ,"d4%"(ftnirp

    ;)'n\'(rahctup}

    }

    :

    5 4 3 2 101 8 6 4 251 21 9 6 302 61 21 8 452 02 51 01 5

    1..5 i. 1..5 j, .

    : 2 , .

  • 831 : C : C

    0002 li.oc.0002hm.www

    eunitnoc kaerb :

    1. eunitnoc . : )++i ;n=

  • 5 : 931

    0002 li.oc.0002hm.www

    esac-hctiws hctiws , . ,

    01..1 :

    X

    "hgih"

    "muideM"

    "wol"

    01,9

    8,7

    6,5,4

    " esle-fi : >h.oidts< edulcni#)(niam diov{

    ;x tni;)":01..4 neewteb rebmun a retnE"(ftnirp;)x&,"d%"(fnacs

    )9==x || 01==x(fi;)"hgiH"(ftnirp

    )7==x || 8==x(fi esle;)"muideM"(ftnirp

    )4==x || 5==x || 6==x(fi esle;)"woL"(ftnirp

    esle;)"!rebmun tcerrocnI"(ftnirp

    }

    esac-hctiws " . :

  • 041 : C : C

    0002 li.oc.0002hm.www

    ) (hctiws{

    : esac

    ;kaerb : esac

    ;kaerb : esac

    ;kaerb :tluafed

    } hctiws esac, .

    .

    esac , . hctiws

    kaerb. hguorht-gnillaf.

    " esac-hctiws : /* c.hctiws :elif */>h.oidts< edulcni#)(niam diov{

    ;x tni;)":01..4 neewteb rebmun a retnE"(ftnirp;)x&,"d%"(fnacs)x(hctiws{

    : 01 esac;)"hgiH"(ftnirp : 9 esac

    ;kaerb

    : 8 esac;)"muideM"(ftnirp : 7 esac

    ;kaerb

    : 6 esac: 5 esac;)"woL"(ftnirp : 4 esac

    ;kaerb;)"!rebmun tcerrocnI"(ftnirp :tluafed

    }}

  • 5 : 141

    0002 li.oc.0002hm.www

    C , .

    fi esle-fi.

    C :

    elihw elihw-od

    rof :

    eunitnoc .

    kaerb , , hctiws.

    esac-hctiws " .

    / 21 ' 921821.

  • 241 : C : C

    0002 li.oc.0002hm.www

  • 143 : 6

    www.mh2000.co.il 2000

    . 6

    C -

    main

  • 441 : C : C

    0002 li.oc.0002hm.www

    " . .

    , :

    / ) 0..9( 2 3 .

    :

    )i,3(rewop )i,2(rewop i---------- ---------- -

    1 1 03 2 19 4 272 8 318 61 4342 23 5927 46 67812 821 71656 652 838691 215 9

    , " :

    i 0 9 :

    2 i )1ser( 3 i )2ser(

    i, 1ser 2ser

    : "

    1..i 2 3 .

    :

    : j,i , 2ser ,1ser :1ser > 1, 2ser > 1

  • 6 : 541

    0002 li.oc.0002hm.www

    i 0 9 :

    j 1 i : 1ser > 2*1ser

    j 1 i : 2ser > 3*2ser

    i, 1ser 2ser

    , 1ser 2ser i 2 3 .

    j )2 3(. 1ser 2ser 1.

    ?

    , / .

    " , , .

  • 641 : C : C

    0002 li.oc.0002hm.www

    "

    . " .

    .

    : 2 :

    rewop :

    : esab , n (

    : tluser > 1

    i 1 n :

    tluser > esab * tluser

    tluser

    rewop " .

    , 2 5 )5,2(rewop. ser , :

    1ser > )5,2(rewop rewop :

    : i , 2ser ,1ser

    i 0 9 :

    1ser > )i,2(rewop 2ser > )i,3(rewop

    i, 1ser 2ser

  • 6 : 741

    0002 li.oc.0002hm.www

    C C .

    ,

    )gubed( . C " ) ( . (niam

    ) .

    , .

    .

    , )(niam ,)(f ,)(g ,)(h. niam f f g h :

    )(niam

    {

    )(f

    }

    )(f

    {

    )(g

    )(h

    }

    )(g

    {

    }

    )(h

    {

    }

    , , .

    : ) ( .

    , . .

    ) C(: )(ftnirp, )(fnacs, )(niam.

  • 841 : C : C

    0002 li.oc.0002hm.www

    :

    )> < > ( , <

    ><

    }

    , # ) 11 (.

    , .

    rewop : /* c.srewop :elif */>h.oidts< edulcni#)n tni ,esab tni( rewop tni{

    ;1=tluser tni;i tni

    )i++ ;n=

  • 6 : 941

    0002 li.oc.0002hm.www

    :

    )i,3(rewop )i,2(rewop i---------- ---------- -

    1 1 03 2 19 4 272 8 318 61 4342 23 5927 46 67812 821 71656 652 838691 215 9

    rewop )n tni ,esab tni( rewop tni{

    ;1=tluser tni;i tni...

    } :

    : esab n.

    .

    )tluser ,i( . " " rof:

    )i++ ;n=

  • 051 : C : C

    0002 li.oc.0002hm.www

    niam : )(niam diov{

    ;i tni;)")i,3(rewop" ,")i,2(rewop" ,"i" ,"n\s31-% s31-% s4-%"(ftnirp;)"----------" ,"----------" ,"-" ,"n\s31-% s31-% s4-%"(ftnirp)i++ ;01

  • 6 : 151

    0002 li.oc.0002hm.www

    )epytotorp noitcnuf( " # . :

    >h.oidts< edulcni#/* )(rewop noitcnuf eht rof epytotorp */ ;)n tni ,esab tni(rewop tni

    )(niam diov{

    ;i tni;)")i,3(rewop" ,")i,2(rewop" ,"i" ,"n\s31-% s31-% s4-%"(ftnirp;)"----------" ,"----------" ,"-" ,"n\s31-% s31-% s4-%"(ftnirp)i++ ;01

  • 251 : C : C

    0002 li.oc.0002hm.www

    , . .

    . .

    :

    )(niam diov

    {

    ;)5 , 2( rewop

    }

    ) n tni ,esab tni ( rewop tni

    {

    }

    .

    ) ( .

    :

    ;)n tni ,esab tni( rewop tni

    )(niam diov{

    ;3 = i tni;5.2 = f taolf

    ;)f,i(rewop = ser tni} rewop

    .

    # f 9 = )2,3(rewop. .

  • 6 : 351

    0002 li.oc.0002hm.www

    ,

    ;)"olleh",i(rewop = ser tni

    .

    " tsnoc

    , .

    .

    " tsnoc . : ;)2c taolf tsnoc ,1c tni tsnoc(cnuf tni

    2c,1c cnuf.

    : tsnoc ?

    : " . ,

    rewop , .

    . tsnoc :

    ;)n tni tsnoc ,esab tni tsnoc( rewop tni

    , :

    )/ 8, ""(

    / :

    )tuoni ,tuo ,ni( . .

    C " tsnoc.

  • 451 : C : C

    0002 li.oc.0002hm.www

    . .

    )(rewop )tni(, , :

    )(niam diov

    {

    ;)5, 2( rewop = 1ser

    }

    ) n tni ,esab tni ( rewop tni

    {

    ...

    ;tluser nruter

    }

    " nruter. .

    )tni(. tni. , )(niam

    tni )(niam{

    ...

    ;0 nruter}

    ,

    diov.

    rewop niam diov, .

  • 6 : 551

    0002 li.oc.0002hm.www

    +

    . :

    )y taolf ,x taolf(xam taolf{

    )y>x(fi;x nruter

    esle;y nruter

    }

    )(niam diov{

    ;8.43=b ,4.9=a taolf;i tni/*ylticilpmi regetni ot taolf trevnoc */ ;)b,a(xam = i

    } . "

    /*ylticilpxe regetni ot taolf trevnoc */ ;)b,a(xam )tni( = i

  • 651 : C : C

    0002 li.oc.0002hm.www

    niam niam " ,

    . , niam " diov .

    niam tni : " 0, " 0 ) 1(. :

    >h.oidts< edulcni#)(niam tni{

    ;1mun tni;2mun taolf;n tni;)" :laer dna regetni - srebmun 2 retne esaelP"(ftnirp;)2mun& ,1mun& ,"f% d%"(fnacs = n)2=!n(fi{

    ;)"!tupni tcerrocnI"(ftnirp;1 nruter

    }esle{

    ;)2mun ,1mun ,"f2.% d% :era srebmun ehT"(ftnirp;0 nruter

    }}

    .

    , C.

    , ' 241 hctab exe.gorp. / .

    / ! / ' 21 ' 341.

  • 6 : 751

    0002 li.oc.0002hm.www

    C 2 :

    # .

    .

    , :

    )epocs(: "" , .

    "" , .

    . # ) !(.

    :

    >h.oidts< edulcni#;mcX tni

    ;)(trevnoc diov)(niam tni{

    ;)":ecnatsid a tupnI"(ftnirp;)mcX&,"d%"(fnacs;)(trevnoc;0 nruter

    })(trevnoc diov{

    ;hcniX taolf;45.2 / mcX =hcniX;)hcniX,mcX,"n\sehcni f2.6% era sretemitnec d%"(ftnirp

    }mcX "" , niam trevnoc, "

    #

    ;mcX tni

    niam " ;)mcX&,"d%"(fnacs

  • 851 : C : C

    0002 li.oc.0002hm.www

    )(trevnoc. .

    :

    : .

    : , "" .

  • 6 : 951

    0002 li.oc.0002hm.www

    : )/ (. .

    .

    :

    >h.oidts< edulcni#

    ;)(f diov)(niam tni{

    ;i tni)++i ;4

  • 061 : C : C

    0002 li.oc.0002hm.www

    '

    , . .

    :

    ;x tni citats;f taolf citats

    .

    )tnemges atad( .

    , x:

    >h.oidts< edulcni#

    ;)(f diov)(niam tni{

    ;i tni)++i ;4

  • 6 : 161

    0002 li.oc.0002hm.www

    . " . .

    :

    >h.oidts< edulcni#)(niam diov{

    ;2=x tni

    {;x tni;3 = x

    };)x,"d%=x"(ftnirp

    }:

    2=x

    x x )(niam x .

    . , .

  • 261 : C : C

    0002 li.oc.0002hm.www

    , :

    0. 0, 0.0 IICSA 0.

    . , ) ""(.

    .

    '

    ) epocs (

    )(

    " #

    ) " nretxe, 11(.

    ) (

    )

    (

  • 6 : 361

    0002 li.oc.0002hm.www

    # )exe.( , . # 2 :

    )tnemges edoC( )tnemgeS ataD(

    ,

    C. , , , '.

    . , .

    ,

    c.gorp>h.oidts< edulcni#;02=2g ,8=1g tni

    )(niam diov{

    ;x tni)2g>1g(fi

    ;1g = xesle

    ;2g = x;)x,"d%=x"(ftnirp

    }

    # 2 :

    exe.gorp8=1g02=2g

    tnemgeS ataD

    :niam;x tni)2g>1g(fi

    ;1g = xesle

    ;2g = x;)x,"d%=x"(ftnirp...

    tnemgeS edoC

  • 461 : C : C

    0002 li.oc.0002hm.www

    :

    C.

    # .

    .

    4 :

    # exe.

    # exe.

    )(.

    . 21.

    :

    ksiD

    c.gorP)(niam diov

    {

    ;x tni

    ;y taolf

    ;)y& ,x& ,"f% d%"(fnacs

    ...

    exe.gorP

    exe.gorP

    : ?

    : .

  • 6 : 561

    0002 li.oc.0002hm.www

    , .

    ) 41, " "(.

    , . :

    ) (

    , 2 :

    )y tni ,x tni(xam tni{

    ;m tni)y>x(fi

    ;x=mesle

    ;y=m;m nruter

    }

    )(niam diov{

    ;ser tni;92=b ,8=a tni;)b,a(xam = ser

    }

    , )(niam . )(xam )(niam. :

    ser

    8=a92=b

    )(niam

    : .

  • 661 : C : C

    0002 li.oc.0002hm.www

    )(xam : m

    8=x92=y

    )(xam

    ser

    8=a92=b

    )(niam

    )(xam, m y,x : 92ser

    8=a92=b

    )(niam

    ser niam 92=ser8=a92=b

    )(niam

    ' 551151 . / .

  • 6 : 761

    0002 li.oc.0002hm.www

    . , .

    :

    >h.oidts< edulcni#)(niam diov{

    ;)"olleh"(stup;)(niam

    }: )(niam olleh .

    , )(niam :

    )(niam diov{

    ;)"olleh"(stup;)(niam

    })(niam diov{

    ;)"olleh"(stup;)(niam

    })(niam diov{

    ;)"olleh"(stup;)(niam

    })(niam diov{

    ;)"olleh"(stup;)(niam

    }

    . . .

    , olleh: olleholleholleholleholleh...

    , , . :

    >h.oidts< edulcni#

  • 861 : C : C

    0002 li.oc.0002hm.www

    )n tni(tereza tni{

    )1=

  • 169 : 6

    www.mh2000.co.il 2000

    :

    azeret(4)

    { return 4 * azeret(3);

    }

    azeret(3)

    { return 3 * azeret(2);

    }

    azeret(2)

    { return 2 * azeret(1);

    }

    azeret(1)

    { if(n

  • 071 : C : C

    0002 li.oc.0002hm.www

    : 3 , C,B,A, A n :

    ABC

    A C, " , A . :

    .

    B . .

    , , .

    , 2=n, :

    A B

    A C

    B A

    3=n :

    A C

    A B

    C B

    A C

    B A

    B C

  • 6 : 171

    0002 li.oc.0002hm.www

    A C

    : n ?

    : .

    , evom, :

    evom:

    :n

    1t

    2t

    3t

    1=n

    )( 1t 3t

    evom 1-n 1t 2t 3t

    n ) ( 1t 3t

    evom 1-n 2t 3t 1t

    , 1 , . ' 161061.

    / & / ' 261.

  • 271 : C : C

    0002 li.oc.0002hm.www

    . .

    C " ) ( . niam .

    )( . ) ( ) (,

    .

    , . .

    : , . # .

    : .

    :

    .

    ) (.

    )# (.

    " .

    . . .

    / ' 41 ' 461361.

  • 173 : 7

    www.mh2000.co.il 2000

    . 7

    -

  • 471 : C : C

    0002 li.oc.0002hm.www

    .

    , .

    , , , .

    , : , , . ), , ( .

    ", )" fedepyt( , gnirtS.

    : , , , :

    ;]>!!< >!h.oidts< edulcni#

    /* sregetni 2 neewteb paws */)2ap* tni ,1ap* tni(paws diov{

    ;1ap* = 3a tni

    ;2ap* = 1ap*;3a = 2ap*

    }

    )(niam diov{

    ;3=y ,5=x tni

    ;)y&,x&(paws;)x ,"n\d%=x"(ftnirp;)y ,"n\d%=y"(ftnirp

    }

    :

    3=x5=y

    paws 2 : )2ap* tni ,1ap* tni(paws diov

    " 1ap 2ap, y,x niam :

    ;)y&,x&(paws

  • 202 : C : C

    0002 li.oc.0002hm.www

    )(niam diov

    {

    ;)y& , x& (paws

    ...

    )2ap* tni ,1ap* tni(paws diov }

    {

    ;1ap* = 3a tni

    ;2ap* = 1ap*

    ;3a = 2ap*

    }

    5=y 3=x

    2ap 1ap

    ' 991891 )kcatS llaC( . / .

  • 8 : 302

    0002 li.oc.0002hm.www

    ' paws

    7, "". tros " ". paws tros:

    )(paws: )2ap* tni ,1ap* tni(paws diov{

    ;1ap* = 3a tni

    ;2ap* = 1ap*;3a = 2ap*

    } )(tros:

    )ezis tni ,][rra tni(tros diov{

    ;j,i tni

    )++i ;1 - ezis < i ;0=i(rof)++j ;i - 1- ezis < j ;0=j(rof

    )]1+j[rra > ]j[rra(fi;)]1+j[rra& ,]j[rra&(paws

    }: "", , )(tros

    )(paws " : ;)]1+j[rra& ,]j[rra&(paws

    " , . , "" .

    / " "

    fnacs .

    , / ftnirp .

  • 402 : C : C

    0002 li.oc.0002hm.www

    +

    C , , . , yarra:

    ;}21,89,21,65,54{ = ]5[yarra trohs

    trohs 2 :

    ][yarra=

    54 098342

    65 298342

    21 498342

    89 698342

    21 898342

    yarra . yarra 098342. :

    /* 0 = ]0[yarra */ ;0 = yarra*/* 8 = ]2[yarra */ ;8= )2+yarra(*

    :

    ;yarra = p* trohs)++i ;5h.oidts< edulcni#)p* rahc(trevnoc diov{

    ;'A' = p*

  • 8 : 502

    0002 li.oc.0002hm.www

    ;'h' = )1+p(*;'l' = )2+p(*;'a' = )3+p(*;'n' = )4+p(*

    } )(trevnoc :

    )(niam diov{

    ;}'o' ,'l' ,'l' ,'e' ,'H'{ = ][s rahc;i tni

    ;)s(trevnoc)++i ;5

  • C : C : 206

    www.mh2000.co.il 2000

    . ,

    char s[5]; ,

    char s[] = {'H', 'e', 'l', 'l', 'o'};

    . 5

    char *s; .

    :

    #include

    void main(){

    char s[5];char *p;

    int i;

    /* read 5 chars into the array pointed to by s */for(i=0; i

  • 8 : 702

    0002 li.oc.0002hm.www

    :

    246938=p

    446938=s]0[s

    ]1[s

    ]2[s

    ]3[s

    ]4[s

    : ]i[p , p, .

    ;'r' = ]3[p ) "( ]1[s 'r' !!! 21

    .

    LLUN C LLUN 0 , " ".

    ;LLUN = p* tni

    p " ", 0. p , "".

    21, " # ", LLUN .

    LLUN h.oidts, h.bildts.

  • 802 : C : C

    0002 li.oc.0002hm.www

    +?

    , : .

    , ) ( ) (. , , .

    , .

    ' 502402 .

    / ' 602502.

  • 8 : 902

    0002 li.oc.0002hm.www

    ,

    . , rtp epyt

    ;>rtpepyt-".

  • 01 : 552

    0002 li.oc.0002hm.www

    )erutcurts( C " . )drocer(.

    " tcurts . .

    . , . " ".".

    " , .

    "*". "> " .

    . " ][ " ".".

    noinu .

    / # .

  • 652 : C : C

    0002 li.oc.0002hm.www

  • 257 : 11

    www.mh2000.co.il 2000

    . 11

    :

    (Pre-Processor) -

  • 852 : C : C

    0002 li.oc.0002hm.www

    " , # . ,

    .

    C # "c." . , .

    ) ( .

    # ", h. : # , , .

    .

    # . .

    : a, b, gorp

    c.a

    exe.tcejorp

    h.a

    jbo.a

    edulcni#

    knil

    elipmoc

    c.b

    h.b

    jbo.b

    edulcni#

    knil

    elipmoc

    c.gorp

    jbo.gorp

    edulcni#

    knil

    elipmoc

    edulcni#

    c. )edulcni#( h., # )jbo.(. # " )knil(.

  • 11 : 952

    0002 li.oc.0002hm.www

    h. " .

    , .

    .

    # . , #

    .

    .

    )ecafretnI( )noitatnemelpmI( .

    " : , ,

    . , / "avaJ " " ++C" .

  • 062 : C : C

    0002 li.oc.0002hm.www

    ) h.( " )rossecorp-erp(. edulcni#.

    , , , " .

    " , , #

    )h.( )edulcni#( .

    : !!

    :

    c.b>h.b< edulcni#

    ;eman_elif gnirtS

    )...(tnemele_tresni diov{...

    })...(tnemele_led diov{...

    }

    h.b1- DNUOF_TON enifed#;]652[gnirtS rahc fedepyt

    tcurts fedepyt{

    ;yek tni;rts gnirtS

    ;tnemelE }

    ;)...(tnemele_tresni diov;)...(tnemele_led diov

    edulcni#

    c.gorp>h.b< edulcni#

    )(niam tni{

    ;e tnemelE...

    )...(tnemele_tresni}

    edulcni#

  • 11 : 162

    0002 li.oc.0002hm.www

    0 0

    ) ( #? :

    # h. # edulcni# # .

    , c.b c.gorp :

    c.gorp1- DNUOF_TON enifed#;]652[gnirtS rahc fedepyt

    tcurts fedepyt{

    ;yek tni;rts gnirtS

    ;tnemelE }

    ;)...(tnemele_tresni diov;)...(tnemele_led diov

    )(niam tni{

    ;e tnemelE...

    )...(tnemele_tresni}

    c.b1- DNUOF_TON enifed#;]652[gnirtS rahc fedepyt

    tcurts fedepyt{

    ;yek tni;rts gnirtS

    ;tnemelE }

    ;)...(tnemele_tresni diov;)...(tnemele_led diov

    ;eman_elif gnirtS

    )...(tnemele_tresni diov{...

    })...(tnemele_led diov{...

    }

    1.

    C.

    )( #!

    2. # " # . ,

    1- DNUOF_TON enifed#

    " DNUOF_TON 1-.

  • 262 : C : C

    0002 li.oc.0002hm.www

    # :

    )epytotorp( " nretxe.

    , # c.gorp eman_elif c.b:

    ;eman_elif gnirtS , # h.b :

    ;eman_elif gnirtS nretxe nretxe # .

  • 263 : 11

    www.mh2000.co.il 2000

    .h .h

    b.h # , . .h .h :# ,stdio.h # "

    b.h#include #define NOT_FOUND -1typedef char String[256];

    typedef struct element{

    int key;String str;

    } Element;

    void insert_element(Element *);void del_element(int);

    .stdio.h / prog.c # :

    stdio.h

    a.c

    project.exe

    a.h

    a.obj

    #include

    link

    compile

    b.c

    b.h

    b.obj

    #include

    link

    compile

    prog.c

    prog.obj

    #include

    link

    compile

    #include

    #include

    #include

    :prog stdio.h # , .stdio.h b.h

  • 462 : C : C

    0002 li.oc.0002hm.www

    h. :

    H_OIDTS fednfi#H_OIDTS enifed#;)...(ftnirp tni;)...(fnacs tni;)(rahcteg tni;)hc tni(rahctup tni...

    fidne#

    h.oidts H_OIDTS )( .

    " fednfi#: ) ( fidne#.

    ) (

    fidne#. , # .

    # h.oidts H_OIDTS ,

    H_OIDTS fednfi# " # ,

    H_OIDTS enifed#" # # :

    ;)...(ftnirp tni;)...(fnacs tni;)(rahcteg tni;)hc tni(rahctup tni...

    # h.oidts H_OIDTS

    H_OIDTS fednfi# # .

  • 11 : 562

    0002 li.oc.0002hm.www

    " )tcejorp( ) (.

    "

    )rekniL(. : oidutSveD-SM, " stcejorP/weN/eliF, ) "noitacilppA elosnoC 23niW"

    SOD(.

    h. c. " selif/weN/eliF # c. # h. .

    dnalroB, ++C obruT, tcejorP .

    " wen/eliF, ) !( " meti ddA/tcejorP.

    , # exe. # .

    " , # tpircs.

    , xinU " cc :

    c.gorp c.b c.a c- cc

    c. o..

    o- :

    o.gorp o.b o.a gorp o- cc

    o.a, o.b o.gorp # gorp.

  • 662 : C : C

    0002 li.oc.0002hm.www

    ?

    : , .

    " .

    , ftnirp fnacs h.oidts , " " C

    ) , yrarbil emitnur C dradnatS(.

  • 11 : 762

    0002 li.oc.0002hm.www

    :

    :

    h.rra_dc ,

    c.rra_dc )"(

    c.niam_dc :

    c.rra_dc

    h.rra_dc

    edulcni#

    c.gorp

    edulcni#

    # jorp_dc.

    ' 282772.

  • 862 : C : C

    0002 li.oc.0002hm.www

    )rossecorP-erP( #

    #.

    :

    edulcni# enifed#, fednu#

    enifed# fi#, fedfi#, fednfi#, file#, esle#

    amgarp# ,enil# ,rorre#

    edulcni# # # .

    >h.oidts< edulcni#

    # c.gorp # c.gorp # h.oidts . h.oidts edulcni# , .

    #

    "h.elifym" edulcni#

    # # .

  • 11 : 962

    0002 li.oc.0002hm.www

    , " , :

    1- DNUOF_TON enifed#

    : , , , . :

    454 MUNI enifed#f87.66 MUNF enifed#5E55.2 PXEF enifed#'A' HC enifed#"olleh" OLLEH enifed#

    " , :

    ;)__ELIF__ ,__ENIL__ ,"s% elif ,d% enil :PC"(ftnirp TNIOP_KCEHC enifed#

    ) __ELIF__ , ENIL__ ( :

    ;ter ,x tni;)":regetni na retnE"(ftnirp;)x& ,"d%"(fnacs = terTNIOP_KCEHC

    , )/ (:

    GALF enifed#

    " fednu#. , " GALF fednu#

  • 072 : C : C

    0002 li.oc.0002hm.www

    " , . :

    b : a ?b > a )b,a(XAM enifed#a*a )a(2REWOP enifed#

    :

    ;ter ,y,x tni;)":sregetni 2 retnEn\"(ftnirp;)y& ,x& ,"d% d%"(fnacs;))y,x(XAM ,"d% si mumixam ehTn\"(ftnirp;))x(2REWOP ,"d% = 2^xn\"(ftnirp

    , .

    )/ 6, ""(.

    , edoC()tnemgeS .

    : .

    ++C : ++C enilni , . ,

    :

    )y tni ,x tni(NIM tni enilni{

    ;y :x ? y < x nruter} , . "

    enilni, .

  • 11 : 172

    0002 li.oc.0002hm.www

    . .

    , # h.elifym " " H_ELIFYM fednfi#H_ELIFYM enifed#...

    fidne# # .

    # " )gubed(. , , " .

    :

    GUBED_YM fedfi#)ezis tni ,ffub* rahc(gubed_ym diov{

    ...

    }fidne#

    GUBED_YM: " GUBED_YM enifed#

    . , gubed_ym .

  • 272 : C : C

    0002 li.oc.0002hm.www

    / # # ' 782.

    # ' 882.

  • 11 : 372

    0002 li.oc.0002hm.www

    , # . " .

    # )c.( # )h.(. # , . #

    " .

    " )edulcni#( # .

    )reknil( # ) exe. ( , .

    ,

    : fednfi#, enifed#, fidne#.

    :

    #

    / # .

  • 472 : C : C

    0002 li.oc.0002hm.www

  • 275 : 12

    www.mh2000.co.il 2000

    . 12

    :

  • 672 : C : C

    0002 li.oc.0002hm.www

    " . .

    " , :

    .

    , :

    ;]EZIS_YARRA[yarra_dc DC

    emandnab

    yrogetactsoc

    rebmun

    emandnab

    yrogetactsoc

    rebmun

    emandnab

    yrogetactsoc

    rebmun

    emandnab

    yrogetactsoc

    rebmun

    emandnab

    yrogetactsoc

    rebmun...

    = ] [ yarra_dc1 - EZIS_YARRA 3 2 1 0

    EZIS_YARRA 005 , 05 , 01 .

    , :

    )eman(, )dnab( )yrogetac( .

    : ) (

    "" , gnirtS : ;]652[gnirtS rahc fedepyt

    tcurts fedepyt{

    ;eman gnirtS;retirw gnirtS;rehsilbup gnirtS;raey tni...

    ;kooB }

    " " ".

  • 21 : 772

    0002 li.oc.0002hm.www

    , C " .

    )noitacolla yromem cimanyd(. )paeh(.

    . 6, "", :

    ksiD

    c.gorP)(niam diov

    {

    ;x tni

    ;y taolf

    ;)y& ,x& ,"f% d%"(fnacs

    ...

    exe.gorP

    exe.gorP

    : , .

    , C .

    2 :

    )(collam : . "

    . :

    ;) ezis t_ezis (collam* diov

    t_ezis . # h.feddts ) (:

  • C : C : 278

    www.mh2000.co.il 2000

    typedef unsigned int size_t;

    : . free()void free( void *ptr);

    :

    #include #include

    void main(){

    char *str;

    /* allocate 80 chars for str */str = malloc(80);if( str == NULL )

    puts("Insufficient memory available");else{

    puts("Enter a string:");gets(str);puts("The string entered");puts(str);

    /* free the allocated memory */free(str);puts("Memory freed");

    }}

    : stdlib.h #include

    : 80 str

    char *str;...

    str = malloc(80);

  • 21 : 972

    0002 li.oc.0002hm.www

    )(collam , . :

    :892952

    :992952

    :003952

    :103952

    :203952

    :303952

    :403952

    ...

    :083952

    :183952

    )(collam

    rts

    :

    :892952

    :992952

    X :003952

    X :103952

    X :203952

    X :303952

    X :403952

    ...

    X :973952

    :083952

    :183952

    rts

    " .

    collam LLUN. "

    ) LLUN == rts (fi;)"elbaliava yromem tneiciffusnI"(stup

    )(eerf : ;)rts(eerf

  • 082 : C : C

    0002 li.oc.0002hm.www

    :

    :892952

    :992952

    :003952

    :103952

    :203952

    :303952

    :403952

    ...

    :083952

    :183952

    )(eerf

    :

    tcurts fedepyt{

    ;x tni;y taolf

    ;S }

    ;sp* S

    ;))S(foezis * 01(collam = sp

    01 S:

    xy

    = spxy

    xy

    xy

    xy

    xy

    xy

    x...y

    9 5 4 3 2 1 0

    , :

    )++i ;01

  • 21 : 182

    0002 li.oc.0002hm.www

    :

    " 01, "".

    : , , , " '.

    " , , , , .

    " " , " " .

    " .

  • 282 : C : C

    0002 li.oc.0002hm.www

    :

    /* epyt kooB */tcurts fedepyt{

    ;eman* rahc;retirw* rahc;rehsilbup* rahc;tsoc taolf;raey tni;DI tni

    ;kooB } :

    kooBeman

    retirw

    rehsilbup

    raey

    tsoc

    DI

    , " . ,

    )eman( koob : , pmet

    ;pmet gnirtS

    :

    ;)pmet(steg

    " pmet + 1: ;)1+)pmet(nelrts((collam = eman.koob

    pmet eman.koob: ;)pmet ,eman.koob(ypcrts

  • 21 : 382

    0002 li.oc.0002hm.www

    pudrts

    .

    h.gnirts pudrts :

    ;)pmet(steg;)pmet(pudrts = eman.koob

    : pudrts : ;)rts* rahc tsnoc (pudrts* rahc

    , , :

    koobeman

    retirw

    rehsilbup

    raey

    tsoc

    DI

    )(steg

    pmet

    )(pudrts

    , " ":

    ;)eman.koob(eerf ' 003.

    / / ' 103.

  • 482 : C :