Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü

Slides:



Advertisements
Benzer bir sunumlar
Dizi Kullanan Örnekler
Advertisements

STRİNG FONKSİYONLARI.
Diziler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Göstericiler (Pointers)
SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
void medyan(int cevap[]) { int j; siralama(cevap);
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
String Diziler(Katarlar)
C Programlama Dili.
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Değişken Bildirimleri
Diziler.
Atama ve Girdi/Çıktı Komutları
Selçuk Üniversitesi’nin Bilişime Gönül Veren Gençleri
OOP4 LAB.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
String Kütüphanesindeki Arama Fonksiyonları
Diziler(Arrays).
Bölüm 10 Yapılar ve Birleşimler
String ve Karakterlerin Temelleri
Soru1: Dışardan "%s" format belirteci kullanılarak girilecek 20 elemanlı bir dizinin elemanlarının kaç tanesinin rakam, kaç tanesinin harf ve kaç tanesinin.
DİZİLER.
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
Fonksiyonlar.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
C ile Programlamaya Giriş
FONKSİYONLAR.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
DOSYA İŞLEMLERİ.
Programlamaya Giriş ve Algoritmalar
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
Diziler (Arrays).
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ VE SINIFLARIN DİĞER ÖZELLİKLERİ Yılmaz Kılıçaslan.
Temel Giriş/Çıkış Fonksiyonları
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
DİZİLER Arrays.
STRING‘LER Karakter Kütüphanesi Fonksiyonları
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
String Diziler(Katarlar)
BİLGİSAYAR programlama II
BİLGİSAYAR programlama II
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bilgisayar Programlama BIL 107
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Sharp 9. hafta - dIZILER.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
YAPISAL PROGRAMLAMA Hafta-7
NİŞANTAŞI ÜNİVERSİTESİ
Diziler(Arrays).
Sunum transkripti:

Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü Dizi Kavramı ve Bildirimi Dizi Elemanlarına İlk Değer Verilmesi gets, puts fonksiyonları

Adres Kavramı Adres hem donamım hemde yazılıma ilişkin bir kavramdır. Donanımsal olarak bellekte yer gösteren bir sayıdan ibarettir. Mikroişlemci bellekteki bir bölgeye ancak o bölgenin adres bilgisiyle erişebilir.

Adres Kavramı Bellek bölgesindeki yerini göstermekle kalmaz, tür bilgisini de verir. Bellekteki her bir byte diğerinden farklı bir adresle temsil edilir.

Nesnelerin Adresleri Her nesne bellekte yer kaplar ve bir adrese sahiptir. Nesnelerin adresleri, derleyici ve işletim sistemi birlikte karar verir.

Nesnelerin Adresleri Nesnelerin adresleri ; program yüklenmeden önce kesin olarak bilinemez programcı tarafından da önceden tespit edilemez. Programcı, nesnelerin adreslerini ancak çalışma sırasında (run time) öğrenebilir.

sizeof Operatörü Bir nesnenin ya da veri türünün bellekte byte cinsinden kapladığı alanın belirlenmesini sağlayan operatördür. İki biçimde kullanılır sizeof(nesne ismi) sizeof(tür) Fonksiyonların geri dönüş değerleri, bellekte ne kadar byte yer kapladığını gösterir.

szfoper.c programı #include <stdio.h> int main() { char c; short s; int i; long l; float f; double d; long double ld; int array[ 20 ]; /* 20 tane int dizi elemanı yaratılıyor */ int *ptr = array; /* gösterici dizisi yaratılıyor */ printf( " sizeof c = %d\t sizeof(char) = %d" "\n sizeof s = %d\t sizeof(short) = %d" "\n sizeof i = %d\t sizeof(int) = %d" "\n sizeof l = %d\t sizeof(long) = %d" "\n sizeof f = %d\t sizeof(float) = %d" "\n sizeof d = %d\t sizeof(double) = %d" "\n sizeof ld = %d\t sizeof(long double) = %d" "\n sizeof array = %d" "\n sizeof ptr = %d\n", sizeof c, sizeof( char ), sizeof s, sizeof( short ), sizeof i, sizeof( int ), sizeof l, sizeof( long ), sizeof f, sizeof( float ), sizeof d, sizeof( double ), sizeof ld, sizeof( long double ), sizeof array, sizeof ptr ); return 0; } szfoper.c programı szfoper.c dosyasindan alabilirsiniz

“szfoper.c” programı ekran çıktısı

Dizi Kavramı ve Bildirimi Bellekte sürekli bir biçimde bulunan aynı türden nesnelerin oluşturduğu kümeye dizi diyoruz. İki temel özelliği var Elemanların bellekte sürekli bir biçimde bulunması Elemanların aynı türden nesneler olması

Dizi Kavramı ve Bildirimi Dizi bildirimi aşağıdaki gibi yapılır <Tür> <Dizi_ismi> <Eleman_sayısı> örnekler; char s[30]; /*s, 30 elemanlı, her elemanı karakter olan dizidir*/ int ogrenci_sayisi[50]; /*ogrenci_sayisi, 50 elemanlı, her elemanı int olan dizidir*/ double notlar[20]; /*notlar, 20 elemanlı, her elemanı double olan dizidir*/

Dizi Kavramı ve Bildirimi char s[13]; c b i l g s a y r \n int ogrenci_sayisi[13]; 20 3 27 33 67 22 50 32 44 90 88

Dizi Kavramı ve Bildirimi Bildirim sırasında dizilerin eleman sayısı tamsayı türünden bir sabit ifadesiyle belirtilmek zorundadır. int x[n]; YANLIŞ, dizi uzunluğu sabit ifade olmalıydı. int x[30]; DOĞRU

Dizi Kavramı ve Bildirimi Dizilerde diğer nesneler gibi yerel ve global faaliyet alanlarına sahip olabilirler. Diziler, fonksiyonlara parametre olarak geçirilebilirler.

Dizi Elemanlarına İlk Değer Verilmesi <Tür> <Dizi_ismi> <uzunluk>={s1,s2,…}; Örnekler; int a[10]={22, 23, 4, 9, 2, 2, 3, 4, 0, 10}; double kilo[3]={45.7, 69.3, 90.5}; char s[10]={‘c’, ‘ ’, ‘d’, ‘e’, ‘r’, ‘s’, ‘i’, ‘\0’}; Dikkat! Küme parantezi ; ile sonlandırılmıştır.

Dizi Elemanlarına İlk Değer Verilmesi Dizilerin tüm elemanlarına ilkdeğer verme zorunluluğu yoktur. int a[10]={22, 23, 4}; İlk üç elemana ilk değer verilmiştir. Bu değişken global bir değişkense 4-10. elemanlar 0 değeri ile doldurulur. Eğer yerel değişken ise 4-10. elemanlar hafızada bulunan rasgele sayılardır.

Dizi Elemanlarına İlk Değer Verilmesi Dizinin uzunluğundan fazla elemana ilk değer verilmesi HATADIR. int a[3]={22, 23, 4,5,6};/* HATA*/ Dizi elemanlarına ancak sabit ifadeler ile ilkdeğer verilebilir. int a[3]={x, y, 4};/* HATA*/ Dizilere ilk değer verilirken dizi uzunluğu hiç yazılmayabilir. int a[ ]={22, 23, 4,5,6};/* DOĞRU*/

gets, puts fonksiyonları gets fonkisyonu klavyeden girilen karakterleri diziye yerleştirdikten sonra dizinin sonuna ‘\0’ sonlandırıcı karakterini koyar. 10 elemanlı bir dizi açmışsanız, diziye en fazla 9 elemanı gets ile yerleştirebilirsiniz.

#include <stdio.h> int main(void) { char dosya_ismi[128]; printf("Dosya ismi gir: "); gets(dosya_ismi); printf("%s \n", dosya_ismi); %puts(dosya_ismi);/*bunu da deneyin ve printf ile karsilastirin*/ return 0; } ornekgets.c programı ornekgets.c programını yazarar deneyiniz. Puts ve printf ile arasındaki farkı bulunuz.

gets, puts fonksiyonları Puts bir karakter dizisinin içeriğini ekrana yazdırmak için kullanılır. Puts ve printf işlevsel olarak eşdeğerdir.

/*bir tamsayi dizisinde bulunan elemanlarin sayisal toplamini bulan programdir. */ #include<stdio.h> int main(void) { int dizi[10]={20,30,80,55,100,60,80,90,10,60}; int toplam, k; for(k=0, toplam=0;k<10; ++k) toplam += dizi[k]; printf("toplam = %d\n", toplam); return 0; } diziornek.c programı