C, eski programlama dillerinden biridir. 70'lerde geliştirildi, ancak ne kadar düşük seviyeli olduğu sayesinde hala çok güçlü. C öğrenmek, kendinizi daha karmaşık dillere tanıtmanın harika bir yoludur ve edindiğiniz bilgiler hemen hemen her programlama dilinde faydalı olacaktır ve uygulama geliştirmeye başlamanıza yardımcı olabilir. C'de programlamaya nasıl başlayacağınızı öğrenmek için aşağıdaki Adım 1'e bakın.
adımlar
Bölüm 1/6: Hazırlanmak
Adım 1. Bir derleyici indirin ve kurun
C kodunun, kodu makinenin anlayabileceği sinyallere yorumlayan bir program tarafından derlenmesi gerekir. Derleyiciler genellikle ücretsizdir ve farklı işletim sistemleri için farklı derleyiciler mevcuttur.
- Windows için Microsoft Visual Studio Express veya MinGW'yi deneyin.
- Mac için XCode, en iyi C derleyicilerinden biridir.
- Linux için gcc en popüler seçeneklerden biridir.
Adım 2. Temelleri anlayın
C, eski programlama dillerinden biridir ve çok güçlü olabilir. Unix işletim sistemleri için tasarlandı, ancak neredeyse tüm işletim sistemleri için taşındı ve genişletildi. C'nin modern versiyonu C++'dır.
C, temel olarak işlevlerden oluşur ve bu işlevlerde, verileri depolamak ve işlemek için değişkenleri, koşullu ifadeleri, döngüleri kullanabilirsiniz
Adım 3. Bazı temel kodları inceleyin
Dilin çeşitli yönlerinin bazılarının birlikte nasıl çalıştığı hakkında iyi bir fikir edinmek ve programların nasıl çalıştığı hakkında bir fikir edinmek için aşağıdaki (çok) temel programa bir göz atın.
#include int main() { printf("Merhaba Dünya!\n"); getchar(); 0 döndür; }
- #include komutu, program başlamadan önce gerçekleşir ve ihtiyacınız olan işlevleri içeren kitaplıkları yükler. Bu örnekte, stdio.h, printf() ve getchar() işlevlerini kullanmamıza izin veriyor.
- int main() komutu, derleyiciye programın "main" adlı işlevi çalıştırdığını ve bittiğinde bir tamsayı döndüreceğini söyler. Tüm C programları bir "ana" işlevi çalıştırır.
- {}, içindeki her şeyin işlevin bir parçası olduğunu gösterir. Bu durumda, içerideki her şeyin "ana" işlevin bir parçası olduğunu belirtirler.
- printf() işlevi, parantezlerin içeriğini kullanıcının ekranında görüntüler. Tırnak işaretleri, içindeki dizenin tam anlamıyla yazdırılmasını sağlar. \n dizisi, derleyiciye imleci bir sonraki satıra taşımasını söyler.
- NS; satırın sonunu belirtir. Çoğu C kodu satırı noktalı virgülle bitmelidir.
- getchar() komutu, derleyiciye ilerlemeden önce bir tuş vuruşu girişi beklemesini söyler. Bu yararlıdır çünkü birçok derleyici programı çalıştırır ve pencereyi hemen kapatır. Bu, bir tuşa basılana kadar programın bitmesini engeller.
- 0 komutu, işlevin sonunu gösterir. "Main" işlevinin nasıl bir int işlevi olduğuna dikkat edin. Bu, program bittiğinde döndürülmesi için bir tamsayıya ihtiyaç duyacağı anlamına gelir. "0", programın doğru şekilde çalıştığını gösterir; başka herhangi bir sayı, programın bir hatayla karşılaştığı anlamına gelir.
Adım 4. Programı derlemeyi deneyin
Kodu kod düzenleyicinize girin ve "*.c" dosyası olarak kaydedin. Derleyicinizde, genellikle Oluştur veya Çalıştır düğmesini tıklatarak derleyin.
Adım 5. Her zaman kodunuz hakkında yorum yapın
Yorumlar, derlenmeyen kodun bir parçasıdır, ancak neler olduğunu açıklamanıza izin verir. Bu, kodunuzun ne için olduğunu kendinize hatırlatmak ve kodunuza bakan diğer geliştiricilere yardımcı olmak için kullanışlıdır.
- Yorum yapmak için yorumun başında /* ve sonunda */ yer alır.
- Kodunuzun en temel bölümleri dışında tümüne yorum yapın.
- Yorumlar, kodunuzun bölümlerini silmeden hızlı bir şekilde kaldırmak için kullanılabilir. Dışlamak istediğiniz kodu yorum etiketleriyle dahil edin ve ardından derleyin. Kodu geri eklemek istiyorsanız etiketleri kaldırın.
Bölüm 2/6: Değişkenleri Kullanma
Adım 1. Değişkenlerin işlevini anlayın
Değişkenler, programdaki hesaplamalardan veya kullanıcı girdisinden veri depolamanıza izin verir. Değişkenleri kullanabilmeniz için önce tanımlanması gerekir ve aralarından seçim yapabileceğiniz birkaç tür vardır.
Daha yaygın değişken türlerinden bazıları int, char ve float içerir. Her biri farklı türde veriler depolar
Adım 2. Değişkenlerin nasıl bildirildiğini öğrenin
Değişkenlerin program tarafından kullanılmadan önce oluşturulması veya "bildirilmesi" gerekir. Veri türünü ve ardından değişkenin adını girerek bir değişken bildirirsiniz. Örneğin, aşağıdakilerin tümü geçerli değişken bildirimleridir:
yüzer x; karakter ismi; int a, b, c, d;
- Aynı türde oldukları sürece aynı satırda birden çok değişken bildirebileceğinizi unutmayın. Değişken adlarını virgülle ayırmanız yeterlidir.
- C'deki birçok satır gibi, her değişken bildirim satırının noktalı virgülle bitmesi gerekir.
Adım 3. Değişkenleri nerede bildireceğinizi bilin
Değişkenler her kod bloğunun başında bildirilmelidir (Kodunuzun {} parantez içine alınmış kısımları). Blokta daha sonra bir değişken bildirmeye çalışırsanız, program düzgün çalışmayacaktır.
Adım 4. Kullanıcı girdisini depolamak için değişkenleri kullanın
Artık değişkenlerin nasıl çalıştığının temellerini bildiğinize göre, kullanıcının girdisini depolayacak basit bir program yazabilirsiniz. Programda scanf adlı başka bir işlevi kullanacaksınız. Bu işlev, belirli değerler için sağlanan girişi arar.
#include int ana() { int x; printf("Bir sayı giriniz:"); scanf("%d",&x); printf("%d girdiniz", x); getchar(); 0 döndür; }
- "%d" dizesi, scanf'e kullanıcı girişinde tamsayıları aramasını söyler.
- x değişkeninden önceki &, scanf'e değişkeni değiştirmek için nerede bulacağını söyler ve tamsayıyı değişkende saklar.
- Son printf komutu, giriş tamsayısını kullanıcıya geri okur.
Adım 5. Değişkenlerinizi manipüle edin
Değişkenlerinizde sakladığınız verileri işlemek için matematiksel ifadeleri kullanabilirsiniz. Matematiksel ifadeler için hatırlanması gereken en önemli ayrım, tek bir = değişkenin değerini belirlerken, == eşit olup olmadığını görmek için her iki taraftaki değerleri karşılaştırır.
x = 3 * 4; /* "x"i 3 * 4 veya 12 olarak ayarlar */ x = x + 3; /* "x"in orijinal değerine 3 ekler ve yeni değeri değişken olarak ayarlar */ x == 15; /* "x"in 15'e eşit olup olmadığını kontrol eder */ x < 10; /* "x" değerinin 10'dan küçük olup olmadığını kontrol eder */
Bölüm 3/6: Koşullu İfadeleri Kullanma
Adım 1. Koşullu ifadelerin temellerini anlayın
Koşullu ifadeler çoğu programı yönlendiren şeydir. DOĞRU veya YANLIŞ olduğu belirlenen ve daha sonra sonuca göre hareket edilen ifadelerdir. İfadelerin en temel olanı if ifadesidir.
DOĞRU ve YANLIŞ, C'de alışık olduğunuzdan farklı çalışır. TRUE ifadeleri her zaman sıfırdan farklı bir sayıya eşittir. Karşılaştırma yaptığınızda sonuç DOĞRU ise "1" döndürülür. Sonuç YANLIŞ ise "0" döndürülür. Bunu anlamak, IF ifadelerinin nasıl işlendiğini görmenize yardımcı olacaktır
Adım 2. Temel koşul operatörlerini öğrenin
Koşullu ifadeler, değerleri karşılaştıran matematiksel operatörlerin kullanımı etrafında döner. Aşağıdaki liste en sık kullanılan koşullu operatörleri içerir.
/* büyüktür */ < /* küçüktür */ >= /* büyüktür veya eşittir */ <= /* küçüktür veya eşittir */ == /* eşittir */ != /* eşit değildir ile */
10 > 5 DOĞRU 6 < 15 DOĞRU 8 >= 8 DOĞRU 4 <= 8 DOĞRU 3 == 3 DOĞRU 4 != 5 DOĞRU
Adım 3. Temel bir EĞER ifadesi yazın
IF deyimlerini, deyim değerlendirildikten sonra programın ne yapması gerektiğini belirlemek için kullanabilirsiniz. Güçlü çoklu seçenekler oluşturmak için daha sonra diğer koşullu ifadelerle birleştirebilirsiniz, ancak şimdilik bunlara alışmak için basit bir tane yazın.
#include int main() { if (3 < 5) printf("3, 5'ten küçük"); getchar(); }
Adım 4. Koşullarınızı genişletmek için ELSE/ELSE IF deyimlerini kullanın
Farklı sonuçları işlemek için ELSE ve ELSE IF deyimlerini kullanarak IF deyimlerini geliştirebilirsiniz. ELSE deyimleri, IF deyimi FALSE ise çalışır. ELSE IF deyimleri, çeşitli durumları ele almak için birden fazla IF deyimini bir kod bloğuna eklemenize izin verir. Nasıl etkileşime girdiklerini görmek için aşağıdaki örnek programa bakın.
#include int main() { int yaş; printf("Şu anki yaşınızı giriniz:"); scanf("%d", &yaş); if (yaş <= 12) { printf("Sen daha çocuksun!\n"); } else if (yaş < 20) { printf("Genç olmak oldukça güzel!\n"); } else if (yaş < 40) { printf("Hâlâ gençsiniz!\n"); } else { printf("Yaşla birlikte bilgelik gelir.\n"); } 0 döndür; }
Program, girdiyi kullanıcıdan alır ve IF ifadeleri aracılığıyla alır. Sayı ilk ifadeyi karşılıyorsa, ilk printf ifadesi döndürülür. İlk ifadeyi karşılamıyorsa, işe yarayan birini bulana kadar her ELSE IF ifadesi üzerinden alınır. Bunların hiçbiriyle eşleşmiyorsa, sonunda ELSE deyiminden geçer
Bölüm 4/6: Öğrenme Döngüleri
Adım 1. Döngülerin nasıl çalıştığını anlayın
Döngüler, belirli koşullar karşılanana kadar kod bloklarını tekrarlamanıza izin verdiği için programlamanın en önemli yönlerinden biridir. Bu, tekrarlanan eylemlerin uygulanmasını çok kolaylaştırabilir ve bir şeyin olmasını istediğiniz her seferinde yeni koşullu ifadeler yazmanıza gerek kalmaz.
Üç ana döngü türü vardır: FOR, WHILE ve DO…WHILE
Adım 2. Bir FOR döngüsü kullanın
Bu, en yaygın ve kullanışlı döngü türüdür. FOR döngüsünde ayarlanan koşullar karşılanana kadar işlevi çalıştırmaya devam edecektir. FOR döngüleri üç koşul gerektirir: değişkenin başlatılması, karşılanması gereken koşul ve değişkenin güncellenme şekli. Tüm bu koşullara ihtiyacınız yoksa, yine de noktalı virgülle boşluk bırakmanız gerekir, aksi takdirde döngü sonsuza kadar çalışır.
#include int ana() { int y; for (y = 0; y < 15; y++;){ printf("%d\n", y); } getchar(); }
Yukarıdaki programda y 0 olarak ayarlanmıştır ve y değeri 15'ten küçük olduğu sürece döngü devam eder. y değeri her basıldığında, y değerine 1 eklenir ve döngü tekrarlanır. y = 15 olduğunda döngü bozulur
Adım 3. Bir WHILE döngüsü kullanın
WHILE döngüleri, FOR döngülerinden daha basittir. Yalnızca bir koşulu vardır ve döngü, bu koşul doğru olduğu sürece çalışır. Bunu döngünün ana gövdesinde yapabilmenize rağmen, değişkeni başlatmanız veya güncellemeniz gerekmez.
#include int ana() { int y; while (y <= 15){ printf("%d\n", y); y++; } getchar(); }
y++ komutu, döngü her çalıştırıldığında y değişkenine 1 ekler. y 16'ya ulaştığında (unutmayın, bu döngü y 15'ten küçük veya ona eşit olduğu sürece devam eder), döngü bozulur
Adım 4. Bir DO kullanın
.. Döngü sırasında.
Bu döngü, en az bir kez çalışmasını sağlamak istediğiniz döngüler için çok kullanışlıdır. FOR ve WHILE döngülerinde, koşul döngünün başında kontrol edilir, yani hemen geçemez ve başarısız olur. DO…WHILE döngüleri, döngünün en az bir kez çalıştırıldığından emin olarak döngünün sonundaki koşulları kontrol eder.
#include int ana() { int y; y = 5; do { printf("Bu döngü çalışıyor!\n"); } while (y != 5); getchar(); }
- Bu döngü, koşul YANLIŞ olsa bile mesajı görüntüler. y değişkeni 5'e ayarlanır ve WHILE döngüsü, y 5'e eşit olmadığında çalışacak şekilde ayarlanır, bu nedenle döngü sona erer. Koşul sonuna kadar kontrol edilmediğinden mesaj zaten yazdırıldı.
- DO…WHILE kümesindeki WHILE döngüsü noktalı virgülle sonlandırılmalıdır. Bu, bir döngünün noktalı virgülle sona erdiği tek zamandır.
Bölüm 5/6: İşlevleri Kullanma
Adım 1. Fonksiyonların temellerini anlayın
Fonksiyonlar, programın diğer bölümleri tarafından çağrılabilen bağımsız kod bloklarıdır. Kodu tekrarlamayı çok kolaylaştırırlar ve programın okunmasını ve değiştirilmesini kolaylaştırırlar. İşlevler, bu makalede öğrenilen daha önce kapsanan tüm teknikleri ve hatta diğer işlevleri içerebilir.
- Yukarıdaki örneklerin hepsinin başındaki main() satırı, getchar() gibi bir fonksiyondur.
- İşlevler, verimli ve okunması kolay kod için gereklidir. Programınızı düzene sokmak için işlevleri iyi kullanın.
Adım 2. Bir taslakla başlayın
Fonksiyonlar en iyi, asıl kodlamaya başlamadan önce neyi başarmasını istediğinizi özetlediğinizde oluşturulur. Fonksiyonlar için temel sözdizimi "return_type name (argüman1, argüman2, vb.);" şeklindedir. Örneğin, iki sayı ekleyen bir işlev oluşturmak için:
int ekle (int x, int y);
Bu, iki tamsayı (x ve y) ekleyen ve ardından toplamı bir tamsayı olarak döndüren bir işlev yaratacaktır
Adım 3. Fonksiyonu bir programa ekleyin
Kullanıcının girdiği iki tamsayıyı alan ve sonra bunları bir araya toplayan bir program oluşturmak için anahattı kullanabilirsiniz. Program, "ekle" işlevinin nasıl çalıştığını tanımlayacak ve giriş numaralarını değiştirmek için kullanacaktır.
#include int ekle (int x, int y); int ana() { int x; int y; printf("Birbirine eklenecek iki sayı giriniz: "); scanf("%d",&x); scanf("%d", &y); printf("Sayılarınızın toplamı %d\n", add(x, y)); getchar(); } int ekle (int x, int y) { dönüş x + y; }
- Anahattın hala programın en üstünde yer aldığını unutmayın. Bu, derleyiciye işlev çağrıldığında ne bekleyeceğini ve ne döndüreceğini söyler. Bu, yalnızca işlevi programda daha sonra tanımlamak istiyorsanız gereklidir. add() öğesini main() işlevinden önce tanımlayabilirsiniz ve sonuç anahat olmadan aynı olur.
- Fonksiyonun gerçek işlevselliği programın alt kısmında tanımlanır. main() işlevi, kullanıcıdan tamsayıları toplar ve ardından bunları işlenecek add() işlevine gönderir. add() işlevi daha sonra sonuçları main() işlevine döndürür.
- Artık add() tanımlandı, programın herhangi bir yerinde çağrılabilir.
Bölüm 6/6: Öğrenmeye Devam Etme
Adım 1. Birkaç C programlama kitabı bulun
Bu makale temel bilgileri kapsar, ancak yalnızca C programlamanın yüzeyini ve ilgili tüm bilgileri çizer. İyi bir başvuru kitabı, sorunları çözmenize yardımcı olacak ve sizi yolda bir sürü baş ağrısından kurtaracaktır.
Adım 2. Bazı topluluklara katılın
Hem çevrimiçi hem de gerçek dünyada, programlamaya ve içerdiği tüm dillere adanmış birçok topluluk var. Kodları ve fikirleri değiş tokuş etmek için sizinle aynı kafada olan bazı C programcıları bulun ve kısa sürede kendinizi çok şey öğrenirken bulacaksınız.
Mümkünse bazı hack-a-thon'lara katılın. Bunlar, ekiplerin ve bireylerin programlar ve çözümler bulmak için zaman sınırlarına sahip olduğu ve çoğu zaman çok fazla yaratıcılığı teşvik ettiği etkinliklerdir. Bu şekilde birçok iyi programcıyla tanışabilirsiniz ve dünya çapında düzenli olarak hack-a-thon'lar gerçekleşir
Adım 3. Bazı dersler alın
Bilgisayar Bilimi derecesi için okula geri dönmek zorunda değilsiniz, ancak birkaç ders almak öğrenmeniz için harikalar yaratabilir. Hiçbir şey, dili iyi bilen insanlardan uygulamalı yardımın yerini tutamaz. Sınıfları genellikle yerel topluluk merkezlerinde ve genç kolejlerde bulabilirsiniz ve bazı üniversiteler, kayıt olmanıza gerek kalmadan bilgisayar bilimi programlarını denetlemenize izin verir.
Adım 4. C++ öğrenmeyi düşünün
C'yi bir kez kavradığınızda, C++'a bir göz atmaktan zarar gelmez. Bu, C'nin daha modern versiyonudur ve çok daha fazla esneklik sağlar. C++, nesne işleme göz önünde bulundurularak tasarlanmıştır ve C++'ı bilmek, hemen hemen her işletim sistemi için güçlü programlar oluşturmanıza olanak sağlayabilir.
İpuçları
- Her zaman programlarınıza yorum ekleyin. Bu, yalnızca kaynak koduna bakabilecek diğer kişilere yardımcı olmakla kalmaz, aynı zamanda ne yazdığınızı ve nedenini hatırlamanıza da yardımcı olur. Kodunuzu yazarken ne yaptığınızı biliyor olabilirsiniz, ancak iki veya üç ay sonra pek bir şey hatırlamayacaksınız.
- printf(), scanf(), getch(), vb. gibi bir deyimi her zaman noktalı virgülle (;) bitirmeyi unutmayın, ancak bunları asla 'if', 'while' veya 'for' döngüleri gibi kontrol deyimlerinden sonra eklemeyin..
- Derleme yaparken bir sözdizimi hatasıyla karşılaştığınızda, şaşırırsanız, aldığınız hatayla Google'da (veya başka bir arama motorunda) arama yapın. Muhtemelen birileri daha önce aynı sorunu yaşamış ve bir çözüm göndermiştir.
- Derleyicinizin bunun bir C kaynak dosyası olduğunu anlayabilmesi için kaynak kodunuzun *.c uzantısına sahip olması gerekir.
- Her zaman uygulamanın mükemmel olduğunu unutmayın. Bir program yazmaya ne kadar çok çalışırsanız, o kadar iyi olursunuz. Temelinizi elde edene kadar basit, kısa programlarla başlayın ve sonra kendinize güvendiğinizde daha karmaşık olana geçebilirsiniz.
- Mantık kurmayı öğrenmeye çalışın. Kod yazarken farklı sorunların üstesinden gelmeye yardımcı olur.