Você está na página 1de 7

// programma dat een figuur (V) tekent, hoogte moet worden opgehaald met Scanf() en groter

zijn dan 2 en kleiner dan 20. Figuur wordt getekend met karakter dat word ingelezen met
getchar().
int main(oid)!
int hoogte " #$%
int hori, erti%
char ch%
printf(&geef de hoogte' &)% //(aal hoogte op
while()canf(&*d&, +hoogte) ++ (hoogte ,"2 -- hoogte ." 20))!
printf(&/pnieuw' oer hoogte in (."2)' &)%
0
while(getchar() 1" 23n2)!0 //leeg 4uffer
printf(&Voer een karakter in' &)%
ch " getchar()% //(aal karakter op
for(erti " $% erti ," hoogte % erti55)! //print de V
for(hori " $% hori ," (26hoogte) #$% hori55)!
if(hori "" erti -- hori "" (26hoogte) # erti)
putchar(ch)%
el)e
putchar(2 2)%
0
putchar(23n2)%
0
)7)tem(&pau)e&)%
return 0%
0
//8r worden een aantal getallen ingelezen an het toet)en4ord. 8r wordt een getal 9 ingelezen.
:lle getallen die kleiner zijn dan de 9 worden in een nieuwe arra7 gezet en $ oor $ geprint
in een nette kolom.
int main(oid)!
float arra7;<000=, nieuwe;<000=%
int aantal " 0, teller, i%
float getal, 9%

printf(&Float arra7, )luit af met een letter3n&)%
while ()canf(&*f&, +getal))! //ul arra7 met float getallen
arra7;aantal55= " getal%
0
while(getchar() 1" 23n2)!0 //leeg 4uffer
printf(&Voer een 9 getal in' &)% //4epaal 9 getal
)canf(&*f&, +9)%
while(getchar() 1" 23n2)!0 //leeg 4uffer
for(i " 0% i , aantal % i55)!
if(9 , arra7;i=)
nieuwe;teller55= " arra7;i=%
0
printf(&8r zijn *d getallen groter dan getal *.>f3n&, teller, 9)%
for(i " 0% i , teller % i55)! //print getallen
printf(&*$0.>f3n&, nieuwe;i=)%
0
)7)tem(&pau)e&)%
return 0%
0
//programma wat met een oid erwijder?karakter) een zin doorloopt en het meegegeen
karakter ergelijkt met de karakter) in de zin en deze eruit haalt wanneer ze met elkaar
oereenkomen.
oid erwijder?karakter)(char6 ), char ch, int6 pi)!
int teller, i, j " 0%
int len " )trlen())%
char temp;@0=%
for(i " 0% i , len% i55)! //controleer de )tring
if();i= "" ch)
teller55%
el)e
temp;j55= " );i=%
0
temp;j= " 2302% // 30 aan het einde an de nieuwe )tring
)trcp7(),temp)% //kopieer nieuwe )tring naar )
6pi " teller% //geef de teller door
0
int main(oid)!
char regel;@0= " &0A januari 200B&%
int aantal%
erwijder?karakter)(regel, 202, +aantal)%
printf(&regel i) nu geworden' *)3n&, regel)%
printf(&er zijn *d teken) erwijderd3d&, aantal)%
)7)tem(&pau)e&)%
return 0%
0
//8r word een char arra7 geuld met $en en 0 door de ge4ruiker. (et programma zoekt dan
naar $0 die achter elkaar )taan en geeft dan het adre) terug waar deze te inden zijn.
char 6 adre)?an?eer)te?$0?enen(char6 a)!
char6 temp " CDEE%
int len " )trlen(a)%
int enen?teller " 0%
char6 p%
for(p " a% p , a5len% p55)! //zolang er nog iet) in de arra7 )taat
if(6p "" 2$2)! //al) het karakter een $ i)
enen?teller55%
if(enen?teller "" $0) //al) we $0 enen inden
return p#B%
0el)e
enen?teller " 0%
0
return temp%
0
int main(oid)!
char ar;$00=%
printf(&Fik nullen en enen in'3n&)%
get)(ar)% //haal arra7 op
char6 ptr " adre)?an?eer)te?$0?enen(ar)%
if(ptr 1" CDEE)!
printf(&:dre) an eer)te $0 enen' *p3n&, ptr)%
printf(&:dre) in arra7 ar hoort 4ij inde9 *d3n&, ptr#ar)%
0el)e
printf(&Cergen) )taan $0 enen naa)t elkaar3n&)%
)7)tem(&pau)e&)%
return 0%
0
//Geze functie lee)?in() lee)t $ oorwerp in, zodra het inlezen i) gelukt en de naam an het
oorwerp ander) dan )top i), leert deze een $ terug, ander) wordt er een 0 terug geleerd.
t7pedef )truct oorwerp!
int nummer%
char naam%
float gewicht, lengte%
0 Voorwerp%
oid druk?af(Voorwerp )!
printf(&*#$<) heeft nummer *d, weeft *A.Hf en i) *@.Hf cm lang3n&, .naam, .nummer,
.gewicht,

.lengte)%
0
int lee)?in(Voorwerp 6 p)!
int antw " $%
printf(&Ieef nummer' &)%
)canf(&*d&, +(.nummer))% //haal nummer op (int)
while(getchar() 1" 23n2)!0 //leeg 4uffer
printf(&Ieef naam' &)%
get)(.naam)% //haal naam op ()tring)
printf(&Ieef gewicht' &)%
)canf(&*f&, +(.gewicht))% //haal gewicht op (float)
printf(&Ieef lengte' &)%
)canf(&*f&, +(.lengte))% //haal lengte op (float)
6p " %
if()trcmp(.naam, &)top&) "" 0)! //check of naam ander) dan )top i)
antw " 0% //zo nee dan returnen we 0
0
return antw% //zo ja dan returnen we $
0
int main(oid)!
Voorwerp ar;20= " ! !$2>H, &potlood&, 0.2>, 2$.<0,
!$2HH, &gummetje&, 0.H<, <.J0,
!$><<, &geodriehoek&, 0.$2, $<.<0,
!$AJJ, &pa))er&, 2.<A, @B.J0 0%
int teller " H, i%
Voorwerp %
while(lee)?in(+) "" $)!
if(teller , 20)!
ar;teller55= " %
0
0
for(i " 0% i , teller% i55)!
druk?af(ar;i=)%
0
)7)tem(&pau)e&)%
return 0%
0
//hier word een un)igned )hort ingelezen en de 47te) worden omgedraaid
oid print?4inair(un)igned )hort getal)!
int i%
for(i " $<% i ". $% i##)!
printf(&*d&, (getal .. i)+$)%
0
0
int main(oid)!
un)igned )hort inoer%
)canf(&*h9&, +inoer)%
un)igned )hort uitoer%
un)igned )hort rechterkant " inoer + 0K00FF%
un)igned )hort linkerkant " inoer + 0KFF00%
uitoer " (linkerkant .. @) - (rechterkant ,, @)%
print?4inair(inoer)%
print?4inair(uitoer)%
)7)tem(&pau)e&)%
return 0%
0
//recur)iee functie die an $2>H< , <?H?>?2?$?$ 2 > H < maakt
oid heen?en?weer(long n)!
if(n 1" 0)!
printf(&*d?&, n*$0)%
heen?en?weer(n/$0)%
printf(&*d &, n*$0)%
0
0
int main(oid)!
heen?en?weer($2>H<E)%
)7)tem(&pau)e&)%
return 0%
0
----------------------------------------------------
Lrinten an'
Met "%c" wordt charakter getoond.
Met "%s" wordt string getoond.
Met "%d" wordt decimale int getoond.
Met "%i" wordt decimale int getoond.
Met "%x" wordt hexadicimale int getoond.
Met "%g" wordt double-const getoond.
Met "%f" wordt float getoond.
int i = 1234;
printf("i = %6d\n", i); i = _ _ 1234
%6d betekend 6 posities (in dit geval 2 spaties)
double d = 3.141592654;
printf("d = %8.2g\n", d); d = _ _ _ _ 3.14
%8.2g betekend 8 posities waarvan 2 decimalen (in dit geval d!s 4 spaties )
"et op de p!nt wordt meegeteld als positie
Met "\n" ga je naar een nieuwe regel (t7pe char)
Met "\"" krijg je een du44el aanhaling)teken (t7pe char)
Met "\\" krijg je een 4ack)la)h (t7pe char)
----------------------------------------------------
int i = 1234; decim!
int " = 01234; #ct!
int $ = 0X1234; %exdecim!
----------------------------------------------------
!engtes & get!!en
Gehele getallen'
c%r (of' signed c%r) @ 4it) (2
8
= 2#6 getallen)
s%#rt (of' s%#rt int) $A 4it) (2
16
= 6##36 getallen)
int (of' signed int) >2 4it) (2
32
= 42$4$6%2$6 getallen)
!#ng (of' !#ng int) >2 4it) (2
32
)
!#ng !#ng AH 4it) (2
64
)
Gebroken getallen'
f!#t >2 4it)
d#'(!e AH 4it)
!#ng d#'(!e @0 4it)
Ne kunt het aantal 4enodigde 47te) opragen met )izeof(getal)%
Signed en unsigned
c%r @ 4it) an &128 t/m 12%
'nsigned c%r @ 4it) an ' t/m 2##
s%#rt $A 4it) an &32%68 t/m 32%6%
'nsigned s%#rt $A 4it) an ' t/m 6##3#
int >2 4it) an &214%483648 t/m 214%48364%
'nsigned int >2 4it) an ' t/m 42$4$6%2$#
----------------------------------------------------
Voor constanten an t7pe !#ng, f!#t of d#'(!e )taan hieronder enige oor4eelden'
c#nst long get! = 214)4*364)L; (( o) * kleine letter l
c#nst double pi = 3.141592654;
c#nst float pi+!#t = 3.141592654f; (( o) * +oo)dletter F
,define Test 5
----------------------------------------------------
Scanf() of get)() O) het antwoord'
# een getal (t7pe) int, s%#rt, !#ng, c%r, f!#t, d#'(!e) kie)
dan in eer)te in)tantie oor inlezen met scnf()
# een karakterstring (zoal) 4ijoor4eeld t7pe c%r s-*./)' pa) dan heel erg
goed op oor de ri)icoP) an scnf() en kie) lieer oor gets() of
fgets()
# een enkel character of een aantal &lo))e& characters, kie) dan in eer)te
in)tantie oor getc%r()
scnf("%d/%d/%d", &dag, &maand, &jaar);
Fik in dag#maand#jaar al) d/m/j ' >$/@/200B,8CF8Q.
Scanf filtert de / eruit.
char zin;$00=%
fget)(zin, $00, )tdin)% // zin i) een )tring met 8CF8Q
int len " )trlen(zin)% // len i) inclu)ief de R3nP
zin;len # $= " R30P% // oer)chrijf de R3nP met een R30P
----------------------------------------------------
Met functie )trcp7() kan aan een )tring een waarde worden toegekend'
)trcp7(zin, &(a die pa1&)%
----------------------------------------------------
Met de 4it#operator + (:CG) kunnen SSn of meer 4it) worden ge)electeerd (ma)ker).
Verolgen) kan worden gete)t of die 4it, of 4it), de waarde $ of 0 heeft.
Met de 4it#operator - (/Q) kun je SSn of meer 4it) de waarde $ geen ()etten).
Met de 4it#operator T (8K/Q) kun je de waarde SSn of meer 4it) laten &omklappen&
(inerteren)' 4it#waarde $ wordt 0 en 4it#waarde 0 wordt $.
Met de 4it#operator U (C/F) kun je alle 4it) inerteren.
Met de 4it#operatoren ,, en .. ()chuif#operatoren) kun je alle 4it) SSn of meer po)itie)
op)chuien (re)p. naar link) en naar recht)). :an de ene kant &allen& er dan SSn of meer 4it)
uit% aan de andere kant )chuien er dan aak een zoele nullen in, maar in )ommige
geallen )chuien er enen in.
----------------------------------------------------
printf("0dres 1n is 2 0x%x\n", &a); ((+e,adecimal
printf("0dres 1n is 2 %u\n", &a); ((!nsigned int
printf("0dres 1n is 2 %\n", &a); ((void&pointer
-dres van a is * ',22))44 (( ', nodig want .e wilt een +e,a getal
(( %, voor conversie naar !nsigned
(( +e,adecimaal getal
-dres van a is * 22$3#%2 (( %! voor conversie naar !nsigned
(( decimaal getal
-dres van a is * ''22//44 (( %p voor conversie naar void&pointer
Qeek)en
int main(oid) !
int reeks[5];
int i%
for (i " $ % i , < % i55) !
reeks[i] = 2*i;
0
printf(&waarde an reek);0= i) *d3n&, reeks[0])%
printf(&waarde an reek);$= i) *d3n&, reeks[1])%
printf(&waarde an reek);H= i) *d3n&, reeks[])%
printf(&waarde an reek);<= i) *d3n&, reeks[5])%
printf(&waarde an reek);#$= i) *d3n&, reeks[-1])%
return 0%
0
!it"oer#
waarde an reek);0= i) 200B$$@JH0
waarde an reek);$= i) 2
waarde an reek);H= i) @
waarde an reek);<= i) <$<J<@HH
waarde an reek);#$= i) <
----------------------------------------------------
(( de rec!rsieve )!nctie binair(. . .)
1#id binair!c#nst int n" 3
if ! n ## 0 $$ n ## %" 3
rintf!"%d", n"& (( stopcriteri!m
4
e!se 3
binair!n/2"; (( rec!rrente betrekking
printf("%d", n%2);
4
4
----------------------------------------------------
c%r c% = 56;
7%i!e (c% 8= 596) 3
p'tc%r(c%);
'())&
*
p'tc%r(5\n6);
!it"oer#
abcde)g+i.klmnop0rst!vw,12
----------------------------------------------------
int min(1#id) 3
c%r 9in-1../;
printf(":i$ een nt! $r$ters in2 \n");
scnf("%s", 9in);
printf(";nge!e9en 9in2 %s\n", +in);
printf("0nt! $r$ters in de9e 9in2 %d\n", strlen!+in");
ret'rn .;
4
!it"oer#
3ik een aantal karakters in* De blaadjes gaan vallen <ENTER>
4ngele2en 2in* 5e
-antal karakters in de2e 2in* 2
Git i) een oor4eeld met een int#arra7 en een int#pointer. Ge arra7 wordt nu doorlopen
met een $ointer#aria4ele.
int min(1#id) 3
int ri-6/ = 32, 3, 5, ), 11, 134;
int <i;
i # ari&
printf("dres = %d en in%#'d = %d\n", i, ,i);
i))&
printf("dres = %d en in%#'d = %d\n", i, ,i);
printf(";n de rr= stn2 ");
for !i # ari ) 0 & i - ari ) 6 & i))" 3
printf("%d ", ,i);
4
printf("\n");
ret'rn .;
4
!it"oer#
adres = 23#$12' en in+o!d = 2
adres = 23#$124 en in+o!d = 3 (( 66n adres op2i.* 7 4 b1tes
4n de arra1 staan* 2 3 # % 11 13
On plaat) ani # ari& kan ook' i # &ari.0/&
Ge code' ,!ari ) 0" i) hetzelfde al) ari.0/&
----------------------------------------------------
Git i) een oor4eeld met een c%r#arra7 en een c%r#pointer.
Ge arra7 wordt doorlopen met een $ointer#aria4ele.
int min(1#id) 3
c%r rc-)/ = 35#6, 5!6, 5i6, 5e6, 5(6, 5#6, 5!64; (( 89': ontbr.
c%r <';
' # ar'&
printf("dres = %d en in%#'d = %c\n", ', ,');
'))&
printf("dres = %d en in%#'d = %c\n", ', ,');
printf(";n de rr= stt2 ");
for !' # ar' ) 0 & ' - ar' ) 1 & '))" 3
printf("%c", ,');
4
printf("\n");
ret'rn .;
4
!it"oer#
adres = 23#$'88 en in+o!d = o
adres = 23#$'8$ en in+o!d = l (( 66n adres op2i.* 7 1 b1te
4n de arra1 staat* oliebol
---------------------------------------------------
Git i) een oor4eeld met een cast en met het kopiVren an een )tring.
int min(1#id) 3
int <pi;
pi = !int ," .x123456)*; (( cast (int;) maakt int&adres van int

c%r 2oord%-/ = "%!!#"; (( t1pe van woord1 is c+ar<6=
c%r 2oord2-2./; (( t1pe van woord2 is c+ar<2'=
c%r <% = 7##rd1; (( p1 is 66n adres
c%r <2 = 7##rd2; (( p2 is 66n adres en woord2 2orgt
(( voor de reservering van 20
(( ge+e!genplaatsen van t1pe c+ar
7%i!e (<p2 # <p1) 3
p2>>;
p1>>;
4
printf("7##rd1 = %s\n", 2oord%);
printf("7##rd2 = %s\n", 2oord2);
if ( !,2 ## 3\04" ?? !,% ## 3\04" ) 3
printf(""e !##pt met p1 en p2 t&m %et n'!-$r$ter\n");
4
ret'rn .;
4
!it"oer#
woord1 = +allo
woord2 = +allo
.e loopt met p1 en p2 t(m +et n!l&karakter
----------------------------------------------------
5er2issel6789!&a: &b"&
5oid 5er2issel6789!int, x: int, ;"
<
int ( # ,x& ,x # ,;& ,; # (&
*
8r zijn A bit-o$eratoren in W'
U 4it)gewijze in"ersie
+ 4it)gewijze and
- 4it)gewijze or
T 4it)gewijze xor (e9clu)ie or)
,, )chuien naar links
.. )chuien naar rechts
Voor4eelden'
%n"erteren an alle 4it) met de & o$erator Met een U eroor erandert elke . in een 1, en
elke 1 in een ..
266) = .... 1.1. .11. 1.11
=2661 = %%%% 0%0% %00% 0%00 ( = & 266% > 1 = & 2668)
Xit)gewijze and met de ' o$erator. Xij de + leert (1 ? 1) een 1 op, en alle andere
com4inatie) leeren een . op.
266) = .... 1.1. .1%0 1.11
4* = .... .... ..%% ....
------------------------------------- ?
2661 & >8 = .... .... ..%0 .... ( = 32 )
Xit)gewijze or met de ( o$erator. Xij de - leert (. @ .) een . op, en alle andere
com4inatie) leeren een 1 op.
266) = .... 1.1. .1%0 1.11
4* = .... .... ..%% ....
------------------------------------- @
2661 $ >8 = .... 1.1. .1%% 1.11 ( = 2683 )
Xit)gewijze xor met de ) o$erator. Xij de T leert (1 A 1) een . op, en leert (. A
.) een . op, en de 4eide andere com4inatie) leeren een 1 op.
266) = .... 1.1. .1%0 1.11
4* = .... .... ..%% ....
------------------------------------- A
2661 ? >8 = .... 1.1. .10% 1.11 ( = 26#1 )
*chui"en naar links met de ++ o$erator. Xij de ,, worden alle 4it) oer het opgegeen
aantal po)itie) naar link) opge)choen. :lle) wat er aan de linkerkant uit)chuift, 4en je kwijt.
8r worden aan de rechterkant eenzoele nullen inge)choen.
266) -- 0 = .1.. 11.1 .110 0000 ( = 1$8'8 )
en
266) -- 1 = ..11 .1.1 1000 0000 ( = 136$6 )
en
266) -- @ = 11.1 .110 0000 0000 ( = & 1'%#2 )
*chui"en naar rechts met de ,, o$erator. Xij de .. worden alle 4it) oer het opgegeen
aantal po)itie) naar recht) opge)choen. :lle) wat er aan de rechterkant uit)chuift, 4en je
kwijt. 8r worden aan de linkerkant ofwel eenzoele nullen inge)choen, ofwel eenzoele
enen. Xij t7pe unsigned worden er aan de rechterkant altijd nullen inge)choen. Yanneer 4ij
t7pe int de meest linkse bit een 0 i), worden er ook allemaal nullen inge)choen. On alle
oerige geallen hangt het an de machine af.
266) AA % = 0... .1.1 ..11 .1.1 ( = 1333 )
en
266) AA 2 = 00.. ..1. 1..1 1.1. ( = 666 )
en
266) AA > = 0000 .... 1.1. .11. ( = 166 )

Você também pode gostar