際際滷

際際滷Share a Scribd company logo
D聴ZGELER  KARAKTER D聴Z聴LER聴
programlama dilleri 1
- 4. hafta -
Ara. G旦r. Nesibe YALIN
B聴LEC聴K EYH EDEBAL聴 N聴VERS聴TES聴
MHEND聴SL聴K FAKLTES聴
B聴LG聴SAYAR MHEND聴SL聴聴 BLM
2
Karakter Dizileri
 char tipli karakterlerden oluan ve en sonuna 0
(bo, NULL) karakteri eklenmi dizilerdir.
 string, katar, dizge, dizgi de denir.
 Karakterler ?, 1, t, + eklinde tek t脹rnak i巽erisinde
yaz脹l脹r, dizgeler Bilecik eklinde 巽ift t脹rnak i巽erisinde
yaz脹l脹rlar.
 Bilecik = {B, i, l, e, c, i, k, 0}
3
Deer Atama
char a[] =C dili;
Derleyici, karakter say脹s脹na g旦re otomatik
olarak dizi boyutunu ayarl脹yor.
0 1 2 3 4 5 6
C d i l i 0
Adres Veri
0x00
0x01 67 C
0x02 32  
0x03 100 d
0x04 105 i
0x05 108 l
0x06 105 i
0x07 0 0
0x08
0x09
0x10
0x14
Derleyici
4
Deer Atama
char a[]={'C',' ','d','i','l','i','0'};
char x[] =programlama;
char x[]; //hatal脹
NOT: Fonksiyonlarda girdi olarak kullan脹labilir.
char x[25];
x[]=programlama; //hatal脹
x=programlama; //hatal脹
 ok boyutlu dizilerde;
 char isim[5][8] = {Ayse, Hamdi, Burak, Leyla, Ahmet};
 char sehir[][10] = {Ankara, Sakarya, Yozgat, Konya};
 Stringlerde dorudan kullan脹lmayan karakterler:
 ift t脹rnak karakterini ekrana yaz: 
 Tek t脹rnak karakterini ekrana yaz: 
 Ters b旦l端 karakterini ekrana yaz: 
 Y端zde karakterini ekrana yaz: %%
5
Deer Atama
6
Karakter Dizileri
#include <stdio.h>
#include <conio.h>
void main() {
char a[]="C dili";
int i=0;
while(a[i]!='0'){
printf("%c",a[i]);
i++; }
getch (); }
#include <stdio.h>
#include <conio.h>
void main() {
char a[]="C dili";
for(int i=0; i<6;i++)
printf("%c",a[i]);
getch (); }
#include <stdio.h>
#include <conio.h>
void main() {
char a[]="C dili";
printf("%s",a);
getch (); }
7
Karakter Dizileri
#include <stdio.h>
#include <conio.h>
void main() {
char a[]="C dili";
printf("%sn",a);
a[3]='0';
printf("%s",a);
getch (); }
8
Karakter Dizileri
#include <stdio.h>
#include <conio.h>
void main() {
char a[]="C dili";
printf("%sn",a);
a[6]=m';
printf("%s",a);
getch (); }
 puts(char str []): Ekrana stringi ekrana yazd脹rd脹ktan
sonra imleci bir sonraki sat脹ra ge巽irir.
#include <stdio.h>
#include <conio.h>
void main() {
char bolum[10]="bilgisayar";
printf("%s",bolum);
// puts(bolum);
getch (); }
9
String Fonksiyonlar脹
 gets(char str[]): Girdi olarak string almak i巽in
kullan脹l脹r, stringin sonuna 0, null karakterini
otomatik olarak ekler.
#include <stdio.h>
#include <conio.h>
void main() {
char bolum[10];
scanf("%s",bolum);
// gets(bolum);
getch (); }
10
String Fonksiyonlar脹
 string.h k端t端phanesinde yer alanlar:
 strlen(char str[]): Bir string (dizge) i巽indeki karakter
say脹s脹n脹 bulmak i巽in kullan脹l脹r.
int adet=0;
while(str[adet]!=0)
adet++;
ya da
adet=strlen(str);
11
String Fonksiyonlar脹
 strcpy(char str1[],char str2[]): str2 stringini str1
stringine kopyalama ilemini yapar.
char ad[10];
strcpy(ad,"elanur");
 strncpy(char str1[],char str2[],int n): str2
stringindeki ilk n adet karakteri str1 stringine
kopyalama ilemini yapar.
12
String Fonksiyonlar脹
 strcat(char str1[],char str2[]): str1 stringinin sonuna
str2 stringinin eklenmesini salar.
char str1[10]= s脹n脹f;
char str2[10]= C112;
strcat(str1, str2);
str1 in yeni hali s脹n脹f C112
 strncat(char str1[],char str2[],int n): str1 stringinin
sonuna str2 stringinin ilk n karakterinin eklenmesini
salar.
13
String Fonksiyonlar脹
 strcmp(char str1[],char str2[]): str1 ve str2
stringlerini kar脹lat脹r脹r: Eit ise 0, str1 stringi s旦zl端kte
daha 旦nce geliyorsa -1, str2 stringi daha 旦nce
geliyorsa 1 deerini d旦nd端r端r.
 strcmp(Ankara, Ankara)  0
 strcmp(Ankara, Antalya)  -1
 strcmp(Antalya, Ankara)  1
 strncmp(char str1[],char str2[],int n): str1 ve str2
stringlerinin ilk n karakterlerinin kar脹lat脹r脹lmas脹n脹
salar.
14
String Fonksiyonlar脹
 strrev(char str1[]): str1 stringini ters 巽evirir.
 strstr(char str1[],char str2[]): str1 stringi i巽inde str2
stringini arar, ilk kar脹lat脹脹 yeri verir.
15
String Fonksiyonlar脹
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main() {
char girdi[20];
puts("Bir string girin: ");
gets(girdi);
printf("%sn",strstr(girdi,"al"));
getch (); }
 strchr(char str1[],char x): str1 stringi i巽inde x
karakterini arar, ilk kar脹lat脹脹 yeri verir.
16
String Fonksiyonlar脹
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
char girdi[20];
puts("Bir string girin: ");
gets(girdi);
printf("%sn",strchr(girdi,'a'));
getch ();
}
 strlwr(char str1 []): str1 stringindeki b端y端k harfleri
k端巽端k harflere 巽evirir.
 strupr(char str1 []): str1 stringindeki k端巽端k harfleri
b端y端k harflere 巽evirir.
17
String Fonksiyonlar脹
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main() {
char ad[]="NeSiBe YaLCiN";
strupr(ad);
printf("%sn",ad);
strlwr(ad);
printf("%s",ad);
getch (); }
 ctype.h k端t端phanesinde yer alanlar:
 isalnum(char x): Girilen x karakterin alfabetik ya da
n端merik olup olmad脹脹n脹 sorgular.
18
String Fonksiyonlar脹
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void main() {
char x;
puts("Bir karakter girin: ");
scanf("%c",&x);
if(isalnum(x))
printf("Alfabetik/Numerik");
else
printf("Alfabetik/Numerik degil");
getch (); }
 ctype.h k端t端phanesinde yer alanlar:
 isalpha(char x): x bir harf ise s脹f脹rdan farkl脹, dier
durumlarda s脹f脹r deerini d旦nd端r端r.
 isdigit(char x): x bir say脹 ise s脹f脹rdan farkl脹, dier
durumlarda s脹f脹r deerini d旦nd端r端r.
 isspace(char x): x boluk, yeni sat脹r veya tab karakteri
gibi bir karakterse s脹f脹rdan farkl脹, dier durumlarda
s脹f脹r deerini d旦nd端r端r.
19
String Fonksiyonlar脹
 isupper(char x): x b端y端k bir harf ise s脹f脹rdan farkl脹,
dier durumlarda s脹f脹r deerini d旦nd端r端r.
 islower(char x): x k端巽端k bir harf ise s脹f脹rdan farkl脹,
dier durumlarda s脹f脹r deerini d旦nd端r端r.
 sizeof(. a): Donan脹m sisteminin a deikenine ya da
veri t端r端ne ay脹rd脹脹 bellek b端y端kl端端n端 verir.
20
String Fonksiyonlar脹
 toupper(char x): x in deerinin b端y端k harf kar脹l脹脹n脹
verir.
 tolower(char x): x in deerinin k端巽端k harf kar脹l脹脹n脹
verir.
21
String Fonksiyonlar脹
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void main() {
char x;
puts("Bir karakter girin: ");
scanf("%c",&x);
printf("%c",toupper(x));
printf("%c",tolower(x));
getch (); }
22
Uygulama rnekleri
// #include <string.h>
#include <stdio.h>
#include <conio.h>
void main() {
char str[20]="Muhendislik";
//for(int i=0;i<strlen(str);i++)
for(int i=0;str[i]!='0';i++){
for(int j=0;j<i+1;j++)
printf("%c",str[j]);
printf("n"); }
getch(); }
23
Uygulama rnekleri
#include <stdio.h>
#include <conio.h>
void main() {
char girdi[20];
int i=0,sayac=0;
puts("Bir string girin: ");
gets(girdi);
while(girdi[i] != '0'){
if( girdi[i] == 'a')
sayac++;
i++; }
printf("'a' karakteri sayisi = %dn",sayac);
printf("Toplam karakteri sayisi = %dn",i);
printf("Ayrilan bellek buyuklugu %d byte",sizeof(girdi));
getch (); }
24
Uygulama rnekleri
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main() {
char girdi[20];
int sayac=0;
puts("Bir string girin: ");
do{
gets(girdi);
sayac++;
}while( strcmp(girdi, "Ankara*06")!=0);
printf("%d seferde bildinizn",sayac);
getch (); }
 Kullan脹c脹 taraf脹ndan girilen bir karakter dizisi i巽indeki
boluk karakterini 巽脹karan program脹 C dilinde yaz脹n脹z.
 strstr fonksiyonu ile ayn脹 g旦revi yapan void str_arama(char
a[],char b[]) isimli kendi fonksiyonunu yaz脹n脹z.
 Kullan脹c脹 taraf脹ndan girilen bir stringin Palindrom olup
olmad脹脹n脹 bulan fonksiyonu yaz脹n脹z.
2141412, ata, kazak, Ey Edip Adanada pide ye 
25
Uygulama rnekleri

More Related Content

Karakter dizileri

  • 1. D聴ZGELER KARAKTER D聴Z聴LER聴 programlama dilleri 1 - 4. hafta - Ara. G旦r. Nesibe YALIN B聴LEC聴K EYH EDEBAL聴 N聴VERS聴TES聴 MHEND聴SL聴K FAKLTES聴 B聴LG聴SAYAR MHEND聴SL聴聴 BLM
  • 2. 2 Karakter Dizileri char tipli karakterlerden oluan ve en sonuna 0 (bo, NULL) karakteri eklenmi dizilerdir. string, katar, dizge, dizgi de denir. Karakterler ?, 1, t, + eklinde tek t脹rnak i巽erisinde yaz脹l脹r, dizgeler Bilecik eklinde 巽ift t脹rnak i巽erisinde yaz脹l脹rlar. Bilecik = {B, i, l, e, c, i, k, 0}
  • 3. 3 Deer Atama char a[] =C dili; Derleyici, karakter say脹s脹na g旦re otomatik olarak dizi boyutunu ayarl脹yor. 0 1 2 3 4 5 6 C d i l i 0 Adres Veri 0x00 0x01 67 C 0x02 32 0x03 100 d 0x04 105 i 0x05 108 l 0x06 105 i 0x07 0 0 0x08 0x09 0x10 0x14 Derleyici
  • 4. 4 Deer Atama char a[]={'C',' ','d','i','l','i','0'}; char x[] =programlama; char x[]; //hatal脹 NOT: Fonksiyonlarda girdi olarak kullan脹labilir. char x[25]; x[]=programlama; //hatal脹 x=programlama; //hatal脹
  • 5. ok boyutlu dizilerde; char isim[5][8] = {Ayse, Hamdi, Burak, Leyla, Ahmet}; char sehir[][10] = {Ankara, Sakarya, Yozgat, Konya}; Stringlerde dorudan kullan脹lmayan karakterler: ift t脹rnak karakterini ekrana yaz: Tek t脹rnak karakterini ekrana yaz: Ters b旦l端 karakterini ekrana yaz: Y端zde karakterini ekrana yaz: %% 5 Deer Atama
  • 6. 6 Karakter Dizileri #include <stdio.h> #include <conio.h> void main() { char a[]="C dili"; int i=0; while(a[i]!='0'){ printf("%c",a[i]); i++; } getch (); } #include <stdio.h> #include <conio.h> void main() { char a[]="C dili"; for(int i=0; i<6;i++) printf("%c",a[i]); getch (); } #include <stdio.h> #include <conio.h> void main() { char a[]="C dili"; printf("%s",a); getch (); }
  • 7. 7 Karakter Dizileri #include <stdio.h> #include <conio.h> void main() { char a[]="C dili"; printf("%sn",a); a[3]='0'; printf("%s",a); getch (); }
  • 8. 8 Karakter Dizileri #include <stdio.h> #include <conio.h> void main() { char a[]="C dili"; printf("%sn",a); a[6]=m'; printf("%s",a); getch (); }
  • 9. puts(char str []): Ekrana stringi ekrana yazd脹rd脹ktan sonra imleci bir sonraki sat脹ra ge巽irir. #include <stdio.h> #include <conio.h> void main() { char bolum[10]="bilgisayar"; printf("%s",bolum); // puts(bolum); getch (); } 9 String Fonksiyonlar脹
  • 10. gets(char str[]): Girdi olarak string almak i巽in kullan脹l脹r, stringin sonuna 0, null karakterini otomatik olarak ekler. #include <stdio.h> #include <conio.h> void main() { char bolum[10]; scanf("%s",bolum); // gets(bolum); getch (); } 10 String Fonksiyonlar脹
  • 11. string.h k端t端phanesinde yer alanlar: strlen(char str[]): Bir string (dizge) i巽indeki karakter say脹s脹n脹 bulmak i巽in kullan脹l脹r. int adet=0; while(str[adet]!=0) adet++; ya da adet=strlen(str); 11 String Fonksiyonlar脹
  • 12. strcpy(char str1[],char str2[]): str2 stringini str1 stringine kopyalama ilemini yapar. char ad[10]; strcpy(ad,"elanur"); strncpy(char str1[],char str2[],int n): str2 stringindeki ilk n adet karakteri str1 stringine kopyalama ilemini yapar. 12 String Fonksiyonlar脹
  • 13. strcat(char str1[],char str2[]): str1 stringinin sonuna str2 stringinin eklenmesini salar. char str1[10]= s脹n脹f; char str2[10]= C112; strcat(str1, str2); str1 in yeni hali s脹n脹f C112 strncat(char str1[],char str2[],int n): str1 stringinin sonuna str2 stringinin ilk n karakterinin eklenmesini salar. 13 String Fonksiyonlar脹
  • 14. strcmp(char str1[],char str2[]): str1 ve str2 stringlerini kar脹lat脹r脹r: Eit ise 0, str1 stringi s旦zl端kte daha 旦nce geliyorsa -1, str2 stringi daha 旦nce geliyorsa 1 deerini d旦nd端r端r. strcmp(Ankara, Ankara) 0 strcmp(Ankara, Antalya) -1 strcmp(Antalya, Ankara) 1 strncmp(char str1[],char str2[],int n): str1 ve str2 stringlerinin ilk n karakterlerinin kar脹lat脹r脹lmas脹n脹 salar. 14 String Fonksiyonlar脹
  • 15. strrev(char str1[]): str1 stringini ters 巽evirir. strstr(char str1[],char str2[]): str1 stringi i巽inde str2 stringini arar, ilk kar脹lat脹脹 yeri verir. 15 String Fonksiyonlar脹 #include <stdio.h> #include <conio.h> #include <string.h> void main() { char girdi[20]; puts("Bir string girin: "); gets(girdi); printf("%sn",strstr(girdi,"al")); getch (); }
  • 16. strchr(char str1[],char x): str1 stringi i巽inde x karakterini arar, ilk kar脹lat脹脹 yeri verir. 16 String Fonksiyonlar脹 #include <stdio.h> #include <conio.h> #include <string.h> void main() { char girdi[20]; puts("Bir string girin: "); gets(girdi); printf("%sn",strchr(girdi,'a')); getch (); }
  • 17. strlwr(char str1 []): str1 stringindeki b端y端k harfleri k端巽端k harflere 巽evirir. strupr(char str1 []): str1 stringindeki k端巽端k harfleri b端y端k harflere 巽evirir. 17 String Fonksiyonlar脹 #include <stdio.h> #include <conio.h> #include <string.h> void main() { char ad[]="NeSiBe YaLCiN"; strupr(ad); printf("%sn",ad); strlwr(ad); printf("%s",ad); getch (); }
  • 18. ctype.h k端t端phanesinde yer alanlar: isalnum(char x): Girilen x karakterin alfabetik ya da n端merik olup olmad脹脹n脹 sorgular. 18 String Fonksiyonlar脹 #include <stdio.h> #include <conio.h> #include <ctype.h> void main() { char x; puts("Bir karakter girin: "); scanf("%c",&x); if(isalnum(x)) printf("Alfabetik/Numerik"); else printf("Alfabetik/Numerik degil"); getch (); }
  • 19. ctype.h k端t端phanesinde yer alanlar: isalpha(char x): x bir harf ise s脹f脹rdan farkl脹, dier durumlarda s脹f脹r deerini d旦nd端r端r. isdigit(char x): x bir say脹 ise s脹f脹rdan farkl脹, dier durumlarda s脹f脹r deerini d旦nd端r端r. isspace(char x): x boluk, yeni sat脹r veya tab karakteri gibi bir karakterse s脹f脹rdan farkl脹, dier durumlarda s脹f脹r deerini d旦nd端r端r. 19 String Fonksiyonlar脹
  • 20. isupper(char x): x b端y端k bir harf ise s脹f脹rdan farkl脹, dier durumlarda s脹f脹r deerini d旦nd端r端r. islower(char x): x k端巽端k bir harf ise s脹f脹rdan farkl脹, dier durumlarda s脹f脹r deerini d旦nd端r端r. sizeof(. a): Donan脹m sisteminin a deikenine ya da veri t端r端ne ay脹rd脹脹 bellek b端y端kl端端n端 verir. 20 String Fonksiyonlar脹
  • 21. toupper(char x): x in deerinin b端y端k harf kar脹l脹脹n脹 verir. tolower(char x): x in deerinin k端巽端k harf kar脹l脹脹n脹 verir. 21 String Fonksiyonlar脹 #include <stdio.h> #include <conio.h> #include <ctype.h> void main() { char x; puts("Bir karakter girin: "); scanf("%c",&x); printf("%c",toupper(x)); printf("%c",tolower(x)); getch (); }
  • 22. 22 Uygulama rnekleri // #include <string.h> #include <stdio.h> #include <conio.h> void main() { char str[20]="Muhendislik"; //for(int i=0;i<strlen(str);i++) for(int i=0;str[i]!='0';i++){ for(int j=0;j<i+1;j++) printf("%c",str[j]); printf("n"); } getch(); }
  • 23. 23 Uygulama rnekleri #include <stdio.h> #include <conio.h> void main() { char girdi[20]; int i=0,sayac=0; puts("Bir string girin: "); gets(girdi); while(girdi[i] != '0'){ if( girdi[i] == 'a') sayac++; i++; } printf("'a' karakteri sayisi = %dn",sayac); printf("Toplam karakteri sayisi = %dn",i); printf("Ayrilan bellek buyuklugu %d byte",sizeof(girdi)); getch (); }
  • 24. 24 Uygulama rnekleri #include <stdio.h> #include <conio.h> #include <string.h> void main() { char girdi[20]; int sayac=0; puts("Bir string girin: "); do{ gets(girdi); sayac++; }while( strcmp(girdi, "Ankara*06")!=0); printf("%d seferde bildinizn",sayac); getch (); }
  • 25. Kullan脹c脹 taraf脹ndan girilen bir karakter dizisi i巽indeki boluk karakterini 巽脹karan program脹 C dilinde yaz脹n脹z. strstr fonksiyonu ile ayn脹 g旦revi yapan void str_arama(char a[],char b[]) isimli kendi fonksiyonunu yaz脹n脹z. Kullan脹c脹 taraf脹ndan girilen bir stringin Palindrom olup olmad脹脹n脹 bulan fonksiyonu yaz脹n脹z. 2141412, ata, kazak, Ey Edip Adanada pide ye 25 Uygulama rnekleri