C funksiya parametrlari
Parametrlar va argumentlar
Funksiyalarga ma’lumotlarni parametr sifatida uzatish mumkin. Parametrlar funksiya ichida o‘zgaruvchi vazifasini bajaradi.
Parametrlar funksiya nomidan keyin, qavslar ichida ko‘rsatiladi. Istalgancha parametr qo‘shishingiz mumkin, faqat ularni vergul bilan ajrating:
Sintaksis
returnType functionName(parameter1, parameter2, parameter3) {
// code to be executed
}
Quyidagi misolda funksiya parametr sifatida name nomli belgilar stringini qabul qiladi. Funksiya chaqirilganda biz unga ism uzatamiz va u funksiya ichida "Hello" so‘zini hamda har bir kishining ismini chiqarish uchun ishlatiladi:
Misol
void myFunction(char name[]) {
printf("Hello %s\n", name);
}
int main() {
myFunction("Liam");
myFunction("Jenny");
myFunction("Anja");
return 0;
}
// Hello Liam
// Hello Jenny
// Hello Anja
O‘zingiz sinab ko‘ring »
Parametr funksiyaga uzatilganda u argument deb ataladi. Demak, yuqoridagi misolda name — parametr, Liam, Jenny va Anja esa argumentlar.
Bir nechta parametr
Funksiyaga istalgancha parametr qo‘shishingiz mumkin:
Misol
void myFunction(char name[], int age) {
printf("Hello %s. You are %d years old.\n", name, age);
}
int main() {
myFunction("Liam", 3);
myFunction("Jenny", 14);
myFunction("Anja", 30);
return 0;
}
// Hello Liam. You are 3 years old.
// Hello Jenny. You are 14 years old.
// Hello Anja. You are 30 years old.
O‘zingiz sinab ko‘ring »
Agar oldingi sahifadagi "Sonlar yig‘indisini hisoblash" misolini olsak, funksiya parametrlaridan foydalanib, yanada barqaror dastur yaratishimiz mumkin:
Misol
void calculateSum(int x, int y) {
int sum = x + y;
printf("The sum of %d + %d is: %d\n", x, y, sum);
}
int main() {
calculateSum(5, 3);
calculateSum(8, 2);
calculateSum(15, 15);
return 0;
}
O‘zingiz sinab ko‘ring »
Parametrlar haqida eslatmalar
E’tibor bering, bir nechta parametr bilan ishlaganda funksiya chaqiruvidagi argumentlar soni parametrlar soniga teng bo‘lishi va argumentlar xuddi shu tartibda uzatilishi kerak.
Massivlarni funksiya parametrlari sifatida uzatish
Funksiyaga massivlarni ham uzatishingiz mumkin:
Misol
void myFunction(int myNumbers[5]) {
for (int i = 0; i < 5; i++) {
printf("%d\n", myNumbers[i]);
}
}
int main() {
int myNumbers[5] = {10, 20, 30, 40, 50};
myFunction(myNumbers);
return 0;
}
O‘zingiz sinab ko‘ring »
Misol izohi
Funksiya (myFunction) parametr sifatida massivni (int myNumbers[5]) qabul qiladi va for sikli yordamida massiv elementlarini aylanib chiqadi.
Funksiya main() ichida chaqirilganda, biz unga myNumbers massivini uzatamiz va u massiv elementlarini chiqaradi.
E’tibor bering, funksiyani chaqirganda massivni argument sifatida uzatish uchun faqat uning nomini yozish kifoya myFunction(myNumbers). Biroq funksiya parametrida massivning to‘liq e’loni kerak bo‘ladi (int myNumbers[5]).
Qaytariladigan qiymatlar
Oldingi misollarda ishlatilgan void kalit so‘zi funksiya qiymat qaytarmasligi kerakligini bildiradi. Agar funksiya qiymat qaytarishini istasangiz, void o‘rniga ma’lumot tipidan (masalan, int yoki float va h.k.) foydalanishingiz va funksiya ichida return kalit so‘zini ishlatishingiz mumkin:
Misol
int myFunction(int x) {
return 5 + x;
}
int main() {
printf("Result is: %d", myFunction(3));
return 0;
}
// Outputs 8 (5 + 3)
O‘zingiz sinab ko‘ring »
Bu misolda ikki parametrli funksiya ularning yig‘indisini qaytaradi:
Misol
int myFunction(int x, int y) {
return x + y;
}
int main() {
printf("Result is: %d", myFunction(5, 3));
return 0;
}
// Outputs 8 (5 + 3)
O‘zingiz sinab ko‘ring »
Natijani o‘zgaruvchida saqlashingiz ham mumkin:
Misol
int myFunction(int x, int y) {
return x + y;
}
int main() {
int result = myFunction(5, 3);
printf("Result is = %d", result);
return 0;
}
// Outputs 8 (5 + 3)
O‘zingiz sinab ko‘ring »
Agar "Sonlar yig‘indisini hisoblash" misolini yana bir bor ko‘rib chiqsak, uning o‘rniga return kalit so‘zidan foydalanib, natijalarni turli o‘zgaruvchilarda saqlashimiz mumkin. Bu dasturni yanada moslashuvchan va boshqarishni osonroq qiladi:
Misol
int calculateSum(int x, int y) {
return x + y;
}
int main() {
int result1 = calculateSum(5, 3);
int result2 = calculateSum(8, 2);
int result3 = calculateSum(15, 15);
printf("Result1 is: %d\n", result1);
printf("Result2 is: %d\n", result2);
printf("Result3 is: %d\n", result3);
return 0;
}
O‘zingiz sinab ko‘ring »
Maslahat: Agar sizda ko‘plab "natija o‘zgaruvchilari" bo‘lsa, natijalarni massivda saqlagan ma’qul:
Misol
int calculateSum(int x, int y) {
return x + y;
}
int main() {
// Create an array
int resultArr[6];
// Call the function with different arguments and store the results in the array
resultArr[0] = calculateSum(5, 3);
resultArr[1] = calculateSum(8, 2);
resultArr[2] = calculateSum(15, 15);
resultArr[3] = calculateSum(9, 1);
resultArr[4] = calculateSum(7, 7);
resultArr[5] = calculateSum(1, 1);
for (int i = 0; i < 6; i++) {
printf("Result%d is = %d\n", i + 1, resultArr[i]);
}
return 0;
}
O‘zingiz sinab ko‘ring »
Hayotiy misol
Funksiyalardan foydalanishning amaliy misolini ko‘rsatish uchun qiymatni Farengeytdan Selsiyga o‘giradigan dastur yarataylik:
Misol
// Function to convert Fahrenheit to Celsius
float toCelsius(float fahrenheit) {
return (5.0 / 9.0) * (fahrenheit - 32.0);
}
int main() {
// Set a fahrenheit value
float f_value = 98.8;
// Call the function with the fahrenheit value
float result = toCelsius(f_value);
// Print the fahrenheit value
printf("Fahrenheit: %.2f\n", f_value);
// Print the result
printf("Convert Fahrenheit to Celsius: %.2f\n", result);
return 0;
}
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
