Intro
Kwenye tutorial hii tutajifunza jinsi ya kuandika program kwa kutumia C. Kwanza kabisa kabla sijaanza kuna maneno inabidi tuyafahamu. Maneno hayo ni Machine code, Assembly language, High-level language, Compiler, Function na Libraries.Machine code ni nini?
Machine code ndio lugha ambayo computer inaelewa. Pindi unaporun/execute program operating system huwa inacopy program yote na kuipeleka kwenye memory, program inakuwa ipo kwenye machine codes. Kama huelewi hii usihofu itakuja kuwa clear baadae kidogo.
Assembly Language ni nini?
Kama utakuwa umejiuliza, kama machine code ndio lugha ambayo kompyuta inaelewa na ndio ipo kinamba namba kama huo mfano juu, je kama nataka kuandika program ntaandikaje?, jibu mojawapo ni kwa kutumia assembly language, assembly language inatumia maneno ya kawaida(instructions) badala ya machine code. kwa mfano badala ya 32H 0EH 12H 00H kwenye assembly mtu anaandika XOR CL, [12H], ambayo inamaanisha fanya exclusive OR ya CL register na contents za kwenye register 12H. kiufupi ni kwamba assembly language ni kama vile umereplace numbers za kwenye machine code na maneno. Machine code zinategemeana na processor, kwa mfano, mfano huo hapo nliowapa ni wa intel x86. Mfano mwingine huu hapo chini, ambao ni wa PIC microcontrollers.
Mfano:
SetUp BSF 03,5 ;Go to Bank 1 MOVLW 01 ;Put 01 into W to MOVWF 05 ; BCF 03,5 ;Go to Bank 0 CLRF 1F ;Clear the button-press file GOTO Main
High-level language ni nini?
Hapo zamani wakati kompyuta zinaingia wahandisi wa kompyuta walikuwa wakiandika program zao kwa kutumia assembly, kwa kipindi hicho program zilikuwa ni ndogo kwa hiyo haikuwasumbua sana. Kwa mfano, program zilizotumika katika mission ya kwanza ya kwenda mwezini ziliandika kwa kutumia assembly language. Kadri miaka ilivyoenda program zilianza kuongezeka ukubwa na kuandika kwa kutumia assembly ikawa inakuwa ngumu zaidi, ndio hapo high-level language zilipoingia. Hebu jiulize, kwani nikiandika maneno tofauti ambayo sio assembly kuiambia kompyuta ifanye kitu flani halafu nikatumia program nyingine kubadilisha yale maneno kuyapeleka kwenye machine code, haiwezekani? Jawabu ni kwamba inawezekana na maneno utakayo andika ndio itakuwa high-level language na hiyo program utakayotumia kubadilisha maneno yako kwenda kwenye machine code ambayo kompyuta inaelewa ndo inaitwa Compiler. Kwa kipindi hicho high-level language nyingi sana zilikuwa designed, na moja kati ya hizo ni hii tutakayojifunza kwenye hii tutorial ambayo ni C. Kihistoria kulikuwa na lugha kabla ya C, ilikuwa inaitwa B, kwa hiyo kufuata huo mtiririko ndo hii lugha ikaitwa C!.
Mfano wa high-level language(C)
#include <stdio.h> int main() printf("Hello Bongo Tutorials"); return 0; }Functions ni nini?
kwenye high-level language kama c, kunakuwa na functions ambazo ni collection of instructions ambazo zinafanya kitu flani, kwa mfano kwenye huo mfano hapo juu, printf() ni function ambayo kazi yake ni kuandika maneno kwenye terminal/console. Bila kufahamu hii function inafanya nini, wewe unachofanya ni kuandika maneno unayotaka yaandikwe kwenye console, kisha vitu vingine vyote printf itafanya. Functions zinatambulika kwa mabano (), kwa mfano printf(), hata main pia ni function kwa sababu imeandikwa main(). Ila main ina tofauti kidogo, tofauti yenyewe ni kwamba program yako yoyote utakayoandika inaanza kufanya kazi kwenye main, hivyo basi kwenye program yoyote ni lazima kuwepo na main function, la sivyo program haitofanya kazi kwa sababu hamna pakuanzia.
Libraries ni nini?
kama tulivyoona hapo juu, tulitumia function printf(), labda kuna waliojiuliza, imetokea wapi tena?je na mimi nikiandika andika("Hello Bongo Tutorials") badala ya printf() kompyuta itaelewa? Jawabu ni kwamba kompyuta haitaelewa, kwenye tutorial zinazokuja ntawaonyesha jinsi ya kuandika functions zako mwenyewe. Lakini kwa sasa hebu tujibu swali, kompyuta imeelewaje printf()? Kompyuta imeelewa printf() kwa sababu ipo kwenye stdio header file. Header files zinahifadhi functions mbali mbali na zinakuwa zinaextension ya .h kama stdio.h. Kwa mfano, stdio(standard input output) header file ina functions nyingi ambazo zinahusiana na kuchukua input kutoka kwa mtumiaji na kutoa ouput kama vile kuandika maneno kwenye console. Library ni collection ya files(header files na source files).Kwa mfano C language ina standard library yake ambayo ndo ina stdio.h. Tutaona zaidi kuhusu stdio kadri tunavyoendelea na tutorials zetu za C. Turudi kwenye kompyuta imeelewaje? kompyuta imeelewa hivi, mstari wa kwanza kabisa unasema #include<stdio.h>, huu unamaanisha ziweke functions zote zilizopo kwenye stdio.h kabla haujacompile, ukishaandika huu mstari unaweza kutumia function yoyote iliyopo kwenye hili file. Cha muhimu ni kwamba kabla haujatumia function yoyote inabidi uinclude file lake juu kabisa ya program yako.
Tools
Kama tunavyofahamu kazi yoyote ili ifanyike kwa ufanisi tunahitaji tools nzuri kwa ajili ya kazi. Tools ambazo utahitaji kujifunzia C programming ni moja kati ya zifuatazo.- Eclipse C/C++(operating systems zote)
- Microsoft Visual Studio(Windows peke yake)
- Dev C++(Windows peke yake)
- Xcode(Mac OS peke yake)
0 comments:
Post a Comment