PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu

Slides:



Advertisements
Benzer bir sunumlar
STRİNG FONKSİYONLARI.
Advertisements

Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Nöbetçi Kontrollü Döngü
Kontrol İfadeleri : 2.Kısım
Göstericiler (Pointers)
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
switch - case Yapısı Döngü Yapıları
String Diziler(Katarlar)
Bölüm 4 – Kontrol İfadeleri:1.kısım
Bölüm 2: Program Denetimi
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
4. KONTROL VE DÖNGÜ KOMUTLARI
Bölüm 10 Yapılar ve Birleşimler
Karar ifadeleri ve Döngüler
Yapısal Program Geliştirme – if, if-else
OPERATÖRLER.
Program Kontrol İfadeleri
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
Döngü Yapıları.
Temel Veri Türleri ve Operatörler
Kontrol Yapıları ve Döngüler
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
DÖNGÜLER.
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
JAVA’DA DÖNGÜLER.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Algoritma & Programlama
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 5: Operatörler
3. HAFTA 3. Hafta.
1 7. HAFTA. 2 Referanslar  Referanslar adres temsilcisidir  İşaretçilerin görevlerini kısmi olarak yapabilirler  Değişken değildirler.  Bellekte yer.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bölüm 4 Seçme Komutları Alıştırmalar
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bilgisayar Programlama BIL 107
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
BÖLÜM 5 POINTER’LER (İŞARETÇİLER)
YAPISAL PROGRAMLAMA Hafta-6
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
Bilgisayar Programlamasına ve Veri Analizine Giriş
YAPISAL PROGRAMLAMA Hafta-7
Bölüm 2: Program Denetimi
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bölüm 3: Göstergeler BTEP 102 – Veri Yapıları ve Programlama
?: KARŞILAŞTIRMA OPERATÖRÜ
Aritmetik Operatörler
Bir Döngünün Bölümleri (hatırlatıcı)
Sunum transkripti:

PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu A karşılaştırma 1. if koşulu 2. if else koşulu 3. if - else if koşulu 4. (? :) üçlü koşul 5. goto deyimi 6. switch deyimi B tekrarlama 7. do-while döngüsü 8. while döngüsü 9. for döngüsü

KARŞILAŞTIRMA OPERATÖRLERİ Bu operatörler ilişki operatörleri olarak da adlandırılır ve sayısal değerleri veya karakterleri karşılaştırmak için kullanılırlar. C dilinde karşılaştırma operatörleri karakter katarları( strings) için kullanılmazlar. Bunların karşılaştırılması için standart kütüphanede strcmp ( ) ve buna benzer birçok fonksiyon vardır.

Karşılaştırma operatörleri şunlardır: > büyük mü? >= büyük veya eşit mi? < küçük mü? <= küçük veya eşit mi? == eşit mi? != farklı mı?

Genelde karşılaştırma ve döngü deyimlerinde koşulun sınanması için kullanılırlar. Karşılaştırma sonucu doğru( true ) ya da yanlış ( false ) çıkar. Koşul doğruysa olumlu varsayılarak, koşul sonunda istenenler yerine getirilir. Yanlış ise olumsuz varsayılır ve istenenler atlanır.

İf koşulu if (şart) ifade; if (x>y) pirint f (“x büyüktür”); if (şart) { ifade 1; ifade 2; ... ... } if (x>y) { print f (“x büyüktür”); print f (“y küçüktür”); }

if-else koşulu if (şart ) ifade 1; else ifade 2; if (x>y) printf (“x büyüktür”) else printf (“y büyüktür veya eşittir”) if (şart) { ifade 1; ifade2; } ifade 4; ifade 5;

İf else if koşulu if (şart 1) ifade 1; else if (şart 2) ifade 2; else if (şart 3) ifade 3; .................................. else ifade 4; if (x>y) print f (“x>y”); else if (x=y) printf (“x=y”); printf (“x<y”);

Örnek 1. /*if - else*/ #include<stdio.h> #include<conio.h> void main() { clrscr(); int x; char y; printf("bir tamsayi giriniz:"); scanf("%d",&x); printf("\n"); y=x; if(x>=-128 && x<=127) printf("girdiğiniz sayı char tipine uygundur. sayı=%d dir",x); else printf("girdiğiniz sayı char tipine uygun değildir=%d",y); getche(); }

Örnek 2. /*if -else if */ #include<stdio.h> #include<conio.h> void main() { clrscr(); int temp,k; printf("Sıcaklık değerini giriniz"); scanf("%d",&temp); if(temp<30 && temp>20) printf("normal bir gün (Hava sıcaklığı=%d derece)",temp); else if(temp>30) printf("sıcak bir gün (Hava sıcaklığı=%d derece)",temp); else printf("soğuk bir gün (Hava sıcaklığı=%d derece)",temp); getche(); }

YAPILMASI İSTENENLER 9 Girilen bir sayının tek veya çift sayi olduğunu bulan program. 10 Kullanıcıdan iki sayi girmesini isteyen ve sayıların büyüklüğünü karşılaştıran program. 12 Yaşı girilen bir kişinin seçimlerde oy verme yeterliliği olup olmadığını test eden program.

MANTIKSAL OPERATÖRLER Karşılaştırma ve döngü deyimlerinde koşulun sınanması için karşılaştırma operatörleri kullanılır. Ancak birden fazla koşul olduğunda bunların birleştirilip, tek bir koşul durumuna getirilmesi gerekir. Böyle durumlarda mantıksal operatörler kullanılır. Diğer bir deyişle,mantıksal operatörler birden çok koşulun birleştirilmesi veya koşulun tümleyenini almak için kullanılır.

Mantıksal operatörler; && VE AND ll VEYA OR ! DEĞİL NOT

Operatörlerin doğruluk tablosu x ve y’ nin mantıksal değişken olarak kullanıldığı ve doğruyu 1, yanlışı 0 varsayılarak aşağıda verilmiştir. VE VEYA DEĞİL X Y SONUÇ 1

BİTLER ÜZERİNDE İŞLEM YAPAN OPERATÖRLER Bitler üzerinde işlem yapmak, bir tamsayı yada karakter değişkenin (short,int,long ve char) bir bütün olarak sayısal değeri üzerinde değil de doğrudan bitlerini sınamak, değiştirmek ve öteleme yapmak anlamına gelmektedir. Örneğin, bilgisayarın iletişim kanalından alınan bir kısa tamsayının ikinci bitinin ne olduğu öğrenilmek isteniyorsa, bu operatörleri kullanmaya gerek vardır. Bu operatörler, kullanıcıya işlemcinin birleştirici dili düzeyinde( assembly) , bitler üzerinde çalışma olanağı verir.

Bit üzerinde işlem yapan altı operatör vardır. Bunlar: & bit düzeyinde VE (bitwise AND) l bit düzeyinde VEYA (bitwise OR) ^ bit düzeyinde YA DA (bitwise XOR) ~ bir’e tümleme (one’s complement) << sola öteleme (left shift) >> sağa öteleme (right shift)

VE OPERATÖRÜ: Genelde bir değişkenin bazı bitlerini sıfırlama için kullanılır. VEYA OPERATÖRÜ: Bir sayısal değişkenin bazı bitlerini birlemek için kullanılır. YA DA OPERATÖRÜ: Karşılaştırılan bitlerin değeri birbirinden farklı ise 1, aynı ise 0 üretir. Bir değişkenin kendisi ile YA DA’lanması sayısal değerini sıfırlar. Çünkü bütün karşılıklı bitler aynı olacağından, bütün bitler sıfırlanacaktır.

YA DA OPERATÖRÜNÜN DOĞRULUK TABLOSU X Y ^ 1

BİRE TÜMLEME OPERATÖRÜ: Bir değişkenin tüm bitlerinden 1 olanları 0, 0 olanları 1 yapar. ÖTELEME OPERATÖRLERİ: Değişkenlerin bitlerini sağa ya da sola kaydırmak için kullanılır.

X*= y+1; ifadesi ile x=x*(y+1); aynıdır… Bütün operatörler basit atama operatörü ile birlikte kullanılmaz; geçerli olan bitişik atama operatörleri aşağıdaki çizelgede verilmiştir: Operatör tanımı += ekleyerek,atama -= çıkararak atama *= çarparak atama /= bölerek atama %= bölüp,kalanını atama <<= sola öteleyerek,atama >>= sağa öteleyerek,atama &= bit düzeyinde VE’leyerek atama l= bit düzeyinde VEYA’layarak atama ^= bit düzeyinde YADA’layarak atama =~ bit düzeyinde tümleme ve atama X*= y+1; ifadesi ile x=x*(y+1); aynıdır…

Girilen tarihteki günün adını veren programı yazınız.

#include <studio.h> main ( ) { int gun, ay, yıl ; long gt ; printf(“Tarihi gir”) ; scanf ( “%d %d %d “,&gun) /* oncekı yıllardakı gun sayısını hesapla */ gt=( yıl*1)*365 + yıl/4; /* bu yildaki aylardaki gunleri ekle */ if (ay==2) gt = gt + 31 ; else if (ay ==3) gt = gt + 31 + 28 ; else if (ay ==4) gt = gt + 31 + 28 +31; else if (ay ==5) gt = gt + 31 + 28 +31+ 30 ; else if (ay ==6) gt = gt + 31 + 28 +31+ 30 +31; else if (ay ==7) gt = gt + 31 + 28 +31+ 30 +31+ 30 ; else if (ay ==8) gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31 ; else if (ay ==9) gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31+30 ; else if (ay ==10) gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31+30 + 31; else if (ay ==11) gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31+30 + 31+ 30 ; else if (ay ==12) gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31+30 + 31+ 30 +31;   /*Bu ayı ekle */ gt = gt+ gun; if(yıl%4==0 && ay>2) gt =gt+1; gt=gt %7, if(gt==1) printf(“Pazar”); else if(gt==2) printf(“Pazartesi”); else if(gt==3) printf(“Salı”); else if(gt==4) printf(“Carsamba”); else if(gt==5) printf(“Persembe”); else if(gt==6) printf(“Cuma”); else if(gt==7) printf(“Cumartesi”); }

#include <stdio.h> main ( ) { long int gun, ay, yil ; long gt ; printf("Tarihi gir") ; scanf ( "%ld%ld%ld",&gun,&ay,&yil) ; gt=( yil)*365 + yil/4; if (ay==2) gt = gt + 31 ; else if (ay ==3) gt = gt + 59 ; else if (ay ==4) gt = gt + 90; else if (ay ==5) gt = gt + 120 ; else if (ay ==6) gt = gt + 151; else if (ay ==7) gt = gt + 181 ; else if (ay ==8) gt = gt + 212 ; else if (ay ==9) gt = gt + 242 ; else if (ay ==10) gt = gt + 273; else if (ay ==11) gt = gt + 303 ; else if (ay ==12) gt = gt + 334; /*Bu ayı ekle */ gt = gt+ gun; if(yil%4==0 && ay>2) gt=gt+1; gt=gt%7; if(gt==2) printf("Pazar"); if(gt==3)printf("Pazartesi"); if(gt==4) printf("Salı"); if(gt==5) printf("Carsamba"); if(gt==6) printf("Persembe"); if(gt==0) printf("Cuma"); if(gt==1) printf("Cumartesi"); }

& ve * İŞARETÇİ OPERATÖRLERİ İşaretçi (pointer), bir değişkenin bellekteki adresidir. İşaretçi değişken bu adresin saklanacağı özel bir değişkendir. Bu tip değişkenlere yalnızca adresler veya diğer işaretçi değişkenler atanabilir.

KARAKTERİ : Bu işaret iki amaçla kullanılır * KARAKTERİ : Bu işaret iki amaçla kullanılır.ilki, işaretçilerin bildiriminde, ikincisi bir işaretçi değişkenin işaret ettiği bellek gözüne erişmekte. & KARAKTERİ: Daha önce bit üzerinde VE işlemi yapan operatör olarak kullanılmıştı.ancak işaretçi operatör olarak bir değişkenin önüne koyularak ta kullanılır. Bu değişkenin değeri ile değil de bellekte bulunduğu adresi ile ilgileniyor anlamına gelir. SIZEOF OPERATÖRÜ: Bir değişkenin veya veri tipinin bellekte kaç sekizli yer kapladığını verir. Farklı tipte değişkenler kullanılan bir bağıntının sonucunun kaç sekizli yer kaplayacağını öğrenmek için de kullanılabilir. Sizeof nesne ve sizeof(tip) olarak iki farklı şekilde kullanılabilir.

OPERATÖRLERİN ÖNCELİKLERİ OPERATÖRLER AYNI BAĞINTIDA KULLANILDIĞINDA ( ) [ ] -> . SOLDAN SAĞA ! ~ ++ -- + - * & (type) sizeof SAĞDAN SOLA * / % SOLDAN SAĞA + - SOLDAN SAĞA << >> SOLDAN SAĞA < <= > >= SOLDAN SAĞA == != SOLDAN SAĞA & SOLDAN SAĞA ^ SOLDAN SAĞA | SOLDAN SAĞA && SOLDAN SAĞA || SOLDAN SAĞA ?: SAĞDAN SOLA = += -= *= /= %= &= ^= |= <<= >>= SAĞDAN SOLA , SOLDAN SAĞA

DEVAMI Operatörler aynı bağıntıda kullanıldığında ^ SOLDAN SAĞA ?: SAĞDAN SOLA = += -= *= /= %= &= ^= |= <<= >>= SAĞDAN SOLA , SOLDAN SAĞA