ForumNeuro

 


Geri Git   ForumNeuro > Bilgisayar Dünyası > Webmaster
Kayıt S.S.S Üye Listesi Ajanda Konuları Okundu İşaretle

Webmaster Web Dizayn ve Webmasterlarla ilgili herşey burada...


Yanıtla
 
Forum Araçları Görüntüleme Biçimleri
Eski 24-10-2005, 22:27   #1 (permalink)
diko
Etkisiz Üye
 
Giriş Tarihi: 24-10-2005
Mesajlar: 22
Rep Gücü: 3
Rep Puanı : 15
diko Yavaş ama emin adımlarla geliyorum
Varsayılan C de Temeller-2

C de Temeller-Devam(İlk Dökümanın Devamı)

char B[6]; şu anda elimizde 6 tane harf tutabilen bir stringimiz var.Şimdi buna sırasıyla
harflerimizi yerleştirelim.

B[0]=’F’;
B[1]=’e’;
B[2]=’r’;
B[3]=’m’;
B[4]=’a’;
B[5]=’N’;
B[6]=’\0’;

Aslında yukarıya bakacak olursak atadığımız harfleri ’ ’ işaretleri arasına yerleştirdik.char değişkeninde bir değişkene değer atarken bunları
kullancaz.ilk sıraya B[0]=F; demiş olsaydık F adında bir değişken sanacak bizim c bu F yi.Bu yüzden.Birde son değere \0 değerini verdik.Bu nedemek arkadaşlar.Hatırlayın \n gibi bir operatörümüz vardı ve bu alt satıra geç demek oluyodu.Buradaki \0 ise
sona geldik string sona erdi dur bakalım.Demek oluyor ona göreYukarıya bakarak bi string
için uzuuuuun uzun uraşacamızı gördünüz.tabiki olay boyle değil arkadaşlar biz.char A[]="FermaN"; desekdeolurdu.Burada stringin uzunluğunu belirtmedik ancak compiler bu olayı kendiliğinden çözecektir stringin uzunşuğunu hemencecik kavraycak ve
sona ise \0 operatörünü yapıştırcaktır.Burada dikkat edeceğiniz bir husus varki arkadaşlar oda "" işaretlerini kullanmış olmamız bu sefer.String belirlerken "" işaretlerini kullanıyoruz.Ancak harf yada karakter belirlerken ’ ’ işaretlerini kullanıyoruz.Mesela bizim bi stringmiz var
ve bu string üzerinde oynaşmalar yapabiliriz demektir.B[3]=’\0’; dersek B[3] den sonraki kısım külliyen silinmiş olacaktır.Olay bu.Şimdi birde bu stringi printf ve scanf de kullanmaya.Bunu nasssı yapcaz diyecek olursanız?_?printf("%s", B); bu komut ekrana FermaN çıktısını vercektir.Burada pritfin içerisinde gördüğünüz %s i string okuturken kullancaz
Ama biz stringimiz belirli bir harfini olutmak istiyorsak aynen şoyle yapcaz;
printf("%c", A[b]); bu durumda ekrana r harfi gelecektir.Buradaki %c ise char türünde bir bir çıktı alacağımız belirtiyor.Yani burdada aklınız karışmasın arkadaşlar. scanf de ise olay printf ile aynıdır.scanf("%s", A); şimdi bundan once benim yapmış olduğum hatayı başıma kakınç eden bi arkadaş vardı adını vemicem.Burada scanf("%s",A); gibi bir ifade görünce yine "Aaaa yanlış yapmış yine bu adam" diyecektir ama bu sefer yanılacaktır.Çünkü stringlerimize
değer atarken & kullanmayız.Bunun sebebi ise pointerlerde annatacam.Aslında böyle uzun uzun printf ve scanf ile uğraşmak yerine kullanabileceğimiz fonksyonlarımız var.Ama bunları soylemeycem desem yalan olur.Tabikide soyleyecem. printf("%s", A); yerine puts(A); yazsakda aynı işi görecektir. scanf("%s", A); yerinede gets(A); yazsak aynı şey olurmu?_?Olmaz.gets ile stringe tüm satırı işletebilirsiniz ancak scanf aynı işi görmez. Mesela bi stringe "kral besiktas" gibi bi değer atıyacak olsak scanf sadece kral kısmını stringe atar.Niye?_?.Çünkü scanf her boşluktan sonrasını ayrı bi input sanar.gets(A) yazarsak.A stringine "kral besiktas" tümüyl atancaktır.
Sıra geldi fonksyon yazma olayınaaaaaa.Bu güne kadar kodlarımızı hep main() içerisine yazdık arkadaşlar.Ama bazen oluyorki aynı kodları dört beş kez yazmamız gerekiyor.
Hemde karışıklığı onlemk için bu kendi fonksyonlarımıızı yaabilirz.Şimdi örneğimizi inceleyelim:

#include
int x;

int topla(int a, int b);
int topla(int a, int b){
x=a+b;
}
main(){
topla(3,4);
printf("%d", x);
}

Evt yukardaki kodları compile ettiğimizde karşımıza 7 sonucu gelcektir.Yularıdan sanırım pek bişey anlamadınız.Şimdi sırasıyla bunları anlatalım;en başta bi tane int x; gördünüz.Bu ne kardeşim diyebilirsiniz.Bunu en sona bırakıyorum.Bunu scopelerle beraber anlatcam.topla adlı bir fonksyon belirledilk ve fonksyona iki tane tam sayı değişkenimizide verdik.a ve b.topla içerisine ise x=a+b dedik.Yani a ve b ye verilecek değeere göre x sonuclandırılacaktır.Peki buraya kadar herşey tamam. Fonksyonumuzu nasıl çağırdık? Tabikide main içerisine yazarak.main her zaman bizim kurtarıcımız olmuştur.Aslında main de başlı başına bir fonksyondur amma ve lakin
ana fonksyondur.Yani compiler ilk olarak main içerisindeki kodları işleme tabi tutacaktır.Neyse biz topla fonksyonumuza geri donelim.
Fonksyonlarımızı illakine int topla vs şeklindemi tanıtacaz.Tabiki hayır.Bunuda soa anlatcam.Şimdi topla fonlsyonu içerisindeki a ve be değişkenlerini herkes gördü sanırım.
topla(int a, int b) fonksyonunu çağırırken topla(3,4) dersek a=3 b=4 olur.Buradaki mantık bu.Beki şimdi ders başında scope dedim.Scope içerik anlamına getirilebilir.
Bakınız arkadaşlar.Şu kodları inceleyelim:

#include
int x;

int topla(int a, int b);
int topla(int a, int b){
x=a+b;
}
main(){
int a;
topla(3,4);
printf("%d", x);
scanf("%d", &a);
}

yukarıdaki kodlara iyi bakın arkadaşlar.int a iki tane!Alla Alla nasıl oluyor bu iş?Oluo.Çünkü ilk int a yani topla fonksyonunda tanımlamış olan a topla fonksyonunun scopesinde yani
içeriğinde tanımlı bir değişkendir.Diğer a değişkeni ise main fonksyonunun scopesinde tanımlıdır.Yani c bu iki a değişkeninide ayırt edebilir.Şimdi arkadaşlar hepiniz main fonklsyonu
içerisine bir tanede int x=3; şeklinde bi değişken tanımlamasını istiyorum.Bu değişkeni tanımladığınızda artık programın çıktısı 7 yerine 3 olacaktır.Çünkü burada program main içerisinde tanımlı olan x i okuyacaktır.Kodlarınızı şu şekilde değiştirin bide arkadaşlar;

#include
int x;
int topla(int a, int b);
int topla(int a, int b){
x=a+b;
printf("%d\n", x);
}
main(){
int x=4;
topla(3,5);
printf("%d", x);
scanf("%d", &a);
}

Bu durumda ekrana 8 ve 4 rakamları gelecektir.Çünkü main içerisindeki printf main içerisinde tanımlı x’i okuyacak topla içerisindeki printf ise toplada tanımlı x i okuyacaktır.
Yani bu scope olayını iyi anlayın arkadaşlar. Evet bu dersimiz bu kadar.Yani anlayıp anlamadığınızı belirtin arkadaşlar.Bakın anlamayıpta geçiştiriyosanız döverimTakılan arkadaşlar ister msn de ister forumda sorsun
ister mail atsın ister telefon etsin ister eve gelsin))))))Ama sorsun yani.Bu ders uzun mu oldu ne?Yorum bekliyom arkadaşlar bakınBide bi odev verecem ama ne versem?

Buldum bunun içinde size random-randomize fonksyonunu anlatacam.Nedir bu random randomize?_?bu iki fonksyon sayesinde bilgisayar bize istediğimiz sayıda ve istediğimiz
aralıkta sayılar veririr.Örneğimizi inceleyelim.

#include
#include
#include

main(){
int i;
randomize();
for(i=0; i<5; i++)
printf("%d", random(25));
}

Yukarıdaki programı compile ettiğinizde ekrana 5 tane sayı gelecektir.Ve bu sayılar 0-25 aralığında olacaktır.0-25 aralığı nı random(25); fonksyonu ile belirtiriz.
Kaç sayı belirteceğimizi ise for döngüsü kullanarak.Dikkat ederseniz i=5 olana kadar random(25) yani 5 tane tam sayı belirtecek.Evt anlaşılmış olması lazım.Bide orada
yeni olarak .Çünkü bu fonksyonların prototipi bu başlık altındadır.Yani bu kütüphane dosyasında tanımlıdır.

Bunu öğrendikte ne oldu diyebilirsiniz.Gösterecem şimdi size ne olduğunu)) Bakın bi sayı bulmaca oyunu yapcanız arkadaşlar.Nası olcak.Önce bizden bi sayı istiycek
sora bilgisayar random randomize ile bi sayı belirleyip bizim sayımızı tahmin etmeye çalışcak.Tabi siz sayı aralığını küçültürseniz iki tarafında bilme şansı artar.Neyse sora
program bilgisayardan sayı alacak ve bizim tahminde bulunmamızı isticek.Biz bilirsek bizi tebrik etcek.Filan.Oyun neye göre bitcek.Ya bir oyuncu bilene kadar devam etsin yada
puanlama sistemi koyun.Benim oyunda puanlama sistemi oyuna ilk kimin başlicanı belirleme filan vardı.Siz deneyin yapamazsanız ben size kendi yaptığımın kodlarını veririm
diko is offline   Alıntı Yaparak Cevapla
Yanıtla


Forum Araçları
Görüntüleme Biçimleri

Gönderme Kuralları
Yeni konular açabilirsiniz --> izin yok
Yanıtlar gönderebilirsiniz --> izin yok
Eklentiler gönderebilirsiniz --> izin yok
Mesajlarınızı düzenleyebilirsiniz --> izin yok

vB koduAçık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Saat 22:48.

Porno

Powered by vB 3.6.7
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by 3.0.0
Tercüme Eden: ReSSaM

Reklam Vermek için ressam@gmail.com Adresine e-mail gönderiniz

For Advertising contact ressam@gmail.com




Şarkı Sözleri sohbet Forum
haber dizi izle dizi
1 2 4 5 6 7 8 10 11 12 13 14 15 16 22 23 24 25 29 30 31 32 33 34 35 36 37 38 39 44 45 46 47 48 50 51 52 53 54 59 66 70 77 78 83 84 85 86 87 88 89 90 91 92 94 99 100 101 102 103 104 105 106 107 108 109 110 111 113 114 115 116 119 120 124 125 126 127 128 130 131 132 133 134 135 136 137 138 140 141 143 144 145 146 147 148 149 150 151 152 153 154 159 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 240 249 250 251 253 256 257 260 267 268 269 270 272 273 274 275 277 278 279 280 281 283 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 306 307 309 310 312 313 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 346 347 348 349 351 352 353 354 356 357 358 359 360 361 362 363 364 365 366 367 369 370 371 372 373 374 402 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489