CodeBlanks Logo Icon CodeBlanks

Çarpma ve bölme

  • C kursu
  • Başlangıç
  • Ders 21/116
  • 6 dk

Çarpma, bölme ve sıfıra bölme kontrolünü eklersin.

multiply ve divide fonksiyonları

Şimdi multiply ve divide fonksiyonlarını ekliyoruz. multiply iki sayıyı çarpar; divide ise böler. Bölme işleminde sıfıra bölme hatasını önlemek için b == 0 kontrolü yapmalıyız:

int multiply(int a, int b) {
    return a * b;
}

int divide(int a, int b) {
    if (b == 0) return 0;
    return a / b;
}

Sıfıra bölme tanımsızdır; bu yüzden kontrol eklemek programın çökmesini engeller.

Uygulama multiply ve divide ekle

Aşağıdaki koda int multiply(int a, int b) ve int divide(int a, int b) fonksiyonlarını ekle. divide içinde if (b == 0) return 0; kontrolü olsun. main içinde ikisini de çağır: printf("%d\n", multiply(5, 3)); ve printf("%d", divide(6, 3));.

Başlangıç kodu

main.c
#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int subtract(int a, int b) {
    return a - b;
}

int main(void) {
    printf("Hesap makinesi\n");
    printf("%d\n", add(5, 3));
    printf("%d", subtract(5, 3));
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int subtract(int a, int b) {
    return a - b;
}

int multiply(int a, int b) {
    return a * b;
}

int divide(int a, int b) {
    if (b == 0) return 0;
    return a / b;
}

int main(void) {
    printf("Hesap makinesi\n");
    printf("%d\n", add(5, 3));
    printf("%d\n", subtract(5, 3));
    printf("%d\n", multiply(5, 3));
    printf("%d", divide(6, 3));
    return 0;
}

Beklenen çıktı

Hesap makinesi
8
2
15
2

Sıfıra bölme tehlikesi

Sıfıra bölme, programın anında çökmesine yol açar. Bu yüzden divide fonksiyonunda böleni kontrol etmek zorundayız:

if (b == 0) return 0;  // güvenli dönüş

Sıfır yerine başka bir değer de dönebilirsin; önemli olan programın çökmemesidir. Üretim kodunda genellikle bir hata kodu veya özel bir değer tercih edilir.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 multiply return ifadesi

Soru
int multiply(int a, int b) { return a ____ b; }
Cevap
int multiply(int a, int b) { return a * b; }

Açıklama: return a * b; ile çarpma yapılır.

2 Bölme öncesi ne kontrol edilmeli?

  • a > 0
  • b == 0 Doğru cevap
  • b > 0
  • a < 0

Açıklama: b == 0 kontrolü sıfıra bölme hatasını önler.

3 Fonksiyonları eşleştir

Kavram Anlamı
add Toplama
subtract Çıkarma
multiply Çarpma
divide Bölme

Başlangıç bölümündeki tüm dersler