Ebben a cikkben megtudhatod, hogyan kell C programot írni lépésről lépésre útmutatóink segítségével. Eddig megtanultuk a C programozás különböző fogalmait, és készen állunk a szerényebb bonyolultságú programok írására vagy projektek fejlesztésére.
Ez az átfogó, lépésről lépésre bemutatott útmutatónk arról, hogyan írjunk C programot.
- Hogyan írjunk C programot?
- Programtervezés
- Problémaelemzés
- A program struktúrájának vagy blue printjének elkészítése
- A program algoritmusának kidolgozása
- Vezérlő utasítások megfelelő kiválasztása
- Program kódolása
- Megfelelő dokumentáció vagy kommentálás
- Az utasítások helyes felépítésének módja
- Tisztázza a be- és kimeneti formátumok
- A program általánossága
- Programtesztelés és hibakeresés
- Programhatékonyság
Hogyan írjunk C programot?
Martin Fowler egyszer azt mondta:
” Bármelyik bolond tud olyan kódot írni, amit a számítógép megért. A jó programozók olyan kódot írnak, amit az emberek megértenek. “
A programozó írhat összetett kódokat a feladat megoldására, de csak egy zseniális programozó ír olyan programokat, amelyeket mások is értelmezhetnek, és amelyek karbantarthatók, ha bármilyen hiba adódik a sorban.”
Ezért mielőtt összetett programokat írnánk, érdemes néhány programozási technikát követni, mert a jól megírt programok több tulajdonsággal rendelkeznek.
- A jól megírt és behúzott programokat könnyebb megérteni, hibakeresést végezni vagy karbantartani.
- A jól megírt és behúzott programok hatékonyak, rugalmasak és robusztusak.
Hogyan kezdjek el kódot írni, és milyen lépéseket kövessek ezután?
Ne aggódjon!
Ebben a cikkben végigvezetjük a programfejlesztés fontos szakaszain, amelyek rendelkeznek a fenti jellemzőkkel.
A főbb lépések a következők:
- Programtervezés
- Program kódolása
- Program tesztelése és hibakeresés
Programtervezés
A programtervezés az alap, amely a programfejlesztési ciklus középpontjában áll.
Mielőtt kézbe vennénk a forráskódot, elengedhetetlen, hogy minden oldalról megértsük a programot, és kidolgozzuk a programfejlesztési stratégiát.
A programtervezést négy lépésre bonthatjuk:
- Problémaelemzés
- A program szerkezetének vagy kék nyomatának elkészítése
- A program algoritmusának fejlesztése
- A vezérlő utasítások helyes kiválasztása
Problémaelemzés
Az első lépés az, hogy világos képet kapjunk a problémáról és arról, hogy mit szeretnénk a programmal elérni. Tegye fel magának tehát a következő kérdéseket:
- Mi lesz a program bemenete?
- Mi lesz a kimenete?
- Melyek azok a különböző feltételek, amelyeket a program során alkalmazni fog?
A program struktúrájának vagy blue printjének elkészítése
Mihelyt a fenti kérdésekre választ kaptál, el kell döntened, hogyan fogod megoldani a feladatot.
Hogyan kell megszervezni a programot?
Mivel a C egy strukturált nyelv, a felülről lefelé irányuló megközelítést követi, ami azt jelenti, hogy az egész problémát kisebb feladatokra bontod. Így könnyebb kisebb részfeladatokat kódolni.
Ez egy olvasható és moduláris kódot eredményez, ami nagyon fontos ahhoz, hogy mások megértsék a kódodat.
A program algoritmusának kidolgozása
Ez a programtervezés fontos lépése. Ha már megvan az általános elképzelés, és a problémát kisebb részfeladatokra bontottad, itt az ideje a részletek és a lépésről lépésre történő eljárás megkarcolásának, amit a programozásban Algoritmusnak neveznek.
Ezt pszeudokódnak is nevezik.
Az algoritmus kidolgozása után meg kell rajzolnod az algoritmus folyamatábráját, képi ábrázolását.
Ezt már említettem, mint fontos lépést, mert a probléma megoldásának több módja is van, és csak rajtad múlik, hogy melyik utat választod.
Egy tömb rendezéséhez például használhatunk buborékrendezést, beszúrási rendezést vagy kiválasztási rendezést.
Vezérlő utasítások megfelelő kiválasztása
Egy összetett C programban vagy projektben rengeteg vezérlő utasítást kell használnunk, például if ... else
, while
vagy for
, hogy irányítsuk a végrehajtás menetét.
Minden algoritmus vagy döntéshozatal megvalósítható szekvencia struktúra, kiválasztási struktúra és ciklusos struktúra segítségével. Használjon megfelelő vezérlő utasításokat, amelyek egyszerűvé és hibamentessé teszik a kódot.
Az információ megfelelő ábrázolási módjának kiválasztása gyakran megkönnyíti és egyszerűsíti a program tervezését.
Próbálja meg elkerülni a goto utasítások használatát.
Program kódolása
Mihelyt kidolgozta a program teljes tervrajzát, itt az ideje az algoritmusnak megfelelő forráskód megírásának. Ez azt jelenti, hogy állj készen arra, hogy a folyamatábrádat lefordítsd utasítássorozattá.
Itt az ideje, hogy a C programozási ismereteidet munkára fogd, és megpróbáld a lehető legegyszerűbben megírni a kódodat.
A következők a programkódolás elemei:
- Megfelelő dokumentáció vagy kommentálás
- Az utasítások felépítésének helyes módja
- Tisztázott be- és kimeneti formátumok
- A program általánossága
Megfelelő dokumentáció vagy kommentálás
A fő cél az, hogy a kód olvasható és érthető legyen mások számára.
Az értelmes változónevek kiválasztása és a megjegyzések megfelelő használata szerves részét képezi ennek a lépésnek. A megjegyzésekre szükség van, de jó megjegyzéseknek kell lenniük.
Lássuk a példát:
#include<stdio.h>int main(){int i,j,a;printf("enter two values:");scanf("%d%d",&i,&j);a=i*j;printf("area:%d",a);return 0;}
A fenti program ugyan szintaktikailag helyes, de meg lehet írni megfelelő változónevekkel, ami értelmesebb.
#include<stdio.h>int main(){ int length, breadth; int area; printf("Enter length and breadth: "); scanf("%d %d", &length, &breadth); //calculation of area area = length * breadth; printf("Area: %d", area); return 0;}
Az utasítások helyes felépítésének módja
A kód írásakor az utasításnak egyszerűnek és közvetlennek kell lennie, megfelelő behúzással.
- Próbáljunk meg soronként egy utasítást használni.
- Használjunk zárójeleket és megfelelő behúzást
- Egyszerű ciklusokat használjunk, és kerüljük a ciklusok erős egymásba ágyazását
A következő kódolási stílusok betartása:
if(mark>=40){result=pass;}else{result=fail;}
A fenti program ugyan szintaktikailag helyes, de megfelelő behúzással és kommenteléssel megírható.
if( mark >= 40){ result = pass;}else{ result = fail;}
Mindkét kód szintaktikailag helyes, de vegye figyelembe az utasításszerkesztés megfelelő módját.
Tisztázza a be- és kimeneti formátumok
A felhasználónak meg kell értenie, hogy mit kell be- és kiadnia a programból.
Mindig egyértelműen említse meg a bemeneti kéréseket és címkézzen fel minden kimenetet.
printf("Enter length of the square: ");scanf("%d", &length);Area = length * length;printf("Area of the square: %d", area);
A program általánossága
A programnak az egyes adatoktól való függését mindig igyekezzünk minimalizálni.
Például: Egy tömb méretének meghatározásakor használjunk makrót, hogy a programozó később a programban könnyen megváltoztathassa a méretet.
#define SIZE 10int array:
Programtesztelés és hibakeresés
Ebben a fázisban a forráskódot vizsgáljuk át hibaellenőrzés céljából.
A hibák lehetnek:
- Szintaktikai hibák
- Futásidejű hibák
- Logikai hibák
- Latináris hibák
A kompilátor segít a szintaktikai és szemantikai hibák felismerésében. Olyan számítógépes program, amely a forráskódot futtatható kóddá vagy gépi nyelvvé alakítja.
A részletes megértéshez nézze meg a C program tipikus fejlesztését.
A fordító nem képes a futásidejű és logikai hibák felismerésére, ezért emberi tesztelésre is szükség van.
A hibakeresés a programozási hibák kijavítását jelenti. A forráskód hibakeresésének különböző módszerei vannak.
- Tegyünk
printf
utasításokat a különböző lépéseknél, hogy lássuk a változó vagy a kimenet értékeit. Ez segít a hiba azonosításában. - Egy másik módszer a levezetés folyamata. A lehetséges hibakódok kiküszöbölése a programból.
- Sok kódoló használja a backtrack nevű módszert a hibakeresésre. Ebben a módszerben a forráskódot visszafelé követik, amíg a hibát fel nem fedezik.
Programhatékonyság
A program hatékonysága a program végrehajtási idejére és a memóriafogyasztásra vonatkozik.
Ha a fent említett technikák mindegyikét követi, akkor a programja hatékony és eredményes is lesz.
Végül, de nem utolsósorban, az alábbiakban néhány tippet adunk a program hatékonyságának javítására.
- Bölcsen válasszon egyszerű és hatékony algoritmust, aritmetikai és logikai kifejezéseket.
- Declare tömbök és stringek megfelelő méretűek, és ha lehetséges, kerülje a többdimenziós tömbök használatát.
- A tömbök és stringek kezelése során tartsa a mutatót a prioritási listán.
Tartalmazza a mutatót.
Vélemény, hozzászólás?