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