C de Temeller-Devam char B ; şu anda elimizde 6 tane harf tutabilen bir stringimiz var. Şimdi buna sırasıyla harflerimizi yerleştirelim. B =F; B =e; B =r; B =m; B =a; B =N; B =\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 =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 =\0; dersek B 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 ; 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 ; 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 ; şimdi bundan once benim yapmış olduğum hatayı başıma kakınç eden bi arkadaş vardı adını vemicem. Burada scanf ; 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 ; yerine puts ; yazsakda aynı işi görecektir. scanf ; yerinede gets ; 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 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 topla main 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 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 topla main 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 topla main Bu durumda ekrana 8 ve 4 rakamları gelecektir. Çünkü main içerisindeki printf main içerisinde tanımlı xi 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 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 alıntı