1. Utangulizi
1.1 Umuhimu wa Vigezo katika C
Katika programu ya C, vigezo ni muhimu kwaifadhi na kushughulikia data kwa njia inayobadilika Kwa kutumia vigezo, unaweza kusimamia data ya programu yako kwa ufanisi, kubadilisha au kutumia tena thamani kirahisi inapohitajika, na kuandika msimbo unaobadilika. Hasa katika programu kubwa, kusimamia vigezo ipasavyo kunaboresha sana ufanisi na usomaji wa msimbo wako.
2. Vigezo ni Nini?
2.1 Ufafanuzi wa Vigezo
Kigezo ni sehemu ya uhifadhi katika programu inayotumika kushikilia data kwa muda mfupi. Katika C, lazima utangaze kigezo kabla ya kukitumia. Mfano hapa chini unatangaza kigezo kinachoitwa age na kuhifadhi thamani 25.
int age;
age = 25;
Kwa vigezo, unaweza kutumia tena data, kubadilisha thamani kirahisi baadaye, na kupanua programu zako kwa ufanisi zaidi.
2.2 Jukumu la Vigezo
Vigezo vinakuwezesha kuhifadhi na kutumia tena data, na kufanya programu zako ziwe na ubadilifu zaidi. Kwa mfano, msimbo ufuatao unatumia kigezo cha aina ya char kuonyesha kamba.
char message[] = "こんにちは";
printf("%sn", message);
Kwa kutumia vigezo kwa njia hii, unaweza kusimamia data kirahisi na kutumia taarifa ile ile kwa ufanisi katika sehemu nyingi.
3. Kutangaza na Kuanza Vigezo
3.1 Jinsi ya Kutangaza Vigezo
Katika C, lazima utangaze kigezo kabla ya kukitumia. Kutangaza kigezo kunagawanya nafasi ya kumbukumbu inayohitajika. Mfano hapa chini unatangaza kigezo cha integer (int) kinachoitwa number.
int number;
3.2 Kuanza Vigezo
Inashauriwa kuanza vigezo wakati wa kutangaza. Kutumia vigezo visivyoanzishwa kunaweza kusababisha tabia isiyotabirika ya programu, kwa hivyo ni bora kila wakati kuanza vigezo.
int age = 30;
Msimbo huu unatangaza kigezo age kama integer na kikiwa na thamani ya awali 30. Masuala yanayotokea wakati wa kutumia vigezo visivyoanzishwa yataelezwa baadaye.
4. Aina za Data na Mipaka Yao
4.1 Aina za Data za Kawaida katika C
C inatoa aina kadhaa za data, na ni muhimu kuchagua aina sahihi kulingana na aina ya data unayoshughulikia. Hapa chini ni maelezo ya aina za data zinazojulikana zaidi:
int(Integer) : Huhifadhi thamani za integer. Katika mifumo ya 32-bit, inaweza kushikilia thamani kutoka-2,147,483,648hadi2,147,483,647. Integer zilizo sahihi ni kawaida. Mfano:int age = 25;double(Floating-Point Number) : Huhifadhi nambari zenye nukta desimali. Aina yadoublekwa kawaida hutoa usahihi wa tarakimu 15 na inaweza kuwakilisha thamani kubwa sana au ndogo sana. Mfano:double pi = 3.14159;char(Character) : Huhifadhi herufi moja. Data ya herufi inahusiana na nambari za ASCII na inawakilishwa kama nambari kutoka0hadi255. Mfano:char grade = 'A';
4.2 Mifano ya Matumizi na Vidokezo kwa Kila Aina ya Data
Chagua aina ya data kulingana na safu na sifa za thamani unazotaka kushughulikia. Kwa mfano, aina ya char inatumia baiti moja ya kumbukumbu, na unaweza kuwakilisha herufi kwa kutumia thamani zao za nambari, kama ilivyoonyeshwa hapa chini:
char letter = 65;
printf("%cn", letter); // Output: A
Mfano huu unaonyesha herufi “A”, ambayo inalingana na msimbo wa ASCII 65. Matumizi sahihi ya aina za data ni muhimu kwa uthabiti na ufanisi wa programu.

5. Upeo wa Kigezo
5.1 Vigezo vya Ndani na Vigezo vya Ulimwengu
Katika C, upeo wa kigezo unaamua wapi kinapatikana. Aina mbili kuu za upeo ni vigezo vya ndani na vigezo vya ulimwengu.
- Vigezo vya Ndani : Vinatangazwa ndani ya kazi (function) au bloku, vinapatikana tu ndani ya upeo huo. Haiwezi kupatikana kutoka kwa kazi au bloku nyingine.
void example() { int localVar = 10; printf("%d", localVar); // Using a local variable }
- Vigezo vya Ulimwengu : Vinatangazwa nje ya kazi, vinapatikana katika programu nzima kutoka kwa kazi au bloku yoyote.
int globalVar = 20; void example() { printf("%d", globalVar); // Using a global variable }
5.2 Umuhimu wa Kusimamia Upeo
Choosing between local and global variables affects both the readability and safety of your program. Global variables can be convenient, but overusing them can lead to bugs, so it’s best to use them only when necessary for specific purposes.
6. Mifano na Mazoea Mazuri ya Kutumia Vigezo
6.1 Kubadilisha na Kutumia Upya Vigezo
Unaweza kupewa vigezo thamani mpya wakati wowote. Hapa kuna mfano:
int age = 20;
age = 21; // Overwritten with a new value
Vigezo huruhusu mabadiliko ya thamani kwa wakati wa utekelezaji wa programu, na kuwezesha muundo wa msimbo unaobadilika.
6.2 Miongozo ya Kuitwa Vigezo
Ili kuandika msimbo unaosomeka, ni muhimu kufuata miongozo ya kuitwa vigezo. Hapa kuna mifano ya kawaida:
int userAge = 30; // Camel case
int user_age = 30; // Snake case
Tumia majina yenye maana yanayoakisi madhumuni ya kigezo ili kufanya msimbo wako uwe rahisi kwa wengine kuelewa.
7. Makosa ya Kawaida na Suluhisho
7.1 Makosa Yanayosababishwa na Kutumia Vigezo Visivyoanzishwa
Kutumia vigezo visivyoanzishwa kunaweza kusababisha tabia isiyotabirika. Msimbo hapa chini unatumia kigezo kisichojinitwa number, na kusababisha matokeo yasiyoeleweka.
int number;
printf("%d", number); // Using an uninitialized variable
Ili kuepuka hili, daima anzisha vigezo vyako kabla ya kuyatumia.
int number = 0; // Initialized variable
printf("%d", number); // Outputs as expected
7.2 Makosa Yanayosababishwa na Mlingano wa Aina za Data
Kupa kigezo thamani ya aina ya data isiyo sahihi kunaweza kusababisha upotevu wa data. Kwa mfano, msimbo hapa chini unampa kigezo int thamani ya desimali, hivyo sehemu ya desimali inapotea.
int number = 3.14; // Decimal assigned to an integer
printf("%dn", number); // Output is 3 (decimal part is truncated)
Ili kuepuka hili, tumia aina sahihi ya data kwa data yako. Kwa desimali, tumia aina ya double au float.
double number = 3.14;
printf("%fn", number); // Output is 3.140000
8. Mazoea ya Vitendo
8.1 Zoezi 1: Kutekeleza Operesheni za Hisabati za Msingi
Katika zoezi hili, tumia vigezo viwili vya integer kufanya ujumla, utofauti, uzidishaji, na mgawanyiko, kisha onyesha matokeo.
#include <stdio.h>
int main() {
int a = 10;
int b = 5;
// Output the results of arithmetic operations
printf("Addition: %dn", a + b);
printf("Subtraction: %dn", a - b);
printf("Multiplication: %dn", a * b);
printf("Division: %dn", a / b);
return 0;
}
Kidokezo: Mgawanyiko kwa integers utaonyesha tu matokeo ya integer. Kwa mfano, a / b inatoa 2, ikiacha sehemu ya desimali. Ili kupata matokeo ya desimali, tumia kigezo cha aina ya double.
8.2 Zoezi 2: Kuelewa Upeo wa Kigezo
Ifuatayo, hebu tuchunguze tofauti kati ya vigezo vya ndani na vigezo vya kimataifa. Vigezo vya ndani vinapatikana tu ndani ya kazi, wakati vigezo vya kimataifa vinaweza kutumika kote katika programu.
#include <stdio.h>
int globalVar = 10; // Global variable
void function() {
int localVar = 20; // Local variable
printf("Local variable in function: %dn", localVar);
printf("Global variable in function: %dn", globalVar);
}
int main() {
function();
// Access global variable
printf("Global variable in main: %dn", globalVar);
// Access local variable (this will cause an error)
// printf("Local variable in main: %dn", localVar);
return 0;
}
Kidokezo: Ikiwa ujaribu kufikia kigezo cha ndani kutoka kwenye main, utapata kosa. Ondoa maelezo ya maoni kwenye laini ili kuangalia mwenyewe.
8.3 Zoezi 3: Kuanza Vigezo na Kushughulikia Makosa
Zoezi hili linakuwezesha kuona matokeo ya kutumia kigezo kisichojinitwa. Katika msimbo hapa chini, number haijaanzishwa, jambo ambalo linaweza kusababisha tabia isiyotabirika.
#include <stdio.h>
int main() {
int number; // Uninitialized variable
printf("Value of uninitialized variable: %dn", number);
return 0;
}
Sasa, jaribu kuendesha toleo lililorekewa na kigezo kilichowekwa vizuri na kulinganisha matokeo.
#include <stdio.h>
int main() {
int number = 0; // Initialized variable
printf("Value of initialized variable: %dn", number);
return 0;
}



