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

Benzer belgeler
Strings(Karakter Dizisi)

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

STRİNG DİZİLER(KATARLAR)

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

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.

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

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

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

PROGRAMLAMAYA GİRİŞ DERS 2

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Ders 5: Temel Kütüphane Fonksiyonlar

/* Çember alanını hesaplar */

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

BLM 111 ALGORİTMA VE PROGRAMLAMA I

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

BÖLÜM 9: POINTERLER (İŞARETÇİLER)

C ile Uygulamalar 2 - Cevaplar

C ile Uygulamalar 3 - Cevaplar

Diziler & Karakter Katarı (String)

Programlama Dilleri 1. Ders 5: Göstericiler

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

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

Giriş. ENF102 Jeoloji

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

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

Telefon Rehberi Uygulaması

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

BİL1001 Bilgisayar Bilimlerine Giriş 1

Fonksiyonlar (Altprogram)

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

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

ALGORİTMA VE PROGRAMLAMA I

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

Hafta 12 Karakter Tutan Diziler

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

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

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

C ile Uygulamalar 4 - Cevaplar

ALGORİTMA VE PROGRAMLAMA I

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

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

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

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

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

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

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

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

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

C Programlama printf() Fonksiyonu

C Konsol Giriş Çıkış Fonksiyonları

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İ

Java String İşlemleri

ALGORİTMA VE PROGRAMLAMA I

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

ELN1001 BİLGİSAYAR PROGRAMLAMA I

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf("deger girin:"); scanf("%f", p); printf("girilen deger:%f\n", *p);

Programlama Dilleri Laboratuvarı

Programlama Dilleri 1. Ders 4: Diziler

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

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

NESNEYE YÖNELİK PROGRAMLAMA

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

Temel Giriş/Çıkış Fonksiyonları

FONKSİYONLAR. [geri dönüş değeri] <fonksiyon ismi>([paramatre]) { ANABLOK }

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

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

NOT: Bu kodlar çeşitli internet siteleri, üniversite siteleri ve ders kitaplarından derlenerek hazırlanmıştır.

C Programlama Dilininin Basit Yapıları

Final Sınavı Soruları Güz, Süre: 90 Dakika

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

Görsel Programlama 1

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

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

C PROGRAMLAMA D İ L İ

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

Eln 1002 Bilgisayar Programlama II

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

Döngü ve Koşul Deyimleri

menu(besleme,toplam_odul,array,tercih,puan);//deger dondurmeyen fonksiyon cagiriliyor...

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

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

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int ID; char isim[15]; char soyisim[15];

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

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

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

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

C++ Dersi: Nesne Tabanlı Programlama

Pointer Kavramı. Veri Yapıları

Eln 1001 Bilgisayar Programlama I

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

Biçem Belirteçleri (Format Specifiers)

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

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

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

BLM 111 ALGORİTMA VE PROGRAMLAMA I

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr.

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

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Transkript:

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

string kutuphaneleri https://www.tutorialspoint.com/c_standard_library/ctype_h.htm 2

isdigit #include <ctype.h> char c1; printf("karakter girin: "); scanf(" %c", &c1); if ( isdigit(c1) ) printf("%c karakteri rakamdir\n", c1); else printf("%c karakter rakam degildir\n", c1); 3

isdigit #include <ctype.h> char c1; printf("karakter girin: "); scanf(" %c", &c1); if ( isdigit(c1) ) printf("%c karakteri rakamdir\n", c1); else printf("%c karakter rakam degildir\n", c1); 4

ispunct #include <ctype.h> char c1; printf("karakter girin: "); scanf(" %c", &c1); if ( ispunct(c1) ) printf("%c karakteri noktalama isaretidir\n", c1); else printf("%c karakter noktalama isareti degildir\n", c1); 5

isalpha & (isupper, islower) #include <ctype.h> char c1; printf("karakter girin: "); scanf(" %c", &c1); if ( isalpha(c1) ) { if ( isupper(c1) ) // buyuk harf ise, kucuk harfi yaz printf("kucuk harf karsiligi: %c\n", tolower(c1)); if ( islower(c1) ) // kucuk harf ise, buyuk harfi yaz printf("buyuk harf karsiligi: %c\n", toupper(c1)); 6

isalpha & (isupper, islower) #include <ctype.h> char c1; printf("karakter girin: "); scanf(" %c", &c1); if ( isalpha(c1) ) { if ( isupper(c1) ) // buyuk harf ise, kucuk harfi yaz printf("kucuk harf karsiligi: %c\n", tolower(c1)); if ( islower(c1) ) // kucuk harf ise, buyuk harfi yaz printf("buyuk harf karsiligi: %c\n", toupper(c1)); 7

String çevrime fonk. atoi : string integer atol : string long atof : string double strtod(s, ptr) : s(string) double Çevrilemeyen ilk karakterin adresini ptr isimli pointera atar. strtol(s, ptr) : s(string) double Çevrilemeyen ilk karakterin adresini ptr isimli pointera atar. 8

atoi & atol & atof #include <stdlib.h> // atio, atof, atol gibi fonksiyonlar stdlib'dedir char s[50]; int x; long y; double z; // kucuk sayilarla ve 15-20 basamakli sayilarla test edin // sonra kesirli sayilarla test edin printf("sayi girin: "); gets(s); x = atoi(s); // stringin icerigini integer a cevirir y = atol(s); // stringin icerigini long a cevirir z = atof(s); // stringin icerigini double a cevirir printf("int: %d\n", x); printf("long: %ld\n", y); printf("double: %lf\n", z); 9

strtod & strtol #include <stdlib.h> int main () { char str[30] = "20.30300 Bu kısım yazıdır"; char *cevilemeyen_kisim; double cevrilen_kisim; cevrilen_kisim = strtod(str, &cevilemeyen_kisim); printf("çevrilen kısım: %f \n", cevrilen_kisim); printf("çevrilmeyen kısım: %s ", cevilemeyen_kisim); return(0); 10

String karsılastırma fonk. Kullanılısı; strcmp(s1, s2) Geri dönüs degeri; s1 ve s2 string lerini karsılastırır Esitse 0 Alfabetik olarak s1 < s2 ise negatif sayı döndürür Alfabetik olarak s1 > s2 ise negatif sayı döndürür 11

String karsılastırma fonk. char s1[100] = "aaaa"; // yanlis kullanim, bu sekilde karsilastirma yapilamaz if (s1 == "aaaa") printf("esit\n"); else printf("esit degil\n"); printf("%u\n", s1); printf("%u\n", "aaaa"); printf("\n"); 12

String karsılastırma fonk. char s1[100] = "aaaa"; // yanlis kullanim, bu sekilde karsilastirma yapilamaz if (s1 == "aaaa") printf("esit\n"); else printf("esit degil\n"); printf("%u\n", s1); printf("%u\n", "aaaa"); printf("\n"); 13

strcmp char yazi1[10] = "test"; char yazi2[10] = "test"; printf("yazi1: %s\n", yazi1); printf("yazi2: %s\n",yazi2); if (yazi1 == yazi2) printf("yazi1 ve yazi2 esit\n"); else printf("yazi1 ve yazi2 esit degil\n"); printf("yazi1: %u\n", yazi1); printf("yazi2: %u\n", yazi2); int sonuc = strcmp(yazi1, yazi2); if (sonuc == 0) printf("yazi1 ve yazi2 esit\n"); else if (sonuc < 0) printf("alfabetik olarak yazi1 < yazi2\n"); else printf("alfabetik olarak yazi1 > yazi2\n"); 14

strcmp char yazi1[10] = "test"; char yazi2[10] = "test"; printf("yazi1: %s\n", yazi1); printf("yazi2: %s\n",yazi2); if (yazi1 == yazi2) printf("yazi1 ve yazi2 esit\n"); else printf("yazi1 ve yazi2 esit degil\n"); printf("yazi1: %u\n", yazi1); printf("yazi2: %u\n", yazi2); int sonuc = strcmp(yazi1, yazi2); if (sonuc == 0) printf("yazi1 ve yazi2 esit\n"); else if (sonuc < 0) printf("alfabetik olarak yazi1 < yazi2\n"); else printf("alfabetik olarak yazi1 > yazi2\n"); 15

strcmp char yazi1[10] = "test"; char yazi2[10] = "test"; printf("yazi1: %s\n", yazi1); printf("yazi2: %s\n",yazi2); if (yazi1 == yazi2) printf("yazi1 ve yazi2 esit\n"); else printf("yazi1 ve yazi2 esit degil\n"); printf("yazi1: %u\n", yazi1); printf("yazi2: %u\n", yazi2); int sonuc = strcmp(yazi1, yazi2); if (sonuc == 0) printf("yazi1 ve yazi2 esit\n"); else if (sonuc < 0) printf("alfabetik olarak yazi1 < yazi2\n"); else printf("alfabetik olarak yazi1 > yazi2\n"); 16

strcmp int sonuc; sonuc = strcmp("telefon", "tablet"); if (sonuc == 0) printf("a ve b esit\n"); else if (sonuc < 0) printf("alfabetik olarak telefon < tablet\n"); else printf("alfabetik olarak telefon > tablet\n"); printf("\n"); 17

strcmp int sonuc; sonuc = strcmp("telefon", "tablet"); if (sonuc == 0) printf("a ve b esit\n"); else if (sonuc < 0) printf("alfabetik olarak telefon < tablet\n"); else printf("alfabetik olarak telefon > tablet\n"); printf("\n"); 18

strcmp int sonuc; sonuc = strcmp("telefon", "tablet"); if (sonuc == 0) printf("a ve b esit\n"); else if (sonuc < 0) printf("alfabetik olarak telefon < tablet\n"); else printf("alfabetik olarak telefon > tablet\n"); printf("\n"); 19

strcmp int sonuc; sonuc = strcmp("telefon", "tablet"); if (sonuc == 0) printf("a ve b esit\n"); else if (sonuc < 0) printf("alfabetik olarak telefon < tablet\n"); else printf("alfabetik olarak telefon > tablet\n"); printf("\n"); 20

String kopyalama fonk. strcpy(s2, s1): strcat(s2, s1): s1 stringini s2 ye kopyalar s1 stringini s2 nin sonuna ekler 21

strcpy char s1[100] = "aa bbb cc"; char s2[100]; int karakter_sayisi = strlen(s1); printf("strlen(s1) : %d\n", karakter_sayisi); // s1'i s2'ye kopyalar strcpy(s2, s1); printf("s1: %s\n", s1); printf("s2: %s\n", s2); 22

strcpy char s1[100] = "aa bbb cc"; char s2[100]; int karakter_sayisi = strlen(s1); printf("strlen(s1) : %d\n", karakter_sayisi); // s1'i s2'ye kopyalar strcpy(s2, s1); printf("s1: %s\n", s1); printf("s2: %s\n", s2); 23

strcpy char s1[100] = "aa bbb cc"; char s2[100]; int karakter_sayisi = strlen(s1); printf("strlen(s1) : %d\n", karakter_sayisi); // s1'i s2'ye kopyalar strcpy(s2, s1); printf("s1: %s\n", s1); printf("s2: %s\n", s2); 24

strcat char s1[100] = "aa bbb cc"; char s2[100]; strcpy(s1, "test 1 "); strcpy(s2, "deneme 2 "); printf("s1: %s\n", s1); printf("s2: %s\n", s2); strcat(s1, s2); printf("strcat(s1, s2) sonrasinda\n"); printf("s1: %s\n", s1); printf("s2: %s\n", s2); 25

strcat char s1[100] = "aa bbb cc"; char s2[100]; strcpy(s1, "test 1 "); strcpy(s2, "deneme 2 "); printf("s1: %s\n", s1); printf("s2: %s\n", s2); strcat(s1, s2); printf("strcat(s1, s2) sonrasinda\n"); printf("s1: %s\n", s1); printf("s2: %s\n", s2); 26

strcpy char s1[100] = "aa bbb cc"; char s2[100]; strcpy(s1, "test 1 "); strcpy(s2, "deneme 2 "); strcpy(s1+strlen(s1), s2); printf("strcpy(s1+strlen(s1), s2) sonrasinda\n"); printf("s1: %s\n", s1); printf("s2: %s\n", s2); 27

strcpy char s1[100] = "aa bbb cc"; char s2[100]; strcpy(s1, "test 1 "); strcpy(s2, "deneme 2 "); strcpy(s1+strlen(s1), s2); printf("strcpy(s1+strlen(s1), s2) sonrasinda\n"); printf("s1: %s\n", s1); printf("s2: %s\n", s2); 28

string arama strchr(s, c) : s içerisinde c karakterini arar. Bulundugu yeri tutan isaretçiyi döndürür. Yoksa NULL (0 adresi) pointer döndürür. strstr(s1, s2) : s1 içerisinde s2 stringini arar. Bulundugu yeri tutan isaretçiyi döndürür. Yoksa NULL pointer döndüdür. 29

strchr char cumle[100]; char karakter; printf("cumle girin:\n"); gets(cumle); printf("aranan karakteri girin:\n"); scanf("%c", &karakter); char *ilk_gectigi_ptr = strchr(cumle, karakter); if (ilk_gectigi_ptr == NULL) printf("yok\n"); else printf("ilk gectigi index: %d\n", ilk_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,ilk_gectigi_ptr); char *son_gectigi_ptr = strrchr(cumle, karakter); if (son_gectigi_ptr == NULL) printf("yok\n"); else printf("son gectigi index: %d\n", son_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,son_gectigi_ptr); 30

strchr char cumle[100]; char karakter; printf("cumle girin:\n"); gets(cumle); printf("aranan karakteri girin:\n"); scanf("%c", &karakter); char *ilk_gectigi_ptr = strchr(cumle, karakter); if (ilk_gectigi_ptr == NULL) printf("yok\n"); else printf("ilk gectigi index: %d\n", ilk_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,ilk_gectigi_ptr); char *son_gectigi_ptr = strrchr(cumle, karakter); if (son_gectigi_ptr == NULL) printf("yok\n"); else printf("son gectigi index: %d\n", son_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,son_gectigi_ptr); 31

strchr char cumle[100]; char karakter; printf("cumle girin:\n"); gets(cumle); printf("aranan karakteri girin:\n"); scanf("%c", &karakter); char *ilk_gectigi_ptr = strchr(cumle, karakter); if (ilk_gectigi_ptr == NULL) printf("yok\n"); else printf("ilk gectigi index: %d\n", ilk_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,ilk_gectigi_ptr); char *son_gectigi_ptr = strrchr(cumle, karakter); if (son_gectigi_ptr == NULL) printf("yok\n"); else printf("son gectigi index: %d\n", son_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,son_gectigi_ptr); 32

strchr char cumle[100]; char karakter; printf("cumle girin:\n"); gets(cumle); printf("aranan karakteri girin:\n"); scanf("%c", &karakter); char *ilk_gectigi_ptr = strchr(cumle, karakter); if (ilk_gectigi_ptr == NULL) printf("yok\n"); else printf("ilk gectigi index: %d\n", ilk_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,ilk_gectigi_ptr); char *son_gectigi_ptr = strrchr(cumle, karakter); if (son_gectigi_ptr == NULL) printf("yok\n"); else printf("son gectigi index: %d\n", son_gectigi_ptr-cumle); printf(" %c den sonraki yazı - %s \n", karakter,son_gectigi_ptr); 33

strstr char cumle[200]; char aranan[20]; printf("cumle girin:\n"); gets(cumle); printf("aranani girin:"); scanf("%s", aranan); char *ara_ptr = strstr(cumle, aranan); if (ara_ptr == NULL) printf("\nyok\n"); else printf("\nilk gectigi index: %d\n", ara_ptr-cumle); 34

strstr char cumle[200]; char aranan[20]; printf("cumle girin:\n"); gets(cumle); printf("aranani girin:"); scanf("%s", aranan); char *ara_ptr = strstr(cumle, aranan); if (ara_ptr == NULL) printf("\nyok\n"); else printf("\nilk gectigi index: %d\n", ara_ptr-cumle); 35

char cumle[200]; char aranan[20]; printf("cumle girin:\n"); gets(cumle); printf("aranani girin:"); scanf("%s", aranan); strstr int sayac = 0; char *ara_ptr = strstr(cumle, aranan); while (ara_ptr!= NULL) { printf("yer: %d\n", ara_ptr-cumle); sayac++; // bir sonraki karkaterden itibaren tekrar ariyoruz ara_ptr = strstr(ara_ptr+1, aranan); printf("cumlede %d kere geciyor\n", sayac); 36

char cumle[200]; char aranan[20]; printf("cumle girin:\n"); gets(cumle); printf("aranani girin:"); scanf("%s", aranan); strstr int sayac = 0; char *ara_ptr = strstr(cumle, aranan); while (ara_ptr!= NULL) { printf("yer: %d\n", ara_ptr-cumle); sayac++; // bir sonraki karkaterden itibaren tekrar ariyoruz ara_ptr = strstr(ara_ptr+1, aranan); printf("cumlede %d kere geciyor\n", sayac); 37

char cumle[200]; char aranan[20]; printf("cumle girin:\n"); gets(cumle); printf("aranani girin:"); scanf("%s", aranan); strstr int sayac = 0; char *ara_ptr = strstr(cumle, aranan); while (ara_ptr!= NULL) { printf("yer: %d\n", ara_ptr-cumle); sayac++; // bir sonraki karkaterden itibaren tekrar ariyoruz ara_ptr = strstr(ara_ptr+1, aranan); printf("cumlede %d kere geciyor\n", sayac); 38

char cumle[200]; char aranan[20]; printf("cumle girin:\n"); gets(cumle); printf("aranani girin:"); scanf("%s", aranan); strstr int sayac = 0; char *ara_ptr = strstr(cumle, aranan); while (ara_ptr!= NULL) { printf("yer: %d\n", ara_ptr-cumle); sayac++; // bir sonraki karkaterden itibaren tekrar ariyoruz ara_ptr = strstr(ara_ptr+1, aranan); printf("cumlede %d kere geciyor\n", sayac); 39

strtok char cumle[200] = "Bu ornek;noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar. Bu cumle,test icin yazilmistir."; const char *ayrac = ".,;"; // bosluk, nokta ve virgul, noktali virgul... char *kelime = strtok(cumle, ayrac); while (kelime!= NULL) { printf("%s\n", kelime); Bu ornek noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar Bu cumle test icin yazilmistir kelime = strtok(null, ayrac); 40

strtok char cumle[200] = "Bu ornek;noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar. Bu cumle,test icin yazilmistir."; const char *ayrac = ".,;"; // bosluk, nokta ve virgul, noktali virgul... char *kelime = strtok(cumle, ayrac); while (kelime!= NULL) { printf("%s\n", kelime); Bu ornek noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar Bu cumle test icin yazilmistir kelime = strtok(null, ayrac); 41

strtok char cumle[200] = "Bu ornek;noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar. Bu cumle,test icin yazilmistir."; const char *ayrac = ".,;"; // bosluk, nokta ve virgul, noktali virgul... char *kelime = strtok(cumle, ayrac); while (kelime!= NULL) { printf("%s\n", kelime); Bu ornek noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar Bu cumle test icin yazilmistir kelime = strtok(null, ayrac); 42

strtok char cumle[200] = "Bu ornek;noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar. Bu cumle,test icin yazilmistir."; const char *ayrac = ".,;"; // bosluk, nokta ve virgul, noktali virgul... char *kelime = strtok(cumle, ayrac); while (kelime!= NULL) { printf("%s\n", kelime); Bu ornek noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar Bu cumle test icin yazilmistir kelime = strtok(null, ayrac); 43

strtok char cumle[200] = "Bu ornek;noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar. Bu cumle,test icin yazilmistir."; const char *ayrac = ".,;"; // bosluk, nokta ve virgul, noktali virgul... char *kelime = strtok(cumle, ayrac); while (kelime!= NULL) { printf("%s\n", kelime); Bu ornek noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar Bu cumle test icin yazilmistir kelime = strtok(null, ayrac); 44

strtok char cumle[200] = "Bu ornek;noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar. Bu cumle,test icin yazilmistir."; const char *ayrac = ".,;"; // bosluk, nokta ve virgul, noktali virgul... char *kelime = strtok(cumle, ayrac); while (kelime!= NULL) { printf("%s\n", kelime); Bu ornek noktalama isaretlerini ve bosluklari kullanarak cumleyi parcalar Bu cumle test icin yazilmistir kelime = strtok(null, ayrac); 45

Dizilerde islem yapmak memcpy(a, b, size): b'yi a'ya kopyalar. size dizinin bellekteki boyutu. memset : diziye char boyutunda sabit bir deger atar. 46

Dizilerde islem yapmak int i; /************* string dizisi ****************/ // 5 tane 20 karakterlik string dizisi char string_dizisi[5][20]; for (i = 0 ; i < 5 ; i++) { printf("%d. kelimeyi girin: ",i+1); scanf("%s", string_dizisi[i]); printf("girilen kelimeler:\n"); for (i = 0 ; i < 5 ; i++) printf("%s\n", string_dizisi[i]); printf("\n"); 100 101 102 103 104 105 0 1 2 3 4 106 47

Dizilerde islem yapmak int i; /************* string dizisi ****************/ // 5 tane 20 karakterlik string dizisi char string_dizisi[5][20]; for (i = 0 ; i < 5 ; i++) { printf("%d. kelimeyi girin: ",i+1); scanf("%s", string_dizisi[i]); printf("girilen kelimeler:\n"); for (i = 0 ; i < 5 ; i++) printf("%s\n", string_dizisi[i]); printf("\n"); 100 101 102 103 104 105 0 1 2 3 4 y a z i 1 y a z i y a z y a y a z i 5 106 48

Dizilerde islem yapmak int i; /************* string dizisi ****************/ // 5 tane 20 karakterlik string dizisi char string_dizisi[5][20]; for (i = 0 ; i < 5 ; i++) { printf("%d. kelimeyi girin: ",i+1); scanf("%s", string_dizisi[i]); printf("girilen kelimeler:\n"); for (i = 0 ; i < 5 ; i++) printf("%s\n", string_dizisi[i]); printf("\n"); 100 101 102 103 104 105 0 1 2 3 4 y a z i 1 y a z i y a z y a y a z i 5 106 49

memcmp /************* dizi karsilastirma ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_2[5] = {1,2,3,4,5; if (dizi_1 == dizi_2) //HATA!!! bu sekilde kullanilamaz printf("esit\n"); else printf("esit degil\n"); int sonuc = memcmp(dizi_1, dizi_2, sizeof(int)*5); if (sonuc == 0) printf("esit\n"); else printf("esit degil\n"); printf("\n"); 50

memcmp /************* dizi karsilastirma ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_2[5] = {1,2,3,4,5; if (dizi_1 == dizi_2) printf("esit\n"); else printf("esit degil\n"); int sonuc = memcmp(dizi_1, dizi_2, sizeof(int)*5); if (sonuc == 0) printf("esit\n"); else printf("esit degil\n"); printf("\n"); 51

memcmp /************* dizi karsilastirma ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_2[5] = {1,2,3,4,5; if (dizi_1 == dizi_2) //HATA!!! bu sekilde kullanilamaz printf("esit\n"); else printf("esit degil\n"); int sonuc = memcmp(dizi_1, dizi_2, sizeof(int)*5); if (sonuc == 0) printf("esit\n"); else printf("esit degil\n"); printf("\n"); 52

memcpy /************* dizi kopyalama ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; // dizi_1'yi dizi_3'e kopyalar memcpy(dizi_3, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 53

memcpy /************* dizi kopyalama ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; // dizi_1'yi dizi_3'e kopyalar memcpy(dizi_3, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 54

memcpy /************* dizi kopyalama ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; // dizi_1'yi dizi_3'e kopyalar memcpy(dizi_3, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 55

memcpy /************* dizi kopyalama ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; // dizi_1'yi dizi_3'e kopyalar memcpy(dizi_3, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 56

memcpy /************* dizi kopyalama ****************/ int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; // dizi_1'yi dizi_3'e kopyalar memcpy(dizi_3, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 57

memset /************* dizi sifirlama ****************/ int dizi_1[5] = {1,2,3,4,5; // dizi_3'u sifirlar memset(dizi_1, 0, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 5 ; i++) printf("%d ", dizi_1[i]); printf("\n\n"); 58

memset /************* dizi sifirlama ****************/ int dizi_1[5] = {1,2,3,4,5; // dizi_3'u sifirlar memset(dizi_1, 0, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 5 ; i++) printf("%d ", dizi_1[i]); printf("\n\n"); 59

memset /************* dizi sifirlama ****************/ int dizi_1[5] = {1,2,3,4,5; // dizi_3'u sifirlar memset(dizi_1, 0, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 5 ; i++) printf("%d ", dizi_1[i]); printf("\n\n"); 60

memcpy int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; /************* diziye ortadan kopyalama ****************/ // dizi_3'un 3. elemanindan itibaren dizi_1'i atamak istiyoruz // dizi_3'un [2,7] arasina dizi_1'in [0,4] arasini atamak memcpy(dizi_3+2, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 61

memcpy int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; /************* diziye ortadan kopyalama ****************/ // dizi_3'un 3. elemanindan itibaren dizi_1'i atamak istiyoruz // dizi_3'un [2,7] arasina dizi_1'in [0,4] arasini atamak memcpy(dizi_3+2, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 62

memcpy int dizi_1[5] = {1,2,3,4,5; int dizi_3[9] = {0; /************* diziye ortadan kopyalama ****************/ // dizi_3'un 3. elemanindan itibaren dizi_1'i atamak istiyoruz // dizi_3'un [2,7] arasina dizi_1'in [0,4] arasini atamak memcpy(dizi_3+2, dizi_1, sizeof(int)*5); // dizi_3'u ekrana yaz for (int i = 0 ; i < 9 ; i++) printf("%d ", dizi_3[i]); printf("\n\n"); 63

Sorular 64