C’de Fonsiyonlar Aslı Ergün.

Slides:



Advertisements
Benzer bir sunumlar
String fonksiyonları:
Advertisements

Fonksiyonlar.
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Atama ve Girdi/Çıktı Komutları
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
String Kütüphanesindeki Arama Fonksiyonları
Bölüm 10 Yapılar ve Birleşimler
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesneye Dayalı Programlama
Erişim Denetimi, Fonksiyon
Fonksiyonlar.
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Paralel Programlamaya Giriş
FONKSİYONLAR.
DEĞİŞKENLER.
Bilgisayar Programlama
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
C++ Ders Notları 2.Ders (Dilin Yapısı)
C++ Ders Notları 3.Ders (String İşlemleri)
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
C++.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
JAVA PROGRAMLAMA ORNEKLER
Java.lang.math
Örnek Adam asmaca oyununun programının yazılması.
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
3. HAFTA 3. Hafta.
4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.
1 7. HAFTA. 2 Referanslar  Referanslar adres temsilcisidir  İşaretçilerin görevlerini kısmi olarak yapabilirler  Değişken değildirler.  Bellekte yer.
Fonksiyonlar.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Hafta2 Rekürsif Algoritmalar
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Fonksiyonlar.
Fonksiyonlar ve Diziler
YAPISAL PROGRAMLAMA Hafta-5
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
C Programlama Dili Bilgisayar Mühendisliği.
BM-103 Programlamaya Giriş Güz 2016 (10. Sunu)
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
BM-103 Programlamaya Giriş Güz 2016 (11. Sunu)
FONKSİYONLAR Programlamada fonksiyon kullanmanın en önemli sebebi kodların tekrar edilmesini engellemektir. Örneğin; karekök yada üsalma işlemi yapan bir.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 2 C Dilinin Temelleri
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
Fonksiyonlar.
YAPISAL PROGRAMLAMA Hafta-6
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bölüm 2 C Dilinin Temelleri
C ile Programlamaya Giriş
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

C’de Fonsiyonlar Aslı Ergün

FONKSİYON ANATOMİSİ Fonksiyon tipi(çıkış parametre türü) : int Fonksiyon adı: toplama Fonksiyon giriş parametreleri: a,b // basit parametreli fonksiyon ornegi1 #include <stdio.h> int toplama (int a, int b) { int r; r=a+b; return (r); } int main () int z; z = toplama (5,3); printf(‘’%d’’, z); return 0;

Fonksiyonlar ve Kullanımı // void fonksiyon ornegi (Basit, deger dondurmez) , c++ kutuphaneli #include <iostream> using namespace std; void mesajyaz () { cout << "Ben bir fonksiyonum !"; } int main () mesajyaz (); return 0; // void fonksiyon ornegi (Basit, deger dondurmez) , standard c kutuphaneli #include <stdio.h>; void mesajyaz () { printf("Ben bir fonksiyonum !\n"); } int main () mesajyaz (); return 0;

Basit parametreli fonksiyon ornegi Ana progran içinden değişkenler içinde gönderilen değerler, fonksiyon değişkenlerine kopyalanıp işlem yapılır. Fonksiyon dönüş parametreleri ana programda yazdırılır. #include <iostream> using namespace std; int toplama (int a, int b){ int r; r=a+b; return (r); } int main (){ int z; z = toplama (5,3); cout << "Sonuc = " << z; return 0;

Fonksiyon Değer Kopyalanması main() veri alanı toplam() veri alanı i a kopyalandı 12 12 j b kopyalandı 25 25 k c kopyalandı 45 45

Değer ve Referansla Çağırma main() veri alanı toplam() veri alanı Değer i Değişkenin Kopyası a 12 12 main() veri alanı toplam() veri alanı Referans &i Değişkenin Kendisi &i 12 12

// referans adresiyle parameter donduren fonksiyon ornegi #include <iostream> using namespace std; void ikikat (int& a, int& b, int& c) { a*=2; b*=2; c*=2; } int main () { int x=1, y=3, z=7; ikikat (x, y, z); cout << "x=" << x << ", y=" << y << ", z=" << z; return 0; }

// karisik parametreli fonksiyon ornegi #include <iostream> using namespace std; void oncesonra (int x, int& prev, int& next) { prev = x-1; next = x+1; } int main () { int x=100, y, z; oncesonra (x, y, z); cout << "Previous=" << y << ", Next=" << z; return 0; }

FONKSİYONLAR GERİ DÖNÜŞ DEĞERİ Örnekler: return (a+b/c); /* parantez kullanmak zorunlu değil */ return 10; /* değişken kullanmak mecbur değil */ return topla(a, b)/2.0; /* önce topla fonksiyonu çalışır */ Programın çözüm mantığına göre bir fonksiyon içerisinde birden çok geri dönüş değeri kullanılabilir. Fakat, ilk karşılaşılan "return" deyiminden sonra fonksiyon sonlanır ve çağrılan yere bu değer gönderilir.

FONKSİYON ÖRNEKLERİ

FONKSİYON PROTOTİPİ KULLANMA Bir fonksiyon prototipi, derleyiciye fonksiyon tarafından döndürülen verinin tipini, fonksiyonun almayı beklediği parametre sayısını, parametrelerin tiplerini ve parametrelerin sırasını bildirir.

fonksiyon prototipi tanimlama #include <iostream> using namespace std; void tek (int a); void cift (int a); int main () { int i; do { cout << "Bir sayi girin (Cıkıs icin 0 girin): "; cin >> i; tek (i); } while (i!=0); return 0; } void odd (int a) { if ((a%2)!=0) cout << "Sayi tektir.\n"; else cift (a); void cift (int a) if ((a%2)==0) cout << "Sayi cifttir.\n"; else tek (a);

// fonksiyonlarda parameter olarak array(dizi) kullanimi #include <iostream> using namespace std; void diziyaz (int arg[], int length) { for (int n=0; n<length; n++) cout << arg[n] << " "; cout << "\n"; } int main () { int ilkdizi[] = {5, 10, 15}; int ikincidizi[] = {2, 4, 6, 8, 10}; diziyaz (ilkdizi,3); diziyaz (ikincidizi,5); return 0; }

String Kütüphaneleri string cumleler[4]; for(int i=0; i<4; i++) cin >> cumleler[i]; for(int i=0; i<4; i++) cout << cumleler[i] + '\n'; char str1[11] = "Eve gel!"; char str2[] = "Para gonder!"; char str3[] = {'O', 'K', '\0'}; if (strcmp(str1, str2) < 0) cout << "str1 once yer alır."; if (strcmp(str1, str2) == 0) cout << "Kelimeler esittir."; if (strcmp(str1, str2) > 0) cout << "str2 once yer alır."; string klm1,klm2; if (klm1 < klm2) cout << "klm1 once yer alır."; if (klm1 == klm2) cout << "Kelimeler esittir."; if (klm1 > klm2) cout << "str2 once yer alır."; return 0; } #include <iostream> #include <string> using namespace std; #include <string.h> int main () { char kelime[20]; char kelime2[20]; printf("kelimeler girin"); // gets(kelime); // puts(kelime); // scanf("%s",kelime); // printf("%s",kelime); char hedef[9]; char baslangic[]="yazilar"; strcpy(hedef,baslangic); //string kelime3; //cin >> kelime3; string cumle; getline(cin,cumle); //cumle3 = "merhaba"; //cout << kelime3 + " ogrenci";

MATEMATİK FONKSİYONLARI Temel matematik işlemleri matematik operatörleriyle gerçekleştirebiliyoruz. Karekök alma, trigonometrik hesaplamalar gibi işlemler için matematik kütüphanesi fonksiyonlarını kullanabiliriz. #include <math.h> ile kütüphane dahil edilir. Matematik kütüphanesi fonksiyonlarından belli başlıcaları aşağıda sıralanmıştır. double cos (double __x) // returns cosine of x double fabs (double __x) // absolute value of a float double fmod (double __x, double __y) // floating point modulo double sin (double __x) // returns sine of x double sqrt (double __x) // returns square root of x double tan (double __x) // returns tangent of x double exp (double __x) // function returns the exponential value of x. double atan (double __x) // arc tangent of x double atan2 (double __y, double __x) // arc tangent of y/x double log (double __x) // natural logarithm of x double log10 (double __x) // logarithm of x to base 10. double pow (double __x, double __y) // x to power of y double square (double __x) // square of x double min (double __x, double __y) // min of x to and y double max (double __x, double __y) // max of x to and y

MATEMATİK FONKSİYONLARI ORNEKLER Val = min(Val, 100); // Val değeri ile 100 sayısını karşılaştırır hangisi // küçükse Val Değerine atama yapar. // Sonuç Hiç bir zaman 100 değerinden büyük olamaz. Val = max(Val, 20); // Val değeri ile 20 sayısını karşılaştırır. hangisi büyükse // Val Değerine atama yapar.                     // Sonuç hiç bir zaman 20 değerinden küçük olamaz. abs(a); // a değişkeninin mutlak değerini hesaplar.  a++;    // Sonra a’ nın değerini “1” artır. sqrt(val); // Sayının karekökünü hesaplar. Dönen değer Double sayı // tipindedir.