Kezdőlap

|

Mi a kreditvadasz.hu Egy felsőoktatási közösségi oldal amely segít kapcsolatot tartani a hallgatók között, így segítséget nyújt a sikeres tanulmányokhoz...

C

Országok listájaHungaryNyíregyházi FőiskolaTermészettudományi Főiskolai KarProgramozó matematikusZáróvizsgaC

2009.02.01 19:30:30
(10)
Szerző: pulfix
Cimkék: c nyelv


Az alábbi szöveg egy formázás és képek nélküli előnézete a dokumentumnak. A tökéletes megjelenítéshez jelentkezz be, majd töltsd le a dokumentumot.
11. C
(program szerkezete, adattípusai, utasításai)


A C nyelv alapvetô tulajdonságai közé tartozik a tömörség, a függvénycentrikusság és a poin-terek elterjedt használata, valamint az, hogy a függvényhívásnál a paraméter-átadás érték szerinti.

Egy egyszerû C program általában a következôképpen néz ki :

#include /* Header file ; lehet több is ! */

main()
{ /* F ô p r o g r a m */
}

függvény_01() /* A függvények használata esetleges, */
{ /* az adott feladattól függ */
}

függvény_02()
{
}

Egy C program tehát nem más, mint C függvények diszjunkt halmaza. Minden adatot definiálni kell, azok használata elôtt.

A C program szerkezete:
preprocesszor parancsok
típusdefiníciók
függvény prototípusok
globális változók
függvények

A C függvény szerkezete a következQ:
visszatérési típus függvénynév(paraméterek){
lokális deklaráció
utasítások
return visszatérési érték
}

A C-ben is minden nevet deklarálni kell. Valamelyik függvénynek kötelezQ a main nevet adni, ez lesz a fQprogram. Amikor a program végrehajtása megkezdQdik, akkor a main függvény hívódik meg, és azon belül kerül sor a többi függvény aktivizálására. Néhány függvénynek a típusa void, ami azt jelenti, hogy nincs visszatérési értéke, így ezek hasonlóak a Pascal eljárásokra.

A C program szerkezete:
#include
int i, j, k;
/*Két egész közül a nagyobbat adja.*/
int max(int a, int b){
if (a>b) return a;
else return b;
}
/*Két egész számot felcserél.*/
void csere(int *a, int *b){
int temp;
temp= *a;
*a= *b;
*b= temp;
}
/*A main függvény.*/
main(){
i=12;
j=20;
printf( Csere elQtt: i=%2d j=°%2d\n , i, j );
csere(i, j);
printf( Csere után: i=%2d j=°%2d\n , i, j );
k=max(i, j);
printf( A nagyobb szám: %2d\n , k);
return;
}

A C nyelv típusai:
Az alapvetô adattípusok a következôk :

Típus Értelmezés Byte Definíció karakter Az érvényes karakterkészlet egy eleme. 1 char integer Bináris egész szám 2 int float Egyszeres pontosságú lebegôpontos szám 4 float double Kétszeres pontosságú lebegôpontos szám 8 double
A minôsítô szimbólumok a következôk :

short "rövid"
long "hosszú"
unsigned "elôjel nélküli"

A short az int típust minôsítheti, a long szintén az int-et, valamint a BORLAND C++ 2.0-ban a double típust is. Az unsigned minôsítô a char, ill. az int típusok elôtt állhat, beleértve a már - short-tal vagy long-gal - minôsített int típust.

Típus Értelmezés Méret (byte) Minôsítô

short integer "Rövid" bináris egész szám. 2 short
long integer "Hosszú" egész szám. 4 long
long double "Hosszú" double szám 10 long double

Megjegyzés : A long double típus nem eleme az alap C változótípusainak, késôb--
bi C fordítókban hozták létre.

A számábrázolási tartományok a következôk, az összes lehetséges esetet figye--lem--
be --véve :

Változótípus Alsó határ Felsô határ
char : -128 127
unsigned char : 0 255
int : -32 768 32 767
unsigned int : 0 65 535
long int : -2 147 483 648 2 147 483 647
unsigned long : 0 4 294 967 295
float : 3.4E - 38 3.4E + 38
double : 1.7E - 308 1.7E + 308
long double : 1.2E - 4932 1.2E + 4932

- Egyszerq típusok: karakter, egész, valós, felsorolás
- Összetett típusok: tömb, struktúra, unió, függvény



Egészek:
Értékkészlet: egészek tárolására alkalmas
Konstansok: decimális (12), oktális (012), hexadecimális (0x12)
Mqvelethalmaz: értékadó, aritmetikai, logikai,

Valós:
Értékkészlet: valós értékek tárolására
Konstansok: 3.14, 2,8
Mqvelethalmaz: értékadó, aritmetikai, relációs

A C nyelv utasításai:
A kifejezés utasítás:
kifejezés;
TetszQleges kifejezés utasítás lesz, ha pontosvesszQt teszünk mögé. A kifejezés jellegq utasítások legtöbbször értékadások vagy függvényhívások.

Az utasításblokk:
{
lokális definíciók és deklarációk
utasítás;
utasítás;
&
}
Annak érdekében, hogy ott, ahol elvileg csak egy utasítás helyezhetQ el, több utasítás is használható legyen, rendelkezésre áll az összetett utasítás (más szóval blokk). Az utasításblokk egyetlen utasítássá fogja össze az általa közrezárt utasításokat. A Pascallal ellentétben, C-ben utasításblokkban utasítás és lokális deklaráció is állhat. Ahol utasítá 567Çä4 5 6 J | ~ „ êѸ§–‹€oaoa]LA6L hªyhz³CJaJ hªyhwÑCJaJ hªyhwÑCJOJQJ^JaJhz³hz³CJOJPJQJaJ hz³hwÑCJOJPJQJaJ hLGh-o)CJaJ hLGhLGCJaJ hz³hLGCJOJPJQJaJ hz³hz³CJOJPJQJaJ0hz³h-o)B*KHOJQJ\aJnH ph6_‘tH 0hz³hç?{B*KHOJQJ\aJnH ph6_‘tH *hz³B*KHOJQJ\aJnH ph6_‘tH 567øù5 6 } ~ … ¢ ¤ ¥ Ý





íáÙÑÅÅÅÅÅÅŹÅÅÅÅÅÅÅÅÅ

$d a$gdªym$

$d a$gdz³m$ $a$gd-o) $a$gd-o)

$d a$gdz³m$$$d ¤ ¤a$gdz³m$„ … † Š ¢ £ ¤ ¥ ³ Ý Þ









X
Y

‘
’
©
ïÞÐÅÞïºÞ¯Þ¯ºÞïÞïÞïÞysW7hº}=hªy6B*CJOJPJQJ\aJnH phO½tH
hwÑCJ
hz³CJ hz³hz³CJOJPJQJaJhz³CJOJPJQJaJ hz³hwÑCJOJPJQJaJ hªyhwÑCJaJ hªyhz³CJaJ hªyhªyCJaJhªyCJOJQJ^JaJ hªyhwÑCJOJQJ^JaJ hªyhz³CJOJQJ^JaJ

‘
ª
Â
Ò
è
ú


J

¤

Ì

ä




/ $
Æha$gd-o) $a$gd-o) $d ¤È ¤gdº}=m$

$d a$gdº}=m$

$d a$gdz³m$©
ª
ä

ð


&
´
¼
f n FN %/2JPRTãÜÔÜÐÜÔÜÔÜÔÜÐÌлÂÔÜÔܰ£ÔÜÔÜÔÜÔÜÔܰÜÔÜÔÜÔܘÜÔܰܘÜÔÜ̔hªyh-o)hç?{B*ph3fÿh-o)hç?{5B*phÿh-o)hç?{B*phÿ

h-o)5>*h
´h-o)5>*hç?{h-o)h-o)hç?{5

h-o)hç?{7hº}=hwÑ6B*CJOJPJQJ\aJnH phO½tH 6byŸ¿Üçòû%,3^zÖò<NRTzÈ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷èÜ

$d a$gdº}=m$ $d ¤È ¤gdº}=m$ $a$gd-o)Tz²ÈÊ Î Ï ö ÷ ÿ  34%&'(ƒ„‡ˆ‰&efµ¶ñ
) n¢ãÒÄÒ¾¬Ò¾Ò¾ÒÄÒÄÒ¾ÒÄÒ¾¥š¥š¥¾“¾‰¾‰¾‚w‚¾skskshVhós>*hóshº}=>*CJOJQJ
hº}=>*CJhº}=CJOJQJ
hº}=5CJhº}=>*CJOJQJ
hº}=>*CJ#hz³hº}=>*CJOJPJQJaJ
hº}=CJhº}=CJOJPJQJaJ hz³hº}=CJOJPJQJaJ7hº}=hº}=6B*CJOJPJQJ\aJnH phO½tH )ÈÊÖìö 6 8 = óââââhââââzkd$$If–FÖ\”ÿ3 > Æ%Ÿ
à¨
t ö6öÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿ4Ö4Ö
laöytä\ù$d $Ifa$gdä\ùm$

$d a$gdº}=m$
= > F Y [ _ …tttt$d $Ifa$gdä\ùm$zkdŒ$$If–FÖ\”ÿ3 > Æ%Ÿ
à¨
t ö6öÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿ4Ö4Ö
laöytä\ù_ ` f   • …tttt$d $Ifa$gdä\ùm$zkd$$If–FÖ\”ÿ3 > Æ%Ÿ
à¨
t ö6öÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿ4Ö4Ö
laöytä\ù• –  Ä Æ Í …tttt$d $Ifa$gdä\ùm$zkd¤$$If–FÖ\”ÿ3 > Æ%Ÿ
à¨
t ö6öÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿ4Ö4Ö
laöytä\ùÍ Î Ï ö ÷ 34&'…yylyybyy

ƪ3 gdº}=

Æ ª3 B-gdº}=

$d a$gdº}=m$zkd0$$If–FÖ\”ÿ3 > Æ%Ÿ
à¨
t ö6öÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿÖÿÿÿÿ4Ö4Ö
laöytä\ù 'ŠŒïð)jÔÖÚÜîB "0~òòåØåÌ÷¯¯¯¯¯¯¯¯¯¯¯¯ $a$gd-o)

Æ
ªygdº}=
ƪgdº}=
$
ƪa$gdº}=

Æ ªÁ B-gdº}=

Æ ª3 B-gdº}=

Æ ª3 B°gdº}= ¢ÒÔÖØÚÜ

8dvšžÂÆ--.-:-Œ Ž "@L@N@P@„@2A8AJALA^A`AhAjAzA‚A”A¸BÄBÈBÚBàBèBêB CC(C0C2CVCZCpCtC‚C†Cüøôæüøüʾ²§Ÿ”§¾§²§²§”Ÿ§’§Ÿ”¾§¾²§²§¾§²§²§¾§²§¾§²§²¾§²§²§¾§U hr8lhr8lCJaJ hr8lCJaJ hìO¿hªyCJaJhìO¿hªy6CJaJhìO¿hªy5CJaJ7hº}=hªy6B*CJOJPJQJ\aJnH phO½tH j¼h"2ºhV56Uhº}=hóshV9~¬


8dzœžÂÆ
--2-6-:-P@R@„@AA2A`A~A÷÷÷èßßÓßßßßßßßßÈßßßßßßß
$
&


Fa$gdr8l
$
Æha$gdr8l
Æhgdªy $d ¤È ¤gdº}=m$ $a$gd-o)s állhat, ott utasításblokk is állhat.

A feltételes utasítások:
A nyelv kétféle feltételes végrehajtási konstrukciót tartalmaz.

Egyszerq elágazáshoz:
if kifejezés utasítás;
else utasítás;
A kifejezés tetszQleges kifejezés lehet, melynek 0 értéke esetén hamis, egyébként igaz elágaztatás történik. Az else ág opcionális.

Többirányú elágazáshoz:
switch (kifejezés){
case konstans kifejezés: utasítások
case konstans kifejezés: utasítások
&
default: utasítások
}
A konstans kifejezés csak egyetlen érték lehet, és egyedinek kell lennie. A kifejezésnek megfelelQ sor kerül végrehajtásra, majd sorban lefut az összes további utasítás. Ha egyik case konstans sem egyezik meg a kifejezés értékével, a futás a default cimkénél folytatódik. A default opcionális. Pascal-szerq végrehajtáshoz, az esethez tartozó utasítássorozatot a break utasítással kell lezárni.

A ciklusutasítások:
for (init kifejezés; feltétel kifejezés; léptetQ kifejezés) utasítás;
Belépéskor kiértékelQdik az init kifejezés, majd amíg a feltétel kifejezés értéke nem 0, végrehajtódik az utasítás, majd kiértékelQdik a léptetQ kifejezés. Sokkal rugalmasabb a Pascal for ciklusánál, elhagyhatjuk bármely kifejezést.

while (kifejezés) utasítás;
Amíg a kifejezés nem 0, végrehajtja az utasítást.

do utasítás while (kifejezés);
Amíg a kifejezés nem 0, végrehajtja az utasítást. Egyszer mindig lefut.

A break utasítás:
Az utasítás hatására, az utasítást tartalmazó legközelebbi switch, while, for, do-while utasítások mqködése megszakad, és a vezérlés a megszakított mqvelet utáni elsQ utasításra kerül.

A continue utasítás:
Az utasítás a ciklusutasítások soron következQ iterációját indítja el, a continue után elhelyezkedQ utasítások átlépésével.

A goto utasítás:
goto label;
Feltétel nélküli vezérlésátadást valósít meg. A program végrehajtása a label cimkénél folytatódik. Kerüljük a használatát. Helyette használjuk a break és continue utasításokat.

A return utasítás:
return;
return kifejezés;
Az utasítás befejezi az éppen futó függvény mqködését és a vezérlés visszakerül a hívó függvényhez. Az elsQ formában void függvénybQl léphetünk ki, nem ad vissza értéket, második esetben, a kifejezést adja vissza a hívónak.









PAGE 


 PAGE \* MERGEFORMAT 3




Hasonló témájú dokumentumok
A mások által feltöltött dokumentumokat értékelheted. Ha úgy ítéled meg, hogy a vizsgára való felkészülés szempontjából hasznos volt egy dokumentum, akkor adj rá sokcsillagos értékelést.
Ha hibákat tartalmaz, vagy egyéb probléma van vele, akkor keveset.
A dokumentumok sorrendje az értékelések alapján adódik. Ami fentebb van a listában, azt hasznosabbnak ítélték társaid. Az új dokumentumok pedig (értékelések hiányában) szintén a lista tetején kezdenek.

Hozzászólások

Ha észrevételed van egy dokumentummal kapcsolatban (például hibát találtál benne), akkor a Hozzászólások részben jelezheted. Az olyan jellegű kérdéseket mint pl.: A 2. feladat 4. sorából milyen átalakítással jutottunk az 5. sorban szereplő képlethez? - szintén ide érdemes írni
Egy tipp az oldalhoz! - Sikeres vizsga után írd meg tapasztalataid a tantárggyal, vizsgával kapcsolatban. Miből érdemes tanulni, mennyi készülés kell, milyen volt a vizsga... Ha mindenki így tesz, sokkal egyszerűbb lesz elkezdeni a tanulást egy olyan ember tapasztalatainak a birtokában, aki már elvégezte a tantárgyat. Ehhez kattints a tantárgyra a Tanulmányaimban, majd a Véleményem a tárgyról linkre a jobb felső részen.

Cimkefelhő

... 11 11.12-1 19. század 1eloadas 6. gyakorlat 9. alkotmányjog antropológia anyagok apoptózis baudelaire civil szervezetek dinamika elektro élet elmélet éptöri 2 épületszerkezetek európai integráció feladat gazdszoc génmódosítás gyak idegenforgalom idősorok igaz józsef infláció képek kis jános közigtöri kutatásmódszertan makroökonómia mikro művelődéstörténet nemzeti kisebbség növényélettan ókori kelet rezgéstan statisztika i. szerződés társ.st. termelés tervezés tőke urbán üzleti terv vállalat gazdaságtan valószínűségszámítás vizsga tételek