curs2 handouts

Upload: simion-gabriel

Post on 22-Feb-2018

259 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Curs2 Handouts

    1/25

    10/11/2015

    CLP CURS 1 1

    P C L P

    C 2

    , , E C,

    D

    CPINI. I.1 C I.1.1 C 10I.1.2 M

    I.2 C I.2.1 C 10 I.2.2 C 10

    II. II.1 R II.2 R

    III. E CI. D IV.1 V IV.2 C IV.2.1 C IV.2.2 N IV.2.3 N IV.2.4 N

    PCLP CURS 2 2

    I. IEME DE NMEAIE

    R .

    B .

    10, .

    PCLP CURS 2 3

    IEME DE NMEAIE

    R , 0 1, .

    D

    .

    PCLP CURS 2 4

    :

    , ;

    0,

    ;

    PCLP CURS 2 5

    0

    :

    ()= 1210=

    = 1*1 + 2*

    2 + + 1*1 + 0*

    0

    PCLP CURS 2 6

  • 7/24/2019 Curs2 Handouts

    2/25

    10/11/2015

    CLP CURS 1 2

    I.1 CONEIA NMEELONEGI

    PCLP CURS 2 7

    I.1.1 C 10 :

    1. , ;

    2. 10;

    3. ( ) 10.

    PCLP CURS 2 8

    E: 2 10

    01011100(2)

    =

    = 0*27 + 1*26 + 0*25 + 1*24 + 1*23 +

    + 1*22 + 0*21 + 0*20 =

    = 92(10)PCLP CURS 2 9

    P 27 26 25 24 23 22 21 20

    N: 0 1 0 1 1 1 0 0

    E: 8 10

    157(8) = 1*82 + 5*81 + 7*80 = 111(10)

    PCLP CURS 2 10

    E: 16 10

    A9B(16)=

    A*162 + 9*161 + B*160 = 10*162 + 9*161 + 11*160 == 2715(10)

    PCLP CURS 2 11

    I.1.2 M 10

    10 . S .

    .

    .

    ,

    .PCLP CURS 2 12

  • 7/24/2019 Curs2 Handouts

    3/25

    10/11/2015

    CLP CURS 1 3

    C 10 2

    ,

    .

    N 2 .

    P (1 ) .

    PCLP CURS 2 13

    E:13(10)= ? (2)

    C O

    13 : 2 6 1

    6 : 2 3 0

    3 : 2 1 1

    1 : 2 0 (

    ) 1

    PCLP CURS 2 14

    D,13(10)= 1101(2) = 00001101(2)

    A 10 8 16.

    T 10 8 , .N 8 .

    T 10 16 , .N 16 ( 10 A, 11 B.) .

    PCLP CURS 2 15

    C 25 10 2.

    PCLP CURS 2 16

    R

    11001

    PCLP CURS 2 17

    E:2715(10)= ? (16)

    C

    2715 : 16 169 11 = B

    169 : 16 10 9

    10 : 16 0 ( ) 10 = A

    PCLP CURS 2 18

    D, 2715(10)= A9B(16)

  • 7/24/2019 Curs2 Handouts

    4/25

    10/11/2015

    CLP CURS 1 4

    I.2 CONEIA NMEELO EALE

    PCLP CURS 2 19

    C

    U

    () .

    P

    , .

    C .

    C :

    PCLP CURS 2 20

    I.2.1 C 10

    S , .

    .

    T .

    D

    PCLP CURS 2 21

    , , . .

    PCLP CURS 2 22

    2 8 16

    2 * 0,123 = 0,246 + 0 8 * 0,123 = 0,984 + 0 16 * 0,123 = 0,968 + 1

    2 * 0,246 = 0,492 + 0 8 * 0,984 = 0,872 + 7 16 * 0,968 = 0,488 + 15 (F)

    2 * 0,492 = 0,984 + 0 8 * 0,872 = 0,976 + 6 16 * 0,488 = 0,808 + 7

    2 * 0,984 = 0,968 + 1 8 * 0,976 = 0,808 + 7 16 * 0,808 = 0,928 + 12 (C)

    2 * 0,968 = 0,936 + 1 8 * 0,808 = 0,464 + 6 16 * 0,928 = 0,848 + 14 (E)

    0,00011(2) 0,07676(8) 0,1F7CE(16)

    I.2.2 C 10

    V :

    0,121()

    C :

    (10) 1*1 + 2*

    2 + + 1*(1) + *

    PCLP CURS 2 23

    .

    0,1001(2)= 1*21 + 0*22 + 0*23 + 1*24 =

    = 1*0,5 + 0 + 0 + 1*0,0625 = 0,5625 (10)

    .

    0,31(8)= 3*81 + 1*82 = 3*0,125 + 1* 0,015625 =

    = 0,375 + 0,015625 = 0,390625 (10)

    PCLP CURS 2 24

  • 7/24/2019 Curs2 Handouts

    5/25

    10/11/2015

    CLP CURS 1 5

    .

    0,A5(16)= 10*161 + 5*162 =

    = 10*0,0625 + 5*0,00390625 =

    = 0,64453125 (10)

    PCLP CURS 2 25

    II. EPEENAEA INEN ADAELO

    PCLP CURS 2 26

    II.1

    E:

    ACII 8 (, ):

    10 65.

    D ACII A 65.

    PCLP CURS 2 27

    7 6 5 4 3 2 1 0

    0 1 0 0 0 0 0 1

    PCLP CURS 2 28

    PCLP CURS 2 29 PCLP CURS 2 30

  • 7/24/2019 Curs2 Handouts

    6/25

    10/11/2015

    CLP CURS 1 6

    B 2

    A

    , 2 2:

    8( )

    16( ).

    A 3 ()

    4 .

    PCLP CURS 2 31

    B

    10

    B 2 B

    8

    B

    1627 26 25 24 23 22 21 20

    0 0 0 0 0 0 0 0 0 0 0

    1 0 0 0 0 0 0 0 1 1 1

    2 0 0 0 0 0 0 1 0 2 2

    3 0 0 0 0 0 0 1 1 3 3

    4 0 0 0 0 0 1 0 0 4 4

    5 0 0 0 0 0 1 0 1 5 5

    6 0 0 0 0 0 1 1 0 6 6

    7 0 0 0 0 0 1 1 1 7 7

    PCLP CURS 2 32

    B

    10

    B 2 B

    8

    B

    1627 26 25 24 23 22 21 20

    8 0 0 0 0 1 0 0 0 10 8

    9 0 0 0 0 1 0 0 1 11 9

    10 0 0 0 0 1 0 1 0 12 A/

    11 0 0 0 0 1 0 1 1 13 B/

    12 0 0 0 0 1 1 0 0 14 C/13 0 0 0 0 1 1 0 1 15 D/

    14 0 0 0 0 1 1 1 0 16 E/

    15 0 0 0 0 1 1 1 1 17 F/

    PCLP CURS 2 33

    C ACII 8 (, ):

    P 8. V , , :

    PCLP CURS 2 34

    7 6 5 4 3 2 1 0

    0 1 0 0 0 0 0 1

    D 01000001(2)= 101(8)S .

    PCLP CURS 2 35

    D .

    PCLP CURS 2 36

    7 6 5 4 3 2 1 0

    0 1 0 0 0 0 0 1

    D 01000001(2)= 41(16)

    S 16

    2 8.

  • 7/24/2019 Curs2 Handouts

    7/25

    10/11/2015

    CLP CURS 1 7

    R

    .

    A (.. A) ASCII (8 ).

    P 2 ( 10 0 21),

    P 8 28 = 256 10 0 255.

    PCLP CURS 2 37

    II.2

    N

    .

    ,

    .

    PCLP CURS 2 38

    A ASCII 8 ,

    , , .

    D , .

    PCLP CURS 2 39

    C

    , C, .

    , 28 = 256 0 281 (0 255)

    C .

    PCLP CURS 2 40

    D ,

    216 = 65.536 0 2161 (0 65535)

    C .

    PCLP CURS 2 41

    D ,

    232 = 4.294.967.206 0 2321 :

    (0 4.294.967.205)

    C , .

    PCLP CURS 2 42

  • 7/24/2019 Curs2 Handouts

    8/25

    10/11/2015

    CLP CURS 1 8

    C 2 (1) P

    .

    P 2 :

    1. ( ) ,

    2. ( 1 0 ),

    3. 1 .

    PCLP CURS 2 43

    O 2 :

    2 .

    PCLP CURS 2 44

    C 2 (2)

    P ( , ) ,

    1

    0 .

    P , 2 .

    PCLP CURS 2 45

    E 105 = 8 .A 105(10)= 01101001(2). C :1. 105(10)= 01101001(2), =>

    10010110, 1 : 10010111. C :

    2. 28 = 100000000, 28 105 2:

    1000000000110100110010111

    10010111, 105.

    PCLP CURS 2 46

    O

    P = 8 ,

    (21 1) = (27 1) = 127.

    PCLP CURS 2 47

    NEBI

    1. P = 16 ?

    2. P = 32 ?

    PCLP CURS 2 48

  • 7/24/2019 Curs2 Handouts

    9/25

    10/11/2015

    CLP CURS 1 9

    PNI

    1. (21 1) = (215 1) = 32.767

    2. (21 1) = (231 1) = 2.147.483.647

    PCLP CURS 2 49

    III. EAPE N CEAEANI POGAM C

    PCLP CURS 2 50

    C C

    L C .

    R .

    I, . C,

    C, ..

    PCLP CURS 2 51

    E CPCLP CURS 2 52

    III.1 E I, (..

    ) ().

    S ( ) , ., C.

    F .

    PCLP CURS 2 53

    III.2 C

    F . 1 .C .

    2.1.L , .

    P .

    E .

    PCLP CURS 2 54

  • 7/24/2019 Curs2 Handouts

    10/25

    10/11/2015

    CLP CURS 1 10

    III.2.1 P

    P .

    A #.

    A, # .

    #, .

    PCLP CURS 2 55

    P

    T

    :

    #,

    #,

    #

    #.

    PCLP CURS 2 56

    P

    , , #.

    S # #.

    PCLP CURS 2 57

    III.2.2 C

    U .

    D , ( ).

    A .

    A , ..

    PCLP CURS 2 58

    C

    ,

    ,

    ( ).

    PCLP CURS 2 59

    C

    ..

    P

    ,

    .,

    , .

    PCLP CURS 2 60

  • 7/24/2019 Curs2 Handouts

    11/25

    10/11/2015

    CLP CURS 1 11

    III.3 E

    E

    ()

    (.. )

    .

    PCLP CURS 2 61

    E

    A

    . .

    A .

    PCLP CURS 2 62

    III.4 E

    O .

    A

    ( ).

    A .

    PCLP CURS 2 63

    III.5

    C , .

    P ().

    U

    . D ,

    , () .

    PCLP CURS 2 64

    T .

    T , ( ) .

    PCLP CURS 2 65

    E 5 C

    A 2 2 !

    PCLP CURS 2 66

  • 7/24/2019 Curs2 Handouts

    12/25

    10/11/2015

    CLP CURS 1 12

    R

    1. E

    2. C1. P

    2. C

    3. E

    4. E

    5. T

    PCLP CURS 2 67

    I. DAE I INCININUCLEUL C

    PCLP CURS 2 68

    E

    C , , .

    V : , , , .

    PCLP CURS 2 69

    P ,

    #include

    main()

    {

    printf("hello, world\n");

    }

    PCLP CURS 2 70

    O ,

    .

    U C, , .

    PCLP CURS 2 71

    main.

    , main C main.

    O main.

    A main .

    P , .

    #include

    P , #include

    2.1

    stdio.h ;

    A C.

    PCLP CURS 2 72

  • 7/24/2019 Curs2 Handouts

    13/25

    10/11/2015

    CLP CURS 1 13

    main()

    O

    , , .

    P .

    , main , ( ).

    PCLP CURS 2 73 PCLP CURS 2 74

    #include include biblioteca

    standard stdio.h

    main() definete o funcie numit

    main care nu posedvalori

    ale argumentelor{ instruciunile funciei

    main sunt incluse ntre

    paranteze acolad

    printf("hello,world\n");main apeleazfuncia de

    bibliotecprintfpentru a

    afia secvena de

    caractere specificat

    ntre paranteze

    } \n reprezintcaracterul

    de trecere la o linie nou

    I { }.

    Fmain :

    printf("hello, world\n");

    O , .

    Amain printf

    "hello, world\n".printf (

    ) ,

    ,printf .

    PCLP CURS 2 75

    O , "hello, world\n", .

    S \n C

    (), .

    PCLP CURS 2 76

    I.1 AIABILE I EPEIIAIMEICE

    PCLP CURS 2 77

    F C

    U

    C=(5/9)(F32)

    C :

    ,

    ,

    ,

    ,

    .

    PCLP CURS 2 78

    0 -17

    20 -6

    40 4

    60 15

    80 26

    100 37

    120 48

    140 60

    160 71

    180 82

    200 93

    220 104

    240 115

    260 126

    280 137

    300 148

  • 7/24/2019 Curs2 Handouts

    14/25

    10/11/2015

    CLP CURS 1 14

    #include

    /* print Fahrenheit-Celsius table

    for fahr = 0, 20, ..., 300 */

    main()

    {

    int fahr, celsius;

    int lower, upper, step;

    lower = 0; /* lower limit of temperature scale */

    upper = 300; /* upper limit */

    step = 20; /* step size */

    fahr = lower;

    while (fahr

  • 7/24/2019 Curs2 Handouts

    15/25

    10/11/2015

    CLP CURS 1 15

    C while

    F

    ,

    :

    while (fahr

  • 7/24/2019 Curs2 Handouts

    16/25

    10/11/2015

    CLP CURS 1 16

    PCLP CURS 2 91

    afiare aliniatla stngan cazul folosirii

    printf("%d\t%d\n", fahr, celsius);

    0 -17

    20 -6

    40 4

    60 15

    80 26

    100 37

    ...

    PCLP CURS 2 92

    afiare aliniatla dreaptan cazul folosirii

    printf("%3d %6d\n", fahr, celsius);

    0 -17

    20 -6

    40 4

    60 15

    80 26

    100 37

    ...

    %3d %6d\n", fahr, celsius

    S , , .

    V %d printf

    . fahr

    3 ,

    celsius 6

    PCLP CURS 2 93

    O , , C .

    , 0F C 17.8C, 17C .

    P .

    PCLP CURS 2 94

    PCLP CURS 2 95

    #include

    main(){

    lower = 0;

    upper = 300;

    step = 20;

    fahr = lower;

    while (fahr

  • 7/24/2019 Curs2 Handouts

    17/25

    10/11/2015

    CLP CURS 1 17

    printf("%3.0f %6.1f\n", fahr, celsius);

    %3.0 : fahr

    3, .

    %6.1: celsius 6 1

    6:

    1:

    PCLP CURS 2 97

    U

    %6: 6

    %.2: 2 ,

    %:

    PCLP CURS 2 98

    %d afieazun numrntregn baza 10

    %6dafieazun numrntregn baza 10, ntr-un cmp de cel

    puin 6 caractere lime

    %f afieazun numr real virgulmobil

    %6fafieazun numr real virgulmobil, ntr-un cmp de cel

    puin 6 caractere lime

    %.2fafieazun numr real virgulmobil, cu 2 caractere dup

    punctul zecimal

    %6.2fafieazun numr real virgulmobil, ntr-un cmp de cel

    puin 6 caractere lime cu 2 caractere duppunctul zecimal%o pentru afiarea numerelor n baza 8

    %x pentru afiarea numerelor n baza 16

    %c pentru afiarea unui caracter

    %s pentru afiarea irurilor

    %% pentru afiarea caracterului % nsuiPCLP CURS 2 99

    C for#include

    /* print Fahrenheit-Celsius table */

    main()

    {

    int fahr;

    for (fahr = 0; fahr

  • 7/24/2019 Curs2 Handouts

    18/25

    10/11/2015

    CLP CURS 1 18

    PCLP CURS 2 103

    2. P :

    fahr

  • 7/24/2019 Curs2 Handouts

    19/25

    10/11/2015

    CLP CURS 1 19

    R ,

    #include #define LOWER 0 /* lower limit of table */

    #define UPPER 300 /* upper limit */

    #define STEP 20 /* step size */

    /* print Fahrenheit-Celsius table */

    main()

    {

    int fahr;

    for (fahr = LOWER; fahr

  • 7/24/2019 Curs2 Handouts

    20/25

    10/11/2015

    CLP CURS 1 20

    getchar putchar

    Fputchar ()

    :putchar(c);

    c ,

    .

    A putcharprintf ;

    .

    PCLP CURS 2 115

    I.2.1 COPIEEA FIIEELO

    C getchar putchar, .

    C :

    C

    C ( )

    S

    C

    PCLP CURS 2 116

    #include

    /* copy input to output; 1st version */

    main()

    {

    int c;

    c = getchar();

    while (c != EOF) {

    putchar(c);

    c = getchar();

    }

    }

    PCLP CURS 2 117

    != .

    / (

    ). :A = 01000001

    char ,

    int

    PCLP CURS 2 118

    EOF:

    P .

    S getchar

    ,

    .

    EOF ( , ).

    PCLP CURS 2 119

    T c getchar.

    N char c

    EOF,

    char.

    P int.

    PCLP CURS 2 120

    EOF:

  • 7/24/2019 Curs2 Handouts

    21/25

    10/11/2015

    CLP CURS 1 21

    EOF:

    EOF .

    EOF, ^Z

    PCLP CURS 2 121

    P C

    , :

    c = getchar();

    ,

    .

    PCLP CURS 2 122

    V

    #include

    /* copy input to output; 2nd version */

    main()

    {

    int c;

    while ((c = getchar()) != EOF)

    putchar(c);

    }

    PCLP CURS 2 123

    I while ,

    c,

    .

    D , while .

    A while .

    C , while main.

    PCLP CURS 2 124

    P != =

    P

    (c = getchar())

    .

    P != =.

    A != =.

    PCLP CURS 2 125

    A :

    c = getchar() != EOF

    :

    c = (getchar() != EOF)

    A c 0 1, getchar .

    PCLP CURS 2 126

  • 7/24/2019 Curs2 Handouts

    22/25

    10/11/2015

    CLP CURS 1 22

    I.2.2 NMAEA CAACEELO

    #include

    /* count characters in input; 1st version */

    main(){

    long nc;

    nc = 0;

    while (getchar() != EOF)

    ++nc;

    printf("%ld\n", nc);}

    PCLP CURS 2 127

    I ++nc;

    ++,

    ++nc

    nc = nc + 1

    ++nc

    1

    PCLP CURS 2 128

    I ++nc;

    ++ -

    (++nc)

    (nc++)

    ( )

    ++nc, nc++ nc.

    PCLP CURS 2 129

    P long int.

    long 32 .

    D , int long

    , int 16 , 32767, int.

    PCLP CURS 2 130

    S %ld printf (nc)

    long.

    P , nc double(.. float ).

    PCLP CURS 2 131

    for while#include

    /* count characters in input; 2nd version */

    main()

    {

    double nc;

    for (nc = 0; getchar() != EOF; ++nc)

    ;

    printf("%.0f\n", nc);

    }PCLP CURS 2 132

  • 7/24/2019 Curs2 Handouts

    23/25

    10/11/2015

    CLP CURS 1 23

    printf

    %f float double;

    %.0f

    ,

    .

    PCLP CURS 2 133

    C for

    for.

    C for .

    S :

    C

    S .

    PCLP CURS 2 134

    C :

    while for getchar,

    : .

    U while for , .

    PCLP CURS 2 135

    I.2.3. NMAEA LINIILO#include

    /* count lines in input */

    main()

    {

    int c, nl;

    nl = 0;

    while ((c = getchar()) != EOF)if (c == '\n')

    ++nl;

    printf("%d\n", nl);}

    PCLP CURS 2 136

    (\n).

    while if

    C while if , , ++nl.

    , if

    ( c == '\n')

    , (

    , ) .

    PCLP CURS 2 137

    O ==

    == C .

    S == :

    (==)

    (=).

    PCLP CURS 2 138

  • 7/24/2019 Curs2 Handouts

    24/25

    10/11/2015

    CLP CURS 1 24

    C U

    , .

    A .

    P 97 98 A 65

    97, 98 65 , , A.

    PCLP CURS 2 139

    '\n' , 10 ACII.

    '\n' :

    10

    PCLP CURS 2 140

    I.2.4 NMAEA CINELO#include /* count lines, words, and characters in input */

    #define IN 1 /* inside a word */

    #define OUT 0 /* outside a word */

    main()

    {

    int c, nl, nw, nc, state;

    state = OUT;

    nl = nw = nc = 0;

    while ((c = getchar()) != EOF) {

    ++nc;

    if (c == '\n')

    ++nl;

    if (c == ' ' || c == '\n' || c == '\t')state = OUT;

    else if (state == OUT) {

    state = IN;

    ++nw;}

    }

    printf("%d %d %d\n", nl, nw, nc);}

    PCLP CURS 2 141

    P (), () () .

    P

    , .

    D , (++nw;).

    Vstate , , , .

    I,

    state OUT.

    P IN OUT 1 0 .

    PCLP CURS 2 142

    nl = nw = nc = 0;

    L ,nw nc.

    E .

    E :

    nl = (nw = (nc = 0));

    PCLP CURS 2 143

    O SAU : ||if (c == ' ' || c == '\n' || c == '\t')

    c c c .

    && I && ||.

    && || .

    D c , ,

    .PCLP CURS 2 144

  • 7/24/2019 Curs2 Handouts

    25/25

    10/11/2015

    F if : ()

    1

    2 else

    if .

    if-else .

    ;

    , .

    F .

    PCLP CURS 2 145

    B

    1 B K, D R,

    , II, E. P H, 1988.2 D, P., D, H., , 6 , P

    E I., U S R, N J, ISBN10:0136123562, ISBN13: 9780136123569, 2012 (7 . 2013).

    3 J, K., K, L., ++ ++, E. T, B,2001, ISBN 973601911.

    4 S, H., ++: , 4 , MGH/O, 2003, ISBN 0071502394 / 9780071502399.

    PCLP CURS 2 146