Reklamcılık
Programlamayı öğrenmek birikimli bir deneyimdir. Seçtiğiniz dilin sözdizimini öğrenmenin yanı sıra, tüm programlama dillerinin kullandığı genel ilkeleri de öğrenmelisiniz.
C programlamayı anlamak ve öğrenmek göz korkutucu olabilir, ancak başlarken aşina olmaya değer birkaç temel fikir vardır. Basit bir proje, C'nin temellerini öğrenmenin harika bir yoludur.
Peki nereden başlamalısınız? Merhaba diyerek!
1. Selam Dünya!
Hemen hemen her kodlama kursunun ilk bölümü, Selam Dünya programı. Üzerinde ayrıntılı olarak durmak, C'nin diğer dillerden farklı olduğu bazı yönleri vurgular. Başlamak için, bir metin düzenleyici veya IDE Metin Editörleri vs. IDE'ler: Programcılar İçin Hangisi Daha İyi?Gelişmiş bir IDE ile daha basit bir metin düzenleyici arasında seçim yapmak zor olabilir. Bu kararı vermenize yardımcı olacak bazı bilgiler sunuyoruz. Devamını oku seçin ve bu kodu girin:
#Dahil etmek /* bu, C'deki bir Merhaba Dünya betiğidir */ int ana (boş) { printf("Merhaba Dünya! \n"); 0 döndür; }
Bu kısa kod parçası, programı sonlandırmadan önce konsola yazdırılır. olarak hatırlaması kolay bir yere kaydedin. Merhaba C. Şimdi dosyanızı derlemeniz ve oluşturmanız gerekiyor.
Çalıştırmak
Genellikle, C komut dosyalarını çalıştırmak için bilgisayarınıza herhangi bir ek yazılım yüklemeniz gerekmez. Bir terminal penceresi açın (veya Windows kullanıyorsanız komut istemi) ve komut dosyanızı kaydettiğiniz dizine gidin.
Dosyanızı derleme ve çalıştırma şekliniz sistemden sisteme değişir:
- Windows Kullanıcıları: Yazarak dosyanızı yürütülebilir yapın merhaba.c ve enter tuşuna basın. Bu, aynı klasörde, yazarak çalıştırabileceğiniz merhaba.exe'yi oluşturacaktır. Merhaba.
- Linux ve macOS kullanıcıları: Tip gcc -o merhaba merhaba.c ve çalıştırılabilir hale getirmek için enter tuşuna basın ve yazarak çalıştırın ./Merhaba.
Hangi yöntemi kullanırsanız kullanın, betiğinizi çalıştırmak size şunu göstermelidir:
Windows'ta çalışmadıysa, çalıştırdığınızdan emin olun. yönetici modunda komut istemi. macOS için, App Store'dan Xcode'u yüklemeniz ve StackOverflow'dan bu adımları izleyin.
Şimdi, nasıl çalıştığını görmek için programa satır satır bakalım ve onu geliştirelim!
Kaputun Altında: C Dilini Anlamak
önişlemciler
Yeni oluşturduğunuz komut dosyası, bir kitaplığın eklenmesiyle başlar.
#Dahil etmek
Komut dosyasındaki ilk satıra a denir önişlemci. Bu, betiğin geri kalanı derlenmeden önce gerçekleştirilir. Bu durumda, komut dosyasına şunu kullanmasını söyler. stdio.h kütüphane. Farklı görevler için çok sayıda önişlemci mevcuttur.
Stdio.h, programın kullanıcısından girdi almak ve onlara bilgi vermekle ilgilenir.
/* bu, C'deki bir Merhaba Dünya betiğidir */
Bu sonraki satır bir yorumdur. Eğik çizgi ve yıldız, derleyiciye, kendisiyle kapanış yıldızı ve eğik çizgi arasındaki her şeyi yok saymasını söyler. Bu anlamsız görünse de, kendinize ve başkalarına kodunuzun ne yaptığı hakkında net notlar bırakabilmek, temel bir alışkanlıktır.
Ana İşlev
int ana (boş)
Her C programının bir ana işlev. Main, ile gösterilen bir tamsayı döndüren bir işlevdir. int. main'den sonraki parantezler argümanları içindir, ancak bu durumda hiçbiri almaz, bu yüzden geçersiz anahtar kelime.
Yapılması gereken kodu iki kaşlı ayraç arasına yazarsınız.
{ printf("Merhaba Dünya! \n"); 0 döndür; }
Fonksiyonun içinde, yazdır() işlev. Tıpkı ana(), printf bir fonksiyondur. Aradaki fark, printf'in bir fonksiyon olmasıdır. stüdyo başlangıçta eklediğiniz kitaplık.
Printf, tırnak işaretleri arasındaki parantez içindeki her şeyi konsola yazdırır. NS \n yeni satır adı verilen ve derleyiciye devam etmeden önce konsoldaki bir sonraki satıra atlamasını söyleyen bir kaçış dizisidir.
Bu satırların bittiğine dikkat edin. noktalı virgülderleyicinin bir görevi diğerinden ayırmak için kullandığı. Bu noktalı virgüllere çok dikkat edin; onları gözden kaçırmak işlerin yolunda gitmemesinin bir numaralı nedenidir!
Son olarak, fonksiyon programı sonlandırarak 0 sayısı ile döner. NS ana() işlev her zaman bir tamsayı döndürmelidir ve dönüş = 0; bilgisayara işlemin başarılı olduğunu bildirir.
Bu betiğin her adımını anlamak, hem C sözdizimini hem de dilin nasıl çalıştığını öğrenmek için harika bir başlangıçtır.
2. Kendi C Fonksiyonlarınızı Oluşturma
C'de kendi özel işlevlerinizi oluşturabilirsiniz. Hello World'ü ana işlevde yazdırmak yerine, bunu sizin için yapacak yeni bir işlev oluşturun.
geçersiz print_for_me() { printf("Merhaba Dünya! \n"); }
Bunu parçalayalım.
geçersiz aşağıdaki işlevin hiçbir şey döndürmeyeceği anlamına gelen bir anahtar kelimedir.
print_for_me() işlevin adıdır ve boş parantezler, çalışması için bağımsız değişken gerektirmediğini gösterir. Argüman, bir fonksiyonun çalışmasını sağlamak için iletilecek herhangi bir bilgi parçasıdır - daha sonra çıktıyı değiştirmek için kendi argümanınızı ekleyeceksiniz! Not: Bu, yukarıda void kullanılan main() işleviyle aynı değildir. Bu işlev argüman alamaz, ancak bu alabilir (ancak bu durumda, zorunlu değildir).
kod bloğu size tanıdık gelmelidir - bu yalnızca orijinal ana işlevden gelen print ifadesidir.
Şimdi, bu işlevi ana işlevinizden çağırabilirsiniz.
int ana (boş) { print_for_me(); print_for_me(); 0 döndür; }
Burada kendi işlevinizi kullanmanın bir faydasını görebilirsiniz. yazmak yerine printf(“Merhaba Dünya! \n") her seferinde işlevi iki kez arayabilirsiniz.
Şu anda bu çok önemli görünmeyebilir, ancak print_for_me işleviniz çok sayıda kod satırı içeriyorsa, onu bu kadar kolay çağırabilmek büyük bir zaman tasarrufu sağlar!
Bu, eğitiminiz boyunca karşılaşacağınız temel bir programlama fikridir. Aynı büyük kod parçalarını tekrar tekrar yazmak yerine, kendi işlevinizi bir kez yazın.
3. C'de Fonksiyon Prototiplerini Kullanma
Prototipler, yeni başlayan C'nin diğer dillerden farklı olmasının başlıca yollarından biridir. Kısacası prototip, daha sonra tanımlanan bir fonksiyonun ön izlemesi gibidir. print_for_me() fonksiyonunu ana fonksiyondan sonra yazarsanız, derlerken bir uyarı alabilirsiniz:
Uyarı mesajı, derleyicinin bildirilmeden önce print_for_me işleviyle karşılaştığını söylüyor, bu nedenle program çalıştığında düzgün çalışacağından emin olamadı.
Kod yine de çalışacak, ancak bir prototip kullanılarak uyarıdan tamamen kaçınılabilir.
#Dahil etmek geçersiz print_for_me(); int ana (boş) { print_for_me(); print_for_me(); 0 döndür; } geçersiz print_for_me() { printf("Merhaba Dünya! \n"); }
Programın tamamına bakarak print_for_me() için prototipin programın başlangıcında var olduğunu ancak hiçbir şey içermediğini görebilirsiniz. Prototip işlevi, derleyiciye işlevin nasıl görünmesi gerektiğini ve argüman gerektirip gerektirmediğini gösterir.
Bu, ana işlevde onu çağırdığınızda, derleyicinin doğru çağrıldığını bilir ve gerekirse bir uyarı veya hata verebilir. Bu, şu anda garip görünen bir şey olabilir, ancak bunları şimdi bilmek gelecekte yardımcı olacaktır.
Bu program hala bir prototip olmadan çalışır, ancak bunları kullanmak için iyi bir uygulamadır. Çıktı şimdilik aynı görünüyor, daha kişisel hale getirmek için değiştirelim!
4. Argümanları C Fonksiyonlarına Geçirme
Komut Dosyasını Değiştirme
Bu son adım için, kullanıcının adını soracak ve girişlerini kaydedeceksiniz. Daha sonra daha önce oluşturduğunuz fonksiyonda kullanacaksınız. C'de kelimeler diğer programlama dillerinde olduğu gibi string olarak bilinmez.
Bunun yerine, tek bir karakter dizisidir. Bir dizinin sembolü [] ve anahtar kelime karakter. Komut dosyanızın başlangıcında prototip işlevinizi güncelleyerek başlayın:
#Dahil etmek void print_for_me (karakter adı[]);
Şimdi, derleyici, komut dosyasında daha sonra bulunan işlevin bir dizi karakter aldığını bilecektir. isim. Şimdiye kadar, bu karakter mevcut değil. Oluşturmak için ana işlevinizi güncelleyin ve kullanıcı girişini depolamak için kullanın:
int ana (boş) { karakter adı[20]; printf("Ad giriniz: "); scanf("%s", isim); print_for_me (isim); print_for_me("Herkes!"); 0 döndür; }
main içindeki ilk satır, ad olarak adlandırılan 20 olası boşluk içeren bir karakter dizisi oluşturur. Ardından, kullanıcıdan printf kullanarak adını girmesi istenir. Sonraki satır, adlı yeni bir işlev kullanır. tarama bu, kullanıcının yazdığı bir sonraki kelimeyi alır.
NS "%s" fonksiyona verileri bir dizge olarak saklaması gerektiğini söyler ve onu çağırır. isim.
İşlevi Değiştirme
Artık print_for_me'yi aradığınızda şunları ekleyebilirsiniz: isim parantez içinde. Bir sonraki satırda, tırnak işaretleri arasında oldukları sürece diğer karakterleri de iletebileceğinizi göreceksiniz. Her iki durumda da parantez içindekiler print_for_me işlevine iletilir.
Verdiğiniz yeni bilgileri kullanmak için şimdi değiştirin:
void print_for_me (karakter adı[]) { printf("Merhaba,"); koyar (isim); }
Burada parantezlerin tıpkı betiğin başlangıcındaki prototip gibi güncellendiğini görebilirsiniz. İçeride, hala printf kullanarak merhaba yazdırıyorsunuz. Burada yeni bir işlev koyar. Bu, printf'in daha gelişmiş bir sürümüdür.
Parantez içine alınan her şey konsola yazdırılacak ve yeni bir satır ( \n daha önce kullandığınız) otomatik olarak eklenir.
Kodunuzu daha önce yaptığınız gibi kaydedin ve derleyin—önceki programınızın üzerine yazmak istemiyorsanız programa farklı bir ad verebileceğinizi unutmayın. benimkinin adını verdim merhaba2:
Gördüğünüz gibi, program girişi alır ve önceden ayarlanmış “Herkes!” selamını göndermeden önce fonksiyonda kullanır. yine aynı işleve iki ayrı çıktı verir.
C Programlamanın ABC'si
Bu program basittir, ancak içindeki bazı kavramlar değildir. Çökmeleri önlemek için daha gelişmiş C kodu çok iyi yazılmalıdır. Bu yüzden birçok kişi bunun bir önce öğrenmek için mükemmel bir dil yeni programcılara iyi alışkanlıklar aşıladığı için.
Diğerleri, alt sistem kontrolünü korurken C üzerine inşa edildiğinden, C++ öğrenmenin daha iyi bir fikir olduğunu düşünüyor. (Ayrıca göz önünde bulundurulması gereken Rust var - bu bir heyecan verici programlama dili bu, sözdizimsel olarak C++'a benzer.)
Kesin olan bir şey var: Python gibi diller çok daha acemi dostudur. Eski bir dil için, C hala her yerde kullanılıyor, ancak Python geleceğin dili olabilir Python'un Geleceğin Programlama Dili Olmasının 6 NedeniProgramlama becerilerinizi öğrenmek veya genişletmek mi istiyorsunuz? Python'un bu yıl öğrenilecek en iyi programlama dili olmasının nedeni budur. Devamını oku !
Ian Buckley, Berlin, Almanya'da yaşayan serbest gazeteci, müzisyen, sanatçı ve video yapımcısıdır. Yazmadığı veya sahnede olmadığı zamanlarda çılgın bir bilim insanı olma umuduyla kendin yap elektroniği veya koduyla uğraşıyor.