Programlama Dilleri 1. Ders 7: Dizgeler

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

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

STRİNG DİZİLER(KATARLAR)

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

scanf () Fonksiyonu Klavyeden veri okumak için kullanılır. Yapı olarak printf () fonksiyonu aynıdır. Kullanım biçimi:

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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.

C Konsol Giriş Çıkış Fonksiyonları

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I

Fonksiyonlar (Altprogram)

ALGORİTMA VE PROGRAMLAMA I

Programlama Dilleri 1. Ders 4: Diziler

Hafta 12 Karakter Tutan Diziler

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

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

Eln 1001 Bilgisayar Programlama I

Hazır Fonksiyonlar {\} /\ Suhap SAHIN Onur GÖK 1

/* Çember alanını hesaplar */

Diziler & Karakter Katarı (String)

Temel Giriş/Çıkış Fonksiyonları

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

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

Internet Programming II

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

Internet Programming II

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

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

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

PROGRAMLAMAYA GİRİŞ DERS 2

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

Strings(Karakter Dizisi)

Dr. Fatih AY Tel: fatihay@fatihay.net

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

Giriş. ENF102 Jeoloji

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

C Programlama Dilininin Basit Yapıları

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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

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

String Sınıfını Yönetmek

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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Görsel Programlama 1

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

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

Yrd. Doç. Dr. Caner ÖZCAN

Sınav tarihi : Süre : 60 dak.

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER

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

Adım Adım C. Dr. Hidayet Takcı

Veritabanı Tasarımı. Düzenli İfadeler

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

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı. A Grubu

ALGORİTMA VE PROGRAMLAMA II

C Programlama printf() Fonksiyonu

pfrintf fonksiyonu: Çıkışın formatlı olması ve bunun bir dosyaya yazdırılması durumlarında kullanılır. fprintf fonksiyonunun genel yazım biçimi,

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

MATLAB/Değişkene Değer Atamak

Eln 1002 Bilgisayar Programlama II

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

Giris {\} /\ Suhap SAHIN Onur GÖK

Programlama Dilleri Laboratuvarı

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

Nesne Tabanlı Programlama

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

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

C PROGRAMLAMA D İ L İ

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste

Dr. Fatih AY Tel: fatihay@fatihay.net

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

C Programlama. Öğr. Grv. Mustafa AKSOĞAN. Akçadağ MYO

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

Genel Programlama II

Diziler (Arrays) Çok Boyutlu Diziler

C++ Dersi: Nesne Tabanlı Programlama

Telefon Rehberi Uygulaması

NESNEYE YÖNELİK PROGRAMLAMA

C ile Uygulamalar 2 - Cevaplar

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

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

DOSYA İŞLEMLERİ Programlama dilleri hafta -

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

Yrd. Doç. Dr. Caner ÖZCAN

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

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Transkript:

Ders 7: Dizgeler

Genel Bakış Giriş Dizgeler Dizge Tanımı Dizge Girdi İşlemleri Dizge Fonksiyonları 2

Giriş Char tipindeki karakterlerin gruplanmış haline dizge (string) denir. Bazen katar ismi de kullanılabilir. C dilinde karakterlerin her biri aslında bir tamsayı ile ifade edilir. C dilinde dizgeler "dizge" şeklinde çift tırnak içerisinde yazılırlar. 3

Dizgeler Dizgeler " ve " şeklinde iki çift tırnak işareti arasında tanımlanmış olan sıralı karakterler bütünüdür. Dizge Açıklama "Merhaba" 7 karakterli dizge "Bu bir dizge" 12 karakterli dizge "B" 1 karakterli dizge "" Boş dizge 4

Dizgeler C dilinde bir dizge en sonuna \0 karakteri eklenmiş bir karakter dizisidir. "Programlama" P r o g r a m l a m a \0 Dizgenin sonu görüldüğü gibi null (boş) karakterdir. 5

Dizge Tanımı char dizi_adı[uzunluk]; char kelime[10]; 0 1 2 3 4 5 6 7 8 9 kelime kelime[0] = B ; kelime[1] = i ; kelime[2] = l ; kelime B i l \0 6

Dizge Tanımı Dizgeleri tanımlarken ilk değerini de atayabiliriz. char isim[20] = "MURAT" 0 1 2 3 4 5 19 isim M U R A T \0 isim[0] = E ; 0 1 2 3 4 5 19 isim E U R A T \0 7

Dizge Tanımı Dizge uzunluğunu tanımlama yaparken vermeden de ilk değerini atayabiliriz. char dergi[ ] = "Bilim Teknik"; dergi 0 1 2 3 4 5 6 7 8 9 10 11 12 B i l i m T e k n i k \0 8

Dizge Tanımı Örnek: char dizge[ ] = "Programlama Dilleri"; int sayac = 0; int i; for(i=0; dizge[i]!= \0 ;i++) sayac++; printf("%s %d karakter icerir.",dizge,sayac); Çıktı: 9 karakter içerir. 9

Dizge Girdi İşlemleri Girdi işlemi scanf() fonksiyonu ile girilen değer içinde enter a basılana kadar devam eder. Örnek: scanf("%s",dizge_adi); char kelime[25]; scanf("%s",kelime); Girdi teknoloji soru sor Kelime t e k n o l o j i \0 s o r u \0 10

Dizge Girdi İşlemleri char kelime[15]; scanf("%7s",kelime); //programlama printf("%s\n",kelime); // program 15 elemanlı bir katara maksimum 7 eleman girilmesini sağlamak. 11

gets() fonksiyonu gets() fonksiyonu enter ya da girdi sonunu belirleyen (ctrl+z) karakterini görünceye kadar girdiyi okumaya devam eder ve okuduğu değerin sonuna boş karakterini \0 otomatik ekleyerek dizge_adı na bu değeri atar. gets(char *dizge_adı); 12

gets( ) fonksiyonu Örnek: char dizge[30]; gets(dizge); Girdi cumle prg giris Not: gets( ) ile girdi alırken boşluk bırakılabilir. p r g g i r i s \0 13

puts( ) fonksiyonu puts( ) fonksiyonu standart çıktı birimine yani ekrana dizginin değerinin bastırılmasını sağlar ve daha sonra yeni satır karakterini otomatik olarak çıktının sonuna ekler. puts(char *dizge_adı); 14

puts( ) fonksiyonu Örnek: char dizgi1[15] = "Bilecik"; char dizgi2[ ] = "Universitesi"; puts(dizgi1); puts(dizgi2); Çıktı: Bilecik Universitesi 15

sprintf() fonksiyonu Farklı değişkenlerin değerini belirli bir format dizgisine uygun olarak yeni bir dizginin içine kopyalar. sprintf (char *dizgi_adı, format_dizgisi, liste); 16

sprintf() fonksiyonu Örnek: float benzin = 47.0; float km = 300; char benzin_km[80]; sprintf(benzin_km,"%5.3f lt. benzin yakiyor", km/benzin); printf ("%s ", benzin_km); Çıktı: 6.383 lt. benzin yakiyor 17

strlen() fonksiyonu Dizgi işleme amacıyla hazırlanmış programlarda kolaylık sağlayabilecek bir çok fonksiyon <string.h> kütüphanesi içinde tanımlanmıştır. Bir dizginin içindeki karakter sayısını bulmak için strlen() fonksiyonu kullanılır. strlen(char *dizge_adı); Örnek: int uzunluk; 6 char dizgi[10] = Mehmet uzunluk = strlen(dizgi); 18

strcpy() fonksiyonu strcpy() fonksiyonu dizgi kopyalama fonksiyonudur. strcpy (char *dizge2_adı, char * dizge1_adı); Örnek: /*dizge1 i dizge2 ye kopyalama işlemi*/ char dizge1[20] = "Programlama"; char dizge2[15]; // Boyut farklı olabilir. strcpy(dizge2,dizge1); 19

strncpy() fonksiyonu Bu fonksiyon dizgi1 in içindeki ilk n karakterin dizgi2 ye kopyalanmasını sağlar. strncpy (char *dizgi2, char *dizgi1, n); Örnek: char ad[50] = "Ahmet Mehmet Ayse"; char ilkad[20]; char ortaad[20]; strncpy(ilkad,ad,5); strncpy(ortaad,ad+6,6); /* 6. karakterden itibaren 6 harf */ 20

strcat() fonksiyonu Bir dizgenin sonuna diğer bir dizgenin yapıştırılmasını sağlar. strcat (char *dizge1, char *dizge2); Örnek: char dizgi1[20]="merhaba"; char dizgi2[20]= Nasilsiniz? ; strcat(dizgi1, dizgi2); dizgi1 in yeni hali "Merhaba Nasilsiniz?" olur. 21

strncat() fonksiyonu dizgi2_adı nın ilk n karakterinin dizgi1_adı nın sonuna yapıştırılmasını sağlar. strncat (char *dizgi1_adı, char *dizgi2_adı, n); Örnek: char dizgi1[20]="iyi gunler "; char dizgi2[20]= Nasilsiniz? ; strncat (dizgi1, dizgi2, 5); printf ("\ndizgi 1: %s ",dizgi1); printf ("\ndizgi 2: %s ",dizgi2); Çıktı: dizgi 1: iyi gunler Nasil dizgi 2: Nasilsiniz? 22

strcmp () fonksiyonu İki dizgenin karşılaştırılmasını sağlar. int strcmp(const char *s1, const char *s2); dizge1 dizge2 strcmp(dizge1,dizge2) kopek araba 1 kedi zambak -1 kedi kedi 0 değerlerini geri döndürür. Alfabetik sıralamalarda kullanılan önemli bir fonksiyondur. 23

strncmp() fonksiyonu İki dizginin ilk n karakterlerinin karşılaştırılmasını sağlar. strncmp (char * dizgi1_adı, char * dizgi2_adı, unsigned int n); Örnek: char dizgi1[13]="iyi gunler "; char dizgi2[13]= "iyi misiniz?"; printf ("\n%d ",strncmp (dizgi1, dizgi2, 3)); Çıktı: 0 İki dizgenin ilk 3 karakteri aynı 24

strstr() fonksiyonu Bir dizginin içinde diğer bir dizgiyi arar. strstr(char *dizgi1_adı, char *dizgi2_adı); Örnek: char dizgi1[13]="iyi gunler "; char dizgi2[13]= "gun"; if (strstr (dizgi1, dizgi2) == '\0') printf ("dizgi2 dizgi1 in icinde YOK"); else printf ("dizgi2 dizgi1 in icinde VAR"); Çıktı: dizgi2 dizgi1 in icinde VAR 25

Bazı Dizge Fonksiyonları char k olmak üzere; Fonksiyon Döndürdüğü Değer isalpha(k) k bir harf ise, sıfırdan farklı, diğer durumlarda sıfır isdigit(k) k bir sayı ise, sıfırdan farklı, diğer durumlarda sıfır islower(k) k küçük bir harf ise, sıfırdan farklı, diğer durumlarda sıfır. isupper(k) k büyük bir harf ise, sıfırdan farklı, diğer durumlarda sıfır isspace(k) k boşluk, yeni satır veya tab karakteri gibi bir karakterse, sıfırdan farklı, diğer durumlarda sıfır karşılığı toupper(k) k nın değerinin büyük harf karşılığı 26