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
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脹
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 (); }
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