Java da Dizi Tanımlama

Benzer belgeler
C dilinde if-else yapısı

Temel Giriş/Çıkış Fonksiyonları

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Ders 4: Temel Giriş/Çıkış Fonksiyonları

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

C Programlama printf() Fonksiyonu

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

C Konsol Giriş Çıkış Fonksiyonları

PROGRAMLAMAYA GİRİŞ DERS 2

Eln 1001 Bilgisayar Programlama I

BİL1001 Bilgisayar Bilimlerine Giriş 1

C Programlama Dilininin Basit Yapıları

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Programlama Dilleri 1. Ders 4: Diziler

Dr. Fatih AY Tel: fatihay@fatihay.net

Genel Programlama II

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

C PROGRAMLAMA D İ L İ

C++ Dosya İşlemleri. C++ da Vektörler. C++ Dosya İşlemleri. Hazırlayan:Muhammed Şamil Özer. Vektörler

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Bigisayar Programlama

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

HSancak Nesne Tabanlı Programlama I Ders Notları

Diziler (Arrays) Çok Boyutlu Diziler

Giriş. ENF102 Jeoloji

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Pointer Kavramı. Veri Yapıları

HSancak Nesne Tabanlı Programlama I Ders Notları

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BİLG Dr. Mustafa T. Babagil 1

Hafta 12 Karakter Tutan Diziler

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

C PROGRAMLAMA D İ L İ

2. Dereceden Denklemin Köklerini Bulan Program

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

İnternet Programcılığı Dersi 2.Dönem Ders Notu

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

ALGORİTMA VE PROGRAMLAMA II

int printf (const char *format [, argument,...]);

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

Fonksiyonlar (Altprogram)

Bölüm 2 - C ile Programlamaya Giriş

C PROGRAMLAMA D İ L İ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Programlama Dilleri 1. Ders 5: Göstericiler

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

C PROGRAMLAMA DİLİNE GİRİŞ

STRING (SÖZEL) İŞLEMLER. Yrd. Doç.Dr. Bülent Çobanoğlu

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

C#(Sharp) Programlama Dili

Göstericiler (Pointers)

HSancak Nesne Tabanlı Programlama I Ders Notları

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA I

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Adım Adım C-II. Eksik kalmış konular

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

Python Programlama Dili

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

BLM 111 ALGORİTMA VE PROGRAMLAMA I

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

PROGRAMLAMA DİLLERİ I

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

Transkript:

Java da Dizi Tanımlama DİZİLER Dizi, içerisinde aynı tip verilerin tutulduğu bir yapıdır. Diziler ile verilere daha kolay erişim sağlanır. Java daki diziler, diğer dillerden farklı olarak birer nesnedir. Bu özelliği sayesinde yüksek performans ve güvenlik sağlar. Java da Dizi Tanımlama Şekilleri Dizi tanımlanırken ilk olarak dizide olacak elemanların veri tipi belirtilir. (int, String ) Dizini tipini belirledikten sonra köşeli parantezler koyulur. Bu da değişkenimizin bir dizi olduğunu belirler. [crayon-5b8deb74892a1064942820/] Diziyi tanımlayıp içine veri yerleştirmek için kullanacağımız yapı: [crayon-5b8deb74892af909309970/] Yeni bir dizi tanımlayıp bu dizinin eleman sayısını belirlemek için new anahtar kelimesini kullanmak zorundayız. [crayon-5b8deb74892b7060734476/] C++ Örnek Soru Çözümleri

Bu soruyu çözmeye başlamadan önce soruyu anlamamız ve algoritma üretmemiz gerekiyor. Bu soru için izleyeceğimiz adımlar sırasıyla şöyledir; Öncelikle bizden istenene odaklanırız ve o sonuca nasıl ulaşabileceğimizi hesaplamalıyız. Anlaşıldığı üzere p(100) ve f(100) bulunursa problemimiz çözülecektir 1-p(100) bulunur. p(100) = 1+2+3+..100

[crayon-5b8deb748a366217416416/] gibi basit bir işlemle çözülür. 2-f(100) bulunur. f(100) [crayon-5b8deb748a372720812676/] Kod dünyasının paylaştığı bu sorunun çözümü: [crayon-5b8deb748a379060281091/] şeklindedir. Soru 2

[crayon-5b8deb748a382850065620/] şekilde çözüme ulaşılabilir. Pointer Dönüşlü Fonksiyonlar

Bu konuyu incelemeden önce pointerlerin ne olduğunu bilmelisiniz ve Call by Value&Call by Reference konularını gözden geçirmiş olmalısınız, bu konunun anlaşılırlığı bakımından daha sağlıklı olacaktır. Geri dönüşlü fonksiyonların parametre değerleri ve bir dönüş değeri olduğunu biliyoruz. Bu parametrelerin pointer bir değer olabileceği gibi dönüş tipimiz de bir pointer olabilir. Aşağıdaki kodumuzda bu konuyu inceleyelim. [crayon-5b8deb748aa51915576945/] Main fonksiyonumuzda gördüğümüz gibi dizi[] arrayimizi tanımladık [crayon-5b8deb748aa5b799209830/] Ardından *p pointeri adresdegistir(char *p, int index) fonksiyonunun (dizi,fazlalik) parametreleriyle return u olarak tanımlanmıştır. [crayon-5b8deb748aa64936284558/] Fonksiyonumuzun parametrelerinin aldığı değerler *p ve index sırasıyla dizi string arrayi ve index yani 2 olmuştur. [crayon-5b8deb748aa6b449627002/] Fonksiyonun başındaki * işareti ile de fonksiyonumuzun dönüş tipi pointer olmuştur [crayon-5b8deb748aa72879027838/] uzunluk ise strlen komutuyla p stringinin uzunluğu olarak tanımlanmıştır.

[crayon-5b8deb748aa79936923237/] Fonksiyonumuzun içindeki bu koşul ile stringimizin uzunluğu index(2) ten büyük olduğu müddetçe dönüşümüz (p+index) kadar olacatır.aksi halde NULL (boş) bir değer olacaktır. Bunun anlamı ise mesela p stringimizin adresinin 2 birim ilerlemiş olması ve main fonksiyonuna dönüşün pointer biçiminde olmasıyla main fonksiyonundaki [crayon-5b8deb748aa80661229383/] çıktısının sonucu ise zilimagiris olacaktır. Hazırlayan Gürkan Aktaş. C++ Dilinde Ctype Kütüphanesi Bu yazının amacı C kütüphanelerinden ctype.h kütüphanesini açıklamaktır. Kütüphane kabaca C dilinde bulunan karakterler (char) üzerinde işlem yapmaya imkan sağlar. Kütüphane ismi de buradan gelmektedir ( char + type = ctype). Amacı bir karakterin tipini algılama veya değiştirmektir. Kütüphane herhangi bir C kodunda aşağıdaki şekilde eklenir. #include <ctype.h> Örnek olarak klavyeden bir dizgi (string) alan ve bu dizgi içerisindeki büyük harfleri küçüğe ve küçük harfleri büyüğe

çeviren kodu aşağıdaki şekilde kodlayabiliriz: [crayon-5b8deb748b29d981693020/] Kodun örnek çıktısı aşağıda verilmiştir: bir yazı girinizali BABA ve Kirk Haramiler ali baba VE kirk haramiler C Dilinde Limit Kütüphanesi limits.h başlığı char, short, int, long gibi değişken tiplerinin en fazla ve en az değer aralıklarını belirleyen standart C++ kütüphanesidir. Örneğin işaretsiz bir karakteri 255 maksimum değere kadar saklayabilirsiniz. Aşağıdaki örneğe bakalım : [crayon-5b8deb748b750703085586/] bu örneğin çıktısı şu şekildedir : 1 byte ın bit sayısı = 8 Maximum SIGNED CHAR = -126 Maximum SIGNED CHAR = 127 Maximum UNSIGNED CHAR = 255 Maximum SHORT INT = -32766 Maximum SHORT INT = 32767 Maximum INT = -2147483648 Maximum INT = 2147483647 Maximum CHAR = -128 Maximum CHAR =127 Maximum LONG = -2147483648 Maximum LONG = 2147483647

İnsertion Sort (Eklemeli Sıralama) C++ İnsertion Sort bir dizideki verileri sıralama algoritmasıdır. Bu algoritmada kısaca yapılan işlem dizinin solundaki elaman ile sağındaki elamanı karşılaştırıp küçük olanı sola atmaktır. Dizinin tüm elamanları sırayla tek tek kontrol edilir ve yer değiştirilir böylece dizi küçükten büyüğe sıralanmış olur. Örnek olarak 5 elamanlı bir diziyi küçükten büyüğe sırayalım : #include <iostream> using namespace std; int main() { int indis,i,key,k; int dizi[5]={3,2,4,1,5; for(indis=0;indis<5;indis++){ key=dizi[indis]; i=indis-1; while(i>=0 && dizi[i]>key) { dizi[i+1]=dizi[i]; i=i-1; dizi[i+1]=key; for(k=0;k<5;k++){ cout<<dizi[k]<< \n ; return 0; program çıktısı :

1 2 3 4 5 şeklinde olacaktır. Selection Sort (Seçerek Sıralama) C++ Bir dizideki verilerin küçükten büyüğe veya büyükten küçüğe doğru sıralanmasında kullanılan bir sıralama algoritmasıdır. Bu algoritma da dizinin ilk elemanı en küçük olarak kabul edilebilir, sonra dizi içerisindeki en küçük eleman aranır, bulunduğu zaman ilk eleman ile yer değiştirilir, daha sonra kalan elemanlar arasında ikinci en küçük eleman aranır ve ikinci elemanla yer değiştirilir. Bu işlem dizinin son elemanına kadar tekrar edildiğinde dizi küçükten, büyüğe doğru sıralanmış olur. örnek olarak 6 elamanlı bir dizinin sıralanışı: #include <iostream> using namespace std; int main() { int dizi[6]=(4,1,5,3,6,2); int gecici,enkucuk,indis,i; int k; for(indis=0;indis<5;indis++) {

enkucuk=indis; for(i=indis;i<6;i++){ if(dizi[i]<dizi[enkucuk])enkucuk=i; gecici=dizi[indis];//dizinin elamanları yer değişiyor dizi[indis]=dizi[enkucuk];//dizinin elamanları yer değişiyor dizi[enkucuk]=gecici;//dizinin elamanları yer değişiyor //diziyi yazdıralım for(k=0;k<6;k++){ cout<<dizi[k]<< \n ; return 0; Örnekte olduğu gibi dizinin ilk elamanı göz önüne alıp kıyaslayarak sırasıyla en küçük değerler bulunur ve bu değerler sırasıyla yer değiştirir.böylece dizi küçükten büyüğe sıralanmış olur. C dilinde if-else yapısı Merhaba arkadaşlar, bu başlık altında sizlere koşullu ifadelerden bahsedeceğim. Peki nedir bu koşullu ifadeler(if, else if, else)? Bunu bir koşulun gerçekleşmesine bağlı olarak gerçekleşen olaylar olarak açıklayabiliriz. Örneğin; bugün arkadaşımla buluşacağım bu yüzden sinemaya gideceğiz. Arkadaşımla buluşmam koşul, olayın gerçekleşmesi ise sinemaya gitmemiz aksi durumda sinemaya gitmeyeceğiz. Bu ve buna benzer yapıları oluşturmak için if, else if, else komutları mevcut ve bugün bunlardan bahsedeceğim.

Öncelikle if, else kullanımından bahsedelim 1. 2. 3. 4. 5. #include <stdio.h> İnt main() { if(koşul) İlk olarak küme parantezi içerisinde if yazıp parantez içerisinde koşulumuzu belirtiyoruz 1. 2. 3. 4. 5. 6. 7. #include <stdio.h> İnt main() { if(koşul) { işlemler Tekrar küme parantezi açarak gerçekleşecek işlemlerimizi yazıyoruz Koşul gerçekleştiğinde eğer koşul gerçekleşirse, parantez içerisindeki işlemler gerçekleşecek Aksi durumda olacak iş ise else yapısıyla sağlanır;

1. #include <stdio.h> 2. İnt main() 3. { 4. if(koşul) 5. { işlemler 6. 7. else 8. {işlemler 9. 10. İf, else yapısının en basit hali bu şekildedir.koşul gerçekleşirse ilk blok, gerçekleşmezse ikinci blok çalışacaktır Bir koşulu etkileyecek birden fazla durumda meydana gelebilir, bu esnada bu blokların nasıl kullanıldığına dair örneklerde vereceğim ama önce en basit haline bir örnek verelim. 1. #include<stdio.h> 2. int main( void ) 3. { 4. int s1; 5. printf( Lütfen bir tam sayı giriniz: ); 6. scanf( %d,&s1); 7. if( s1 > 100 ) 8. printf( Girilen sayı 100 den büyüktür\n ); 9. else 10. printf( Girilen sayı 100 den küçüktür\n ); 11. return 0; 12.

Örnekte görüldüğü gibi, bir koşulun doğruluğunun if ile kontrolünü yaptırıp koşul karşılanıyorsa bir sonraki komut satırı devreye giriyor ve Girilen sayı 100 den büyüktür ekrana yazdırılıyor. Şayet verilen koşul yanlışsa, o zaman else satırı dikkate alınıyor ve ekrana Girilen sayı 100 den küçüktür yazdırılıyor. Ancak ikisini de yapması gibi bir durum söz konusu değildir. Birden fazla durum söz konusu olduğunda else if yapısını kullanabiliriz, ne kadar durum gerçekleşebilirse if yapısından sonra o kadar else if ekleyabiliriz; Örneğin aynı boyda 4 kişiyi seçebiliriz ve bunları zayıf, normal, kilolu, aşırı kilolu olarak değerlendirebiliriz ve bu olayda 4 duruma sahip oluruz. Bunun gibi birden fazla gerçekleşebilecek durumlarda else if yapısını kullanırız Bunu alttaki örnekte görebilirsiniz 1. #include<stdio.h> 2. int main( void ) 3. { 4. int k; 5. printf( kilonuzu giriniz: ); 6. scanf( %d,&k); 7. if( 50<k< 60 ) 8. printf( zayifsiniz\n ); 9. else if( 60<k<70 ) 10. printf( normalsiniz\n ); 11. else if( 70<k<80 ) 12. printf( kilolusunuz\n ); 13. else if( 80<k<90 ) 14. printf( asiri kilolusunuz\n );

15. return 0; 16. İç İçe if ve else deyimleri C dilinde, bir if veya else deyimine bağlı olarak çalıştırılan işlem satırında yeni bir if deyimi yer alabilir. Yine bir if veya else deyimine bağlı olarak çalıştırılan kod bloğu içinde yer alan işlem satırlarından birisinde yeni bir if deyimi yer alabilir. Başka bir ifade ile, bir if deyimi başka bir if veya else deyiminin içinde kullanılabilir. İçte kalan if deyimi dıştaki if deyimine ait ifadenin doğru olması halinde programın çalıştırdığı tek bir satır olabileceği gibi, dıştaki if deyimine ait bir kod bloğunun işlem satırlarından biri de olabilir. 1. if(ifade) 2. if(ifade) işlem-satırı; 3. if(ifade) { 4. if(ifade) { işlem-satırı; işlem-satırı; 5. 6. else { 7. işlem-satırı; 8. if(ifade) işlem-satırı; 9. else işlem-satırı; 10. 11.

İf, if else, else if örnekleri; Örnek if kullanımı : Örnek programımızda klavyeden, bir tam sayı girilmesi istenmektedir. Ve bizde girilen sayı, 100 den büyükse koşulunu vererek ekrana Girilen sayı 100 den büyüktür yazdırmaktayız. 1. 2. 3. 4. 5. 6. 7. 8. 9. #include<stdio.h> int main( void ) { int s1; //girilen sayimiz// printf( Lütfen bir tam sayı giriniz: ); scanf( %d,&s1); if( s1 > 100 ) printf( Girilen sayı 100 den büyüktür\n ); return 0; Örnek if else kullanımı : Klavyeden girilen sayının tek mi çift mi olduğunu ekrana yazdıran program 1. #include <stdio.h> 2. #include <conio.h> 3. int main() 4. { 5. int a; 6. printf( Sayiyi giriniz= ); 7. scanf( %d,&a); 8. if(a%2==0)

9. printf( Girilen sayi cifttir. ); 10. else 11. printf( Girilen sayi tektir. ); 12. getch(); 13. return 0; 14. Örnek else if kullanımı; Kullanıcıyı yasına göre çocuk, genç ve yaslı olarak sınıflandırma 1. #include <stdio.h>#include <conio.h> int main() { int yas; printf( yasinizi giriniz: ); scanf( %d,&yas); if(yas<=17) {printf( cocuk ); else if(yas==18) { printf( genc ); else

{ printf( yasli ); Hazırlayan Çağrı KONCA C de giriş-çıkış komutları Tüm programlama dillerinde belirli bir formata göre ya da formatsız olarak programda kullanmak için giriş çıkış deyimleri kullanılır C de kullanılan giriş çıkış komutları şunlardır; PRİNTF() KOMUTU Programda kullandığımız değişken veya yazıcıya yazdırmak için kullanılan komuttur.bu komut stido.h kütüphanesinde bulunmaktadır. Kullanım Şekli; Printf( [mesaj] format_string,değişken); Mesaj: kullanılması zorunlu olmayan ama yapılan işlemle ilgili mesajları ekrana yazdıran kısımdır. Format_string: yazdırlmak istenilen değişken ve sabitlerin veri türlerini belilemek için kullanılan karakter topluluğudur.bilgini ekrana ne şekilde yazılacağını belirtir.

Format_string üç kısımdan oluşmaktadır: Düz metin (literal string): yazdırılmak istenen ileti. Örneğin: printf( MERHABA DÜNYA )gibi. Konrol karakterleri (escape squence): değişkenlerin ve sabitlerin nasıl yazılacağını belirtmek veya imlecin alt satıra geçirilmesi gibi bazı işlemlerin gerçekleştirilmesi için kullanılır. Bu karakterler Tablo 4.1 de listelenmiştir. Örneğin: printf( MERHEBE\n DÜNYA ); gibi. Tablo 4.1: Kontrol karakterleri Karakter Anlamı \a Ses üretir (alert) \b imleci bir sola kaydır (backspace) \f Sayfa atla. Bir sonraki sayfanın başına geç (formfeed) \n Bir alt satıra geç (newline) \r Satır başı yap (carriage return) \t Yatay TAB (horizontal TAB) \v Dikey TAB (vertical TAB) \ Çift tırnak karakterini ekrana yaz \ Tek tırnak karakterini ekrana yaz \\ \ karakterini ekrana yaz %% % karakterini ekrana yaz Tip belirleyici (conversion specifier): % işareti ile başlar ve bir veya iki karakterden oluşur (%d gibi). Ekrana yazdırılmak istenen değişkenin tipi, % işaretinden sonra belirtilir Örneğin: printf( x in değeri %d dir ); gibi. Tablo 4.2: Tip karakterleri

Tip Karakteri %c %s %d %ld %u %lu Anlamı tek bir karakter karakter dizisi (string) işaretli ondalık tamsayı uzun işaretli ondalık tamsayı işaretsiz ondalık tamsayı işaretsiz uzun tamsayı Yazdırılacak veri tipi Char Char int, short Long unsigned int, unsigned short unsigned long %f Gerçel sayı Float %lf Çift duayarlı gerçel sayı Double Scanf() KOMUTU Değişkenlerin bellekteki alanlarına klavyeden değer girmek için kullanılır.stdio.h kütüphanesinde bulunur. Kullanım şekli; Scanf( format_string,değişken); Örnekler:,

01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: ÇIKTI /* 04prg03.c scanf() fonksiyonu ile int ve float tipindeki verilerin okunması */ #include <stdio.h> main() { int t; float g; printf( Bir gercel sayi girin: ); scanf( %f,&g); printf( Bir tamsayi girin : ); scanf( %d,&t); printf( \n ); printf( \t %f * %f = %f\n,g,g,g*g); printf( \t %d * %d = %d\n,t,t,t*t); return 0; Bir gercel sayi girin: 1.34 Bir tamsayi girin : 12 1.340000 * 1.340000 = 1.795600 12 * 12 = 144

C dilinde For döngüsü ve örnekleri Döngü (loop) deyimleri, bir kümenin belli bir koşul altında tekrar edilmesi için kullanılır. C programlama dilinde, while, do while ve for olmak üzere üç tip döngü deyimi vardır. Diğer programlama dillerinde olduğu gibi, bu deyimlerle istenildiği kadar iç-içe döngü yapısı kullanılabilir. Ben sizlere sadece for döngüsünden bahsedeceğim, sitedeki paylaşımlar içerisinde diğer döngülere de ulaşabilirsiniz For dögüsü For döngüsün kalıbı şu şekildedir; for (int i=0;i<=10;i++) { printf( %d-yazilimagiris.com\n,i); //Belirlediğimiz i değişkenini sıfırdan başlatıyoruz ve istediğimiz değere(10) ulaşana kadar parantez içerisindeki işlem tekrar ediliyor

Koşulu ve işlemi gördüğünüz gibi tek satırda halledebiliyoruz, bu yüzden kullanımı daha kolay ve pratiktir bu sebeple while döngüsüne göre daha fazla kullanılır. Şimdi 10 a kadar olan pozitif sayıların toplamını hesaplayan bir program yazarak for döngüsünün mantığını daha iyi anlamaya çalışalım. 1. #include <stdio.h> 2. int main() 3. { 4. int i,toplam; 5. toplam=0; 6. for(i=1;i<=10;i++){ 7. toplam+=i; // Her adımda i değeri toplam değişkenine ekleniyor. 8. 9. printf( Toplam = %d,toplam); 10. return 0; 11.

Kodlamayı açıklamak gerekirse, for döngüsüne girdiğimizde i değişkenine 1 değerini atıyoruz ve her adımda i++ operatörü ile birer birer artmasını sağlayarak son değer olarak belirlediğimiz 10 a kadar gitmesini sağlıyoruz, i değeri 11 olduğu zaman i<=10 koşulunu sağlamayacağı için döngüye devam etmeyecektir. Döngünün içerisinde ki işlemlerde ise her i değerini daha önce belirlediğimiz toplam isminde ki değişkenine ekliyor (burada toplam+=i; yerine toplam=toplam+i; de yazılabilirdi.) ve 10 a kadar olan sayıların toplamını hesaplamış oluyor. İç içe for döngüsü C de döngüleri tek başına kullanabileceğiniz gibi, birbiri içinde de kullanabilirsiniz. Eğer bir döngüyü, başka bir döngünün kod bloğu içinde tanımlarsanız, iç içe döngü oluşturulmuş olur. ANSI C standartlarına göre en az 15 adet döngü birbiri içinde tanımlanabilmelidir. Şimdi basit bir örnek üzerinde bu özelliği inceleyelim: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. #include <stdio.h> #include <conio.h> main() { int id1, id2; for (id1=0; id1<5; id1++ ) { for (id2=0; id2<10; id2++) printf( %d, id2); printf( \n ); Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar: 0 1 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 Program, önce ilk for döngüsünde id1 değişkenine 0 değerini atar. Koşul bölümünde doğru bir sonuç elde ettiği için ilk for döngüsü ile ilgili kod bloğunu çalıştırır. Kod bloğu içindeki for döngüsüne ait id2 değişkenine 0 değerini atar. Koşul bölümünde doğru bir sonuç elde ettiği için ikinci for döngüsü ile ilgili işlem satırını çalıştırır ve ekrana 0 değerini yazar. İkinci döngü, daha önce gördüğümüz gibi, id2 değişken değeri 10 dan küçük olduğu sürece çalışmasına devam eder ve ekrana aşağıdaki satırı yazar: 0 1 2 3 4 5 6 7 8 9 İkinci for döngüsü sona erdiğinde program kod bloğu içinde yer alan ikinci satır ile satır başı yapar. Daha sonra program ilk for döngüsünde id1 değişkeninin değerini 1 artırarak tekrar kod bloğunu çalıştırır. İlk for döngüsü de id1 değişken değeri 5 den küçük olduğu sürece çalışmasına devam eder. İlk for döngüsünün her tekrarında kod bloğunda yer alan ikinci for döngüsü 10 defa tekrar eder. Örnekler; 1-Üs alma oyunu

Bu örnekte, program sizden 1 den 10 a kadar olan sayıların karelerini sıra ile girmenizi ister. Sonra, doğru ve yanlış cevap sayısını kaydederek ekrana yazar. 1. 3. 4. 5. 7. 8. 9. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. #include <stdio.h> main() { int id1, id2, id3=0, id4=0; for (id1=1; id1<10; id1++) { printf( %d sayisinin karesi kac eder?, id1); scanf( %d, &id2); if(id2 == id1 * id1) { printf( Cevabiniz dogrudur!\n ); id3++; else { printf( Cevabiniz yanlistir!\n\a ); printf( Dogru cevap %d sayisidir!\n, id1 * id1); id4++; printf( \ndogru cevap sayisi : %d yanlis cevap say : %d, id3, id4); 23. Örnek 2

Program, bir for döngüsü içinde 1 den 10 a kadar olan sayıların kendinden küçük sayıların toplamını fonk1() fonksiyonu içindeki bir döngüyü kullanarak ekrana yazar. Burada, fonk1() fonksiyonunun direk olarak printf() fonksiyonunun bir argümanı olarak aynı satırda tanımlandığına dikkat ediniz. 1. 3. 4. 5. 7. 8. 9. 10. 12. 13. 14. 16. 18. 19. #include <stdio.h> main() { int id1; for (id1=1; id1<10; id1++) { printf( %d sayısı altındaki sayılar toplamı: %d\n, id1, fonk1(id1)); fonk1(int id1) { int id2, id3=0; for (id2=1; id2<id1; id2++) id3 = id3 + id2; return id3; Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar: 1 sayısı altındaki sayılar toplamı: 0 2 sayısı altındaki sayılar toplamı: 1 3 sayısı altındaki sayılar toplamı: 3 4 sayısı altındaki sayılar toplamı: 6 5 sayısı altındaki sayılar toplamı: 10 6 sayısı altındaki sayılar toplamı: 15

7 sayısı altındaki sayılar toplamı: 21 8 sayısı altındaki sayılar toplamı: 28 9 sayısı altındaki sayılar toplamı: 36 Hazırlayan Çağrı KONCA