25 Aralık 2013 Çarşamba

C Programlama Döngü Örnekleri 1

C Programlama

Klavyeden girilen bir sayının faktöriyelini bulan bir programı for, do while, while ve if goto ile yazınız?
for

#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      for (s=1;s<=sayi;s++)
      {
          fakt*=s;
      }
      printf ("Sonuc=%d dir...",fakt);
      getch();
}
while
#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      s=1;
      while (s<=sayi)
{    
            fakt*=s;
            s++;     
}
printf ("Sonuc=%d dir...",fakt);
getch();
}
do while
#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      s=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      do
      {
      fakt*=s;
      s++; 
      }
      while (s<=sayi);
      printf ("Sonuc=%d dir...",fakt);
      getch();
}
if goto

#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      s=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      bayraktar:
      {
      fakt*=s;
      s++; 
      }
      if (s<=sayi)goto bayraktar;
      printf ("Sonuc=%d dir...",fakt);
            
      getch();
}

23 Aralık 2013 Pazartesi

C Programlama Döngüler

C Programlama 
Döngüler : C Programlama Dilinde döngüler bir veya birden fazla işlem satırını programcı tarafından belirlenen sayılarda tekrarlı bir şekilde çalıştırmak için kullanılan ifadelerdir. C Programlama Dilinde, for, while ve do-while olmak üzere üç tip döngü vardır. Diğer programlama dillerinde olduğu gibi, bu deyimlerle istenildiği kadar iç-içe döngü yapısı kullanılabilir. 

for Döngüsü : Yazım şekli olarak for deyiminin üç bileşeni vardır. Birincisi ve üçüncüsü atama ifadesi ve fonksiyon çağrısı iken, ortadaki ikincisi karşılaştırma ifadesidir.

for Döngüsü Genel Yazım Biçimi : 
for (başlangıç ifadesi; koşul ifadesi; artırma ve azaltma ifadeleri;)
{
........
döngüdeki deyimler
........
}

Başlangıç İfadesi : Döngü içerisinde kullanılacak olan temel atama işlemlerini içerir.
Koşul İfadesi : Mantıksal ifadelerin bulunduğu kısımdır.
Artırma ve Azaltma İfadeleri : Döngü içerisinde kullanılacak sayaç değişkenlerinin değerlerinin değiştirildiği komutları içerir.

Yazım biçiminde gördüğünüz gibi bileşenler arasında (;) bulunması zorunludur. Örneğin karşılaştırma ifadesi yazılma ise koşulun her zaman pozitif olduğu kabul edilir ve  döngü koşulsuz tekrarlanır.

for (;;) 
{
....
}

ifadesinde sonsuz bir döngü oluşturmuş oluruz.

18 Aralık 2013 Çarşamba

C Programlama switch - case Yapısı

C Programlama 


switch - case Yapısı : Bu yapı bir değişkenin içeriğine bakarak, programın akışını bir çok seçenekten birine yönlendirir. case (durum) yapısından sonra değişkenin durumu belirlenir ve sonraki gelen satırlar işleme girer. Aksi söz konu olduğunda gerçekleştirilmesi istenen deyimler default deyiminden sonraki kısımda bildirilir. Kısaca yapının temel amacı  değişkenin değerine göre programın çalışmasına yön vermektir. Aynı işlem if else yapısı ilede uygulanabilsede daha kolay okunması nedeniyle programcılar tarafından tercih edilmektedir.

switch - case yazım biçimi  ve akış diyagramı :
switch( degisken ) {
 case sabit1:
  komut(lar)
  [break]
 case sabit2:
  komut(lar)
  [break]
 .
 .
 .
 case sabitN:
  komut(lar)
  [break]
 default:
  komut(lar);
} 

17 Aralık 2013 Salı

C Programlama Koşul ve if else Yapıları

C Programlama 

Koşullu (Conditional) İfadeler : C Programlama Dilinde tüm işlem satırlarını herhangi bir koşula bağlı olmaksızın çalıştırabiliriz fakat, bazı durumlarda belirli işlemler için istenen koşullar sağlandığında çalışması gerekebilecek satırların belirlenmesi gerekebilir. Bu koşulları devreye sokmaya yarayan program yapılarına "Program Kontrol Terimleri" adı verilir. Programlarınızda sizin tarafınızdan belirlenen koşullara bağlı olarak çalıştırmak istediğiniz işlem satır veya satırları olacaktır. Tanımlanan koşul sağlanmadığı zaman söz konusu işlem satır veya satırları programda hiç yer almamış gibi değerlendirilecek başka bir ifade ile hiç çalışmayacaklardır. Program aynı işlem satırı içinde yer alan koşul bölümünü değerlendirdiğinde sadece olumlu sonuç alırsa satırın geri kalanına işlem yapacak aksi takdirde bu satırları görmeden atlayacaktır. 

if, if-else Yapıları : Bu yapılar, koşullu işlem yapan kontrol yapılarıdırlar. if ve else tek bir karşılaştırma deyimi olup else kullanımı isteğe bağlıdır. Eğer bu koşul olumlu ise if den sonraki bölüm yürütülür ve else den sonraki bölüm atlanır. Koşul olumsuz ise if den sonraki satırlar atlanır ve eğer varsa, else den sonraki işlemler gerçekleştirilir. 

if yapısının genel biçimi: 
if(koşul)
{
........
işlem satırı; (ifade) ........
}
if ile başlayan komut satırında if'den sonra yer alan parantezler içindeki koşul doğru ise (koşul sonucu 0'dan farklı ise) aynı satırda if yapısından sonra yer alan işlem satırı çalışır. Eğer koşul yanlış ise (ifade sonucu 0'a eşit ise) if yapısından sonra yer alan işlem satırı devre dışı kalır. Programımız o işlem satırı hiç yazılmamış gibi bir sonraki işlem satırından çalışmaya devam eder.

Örnek  if kullanımı :
#include<stdio.h>
int main( void )
{
 int s1; //girilen sayimiz//
 printf("Lütfen bir tam sayı giriniz: ");
 scanf("%d",&s1);
 if( s1 > 100 )
  printf("Girilen sayı 100'den büyüktür\n");
 return 0;
}

Örnek programımızda klavyeden, bir tam sayı girilmesi istenmektedir. Ve bizde girilen sayı, 100'den büyükse koşulunu vererek ekrana "Girilen sayı 100'den büyüktür" yazdırmaktayız.

15 Aralık 2013 Pazar

C Programlama getchar(), putchar(), getche() ve getch() Fonksiyonları

C Programlama 


C Programlama Dilinde klavyeden girilen verileri okutmak için getchar(), putchar(), getche() ve getch() kütüphane fonksiyonlarından birini kullanabiliriz. Şimdi, bu fonksiyonları sıra ile incelemeye çalışalım.

getchar() ve putchar() Fonksiyonları : Klavye arabelleğini kullanan fonksiyonlardan biridir. Herhangi bir parametreye sahip değildir. Fonksiyon her çağrıldığında kullanıcıdan klavyeden girdiği ilk harfi alır ve geri döndürür. Klavye arabelleğini kullanan bir fonksiyon olması nedeniyle döndürme işleminden önce kullanıcıdan Enter tuşuna basmasını bekler. stdio.h isimli kütüphane dosyasında tanımlanmışlardır. putchar fonksiyonu ise, ekrana tek bir karakter yazar. putchar fonksiyonunun parametresi int bir değerdir, ancak bu değer fonksiyon tarafından unsigned char bir değere çevrilir. Eğer işlem başarılı olursa, putchar fonksiyonu parametre olarak verilen karakteri ekrana yazdırır.

Klavye Arabelleği Kavramı (Keyboard Buffer) : İşletim Sistemlerinde klavyeden yazılan harflerin depolandığı arabellektir. Kullanıcıdan metin girişi istendiğinde yazılan metin bu bellekte tutulur. enter tuşuna basılıncaya kadar programımız kullanıcı girişine tepki vermez. enter tuşuna basıldığında ise bellek boşaltılır. Biz klavyeden bir bilgi girdiğimizde aslında standart I/O dosyasına yazmış oluyoruz. yani bizim girdi ve çıktı olarak bildigimiz klavye, ekran aslında birer input ve output dosyalarını temsil etmektedir. C Programlama Dilinde bunları stdin dosyası ve stdout dosyası denir. stdin dosyasının varsayılan değeri klavye, stdout dosyası ise ekranı temsil eder. C Programlama Dili fonksiyonlarının büyük çoğunluğu bu şekilde çalışmaktadır.

Örnek getchar() ve putchar() Fonksiyonları
#include <stdio.h>

int main(int argc, char** argv)
{
    char karakter;
    //klavyeden bir karakter oku ve enter tusunu bekle//
    printf("bir karakter giriniz ve enter tusuna basiniz:");
    karakter=getchar();
    printf("girilen karakter:");
    //okunan karakteri ekrana yazdir//
    putchar (karakter);
    return 0;
}

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü