Adım Adım C-II. Eksik kalmış konular

Benzer belgeler
Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Giris {\} /\ Suhap SAHIN Onur GÖK

PROGRAMLAMAYA GİRİŞ DERS 2

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Pointer Kavramı. Veri Yapıları

Dr. Fatih AY Tel: fatihay@fatihay.net

8. İŞARETCİLER (POINTERS)

Fonksiyonlar (Altprogram)

BİLG Dr. Mustafa T. Babagil 1

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

C Programlama Dilininin Basit Yapıları

Programlama Dilleri 1. Ders 5: Göstericiler

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

C++ Dersi: Nesne Tabanlı Programlama

Göstericiler (Pointers)

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Fonksiyonlar -Genel Test- A

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Adım Adım C. Dr. Hidayet Takcı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

C Programlama Dilinde Değişkenler

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

C PROGRAMLAMA D İ L İ

Hafta 13 Fonksiyonlar

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Eln 1001 Bilgisayar Programlama I

11- FONKSİYONLAR (FUNCTIONS)

Temel Giriş/Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları

C Programlama printf() Fonksiyonu

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Sınav tarihi : Süre : 60 dak.

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

ALGORİTMA VE PROGRAMLAMA II

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Yrd. Doç. Dr. Caner ÖZCAN

Java da İşleçler, Ders #3 (4 Kasım 2009)

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

Yrd. Doç. Dr. Caner ÖZCAN

BÖLÜM 4 FONKSİYONLAR. Fonksiyonlar programların etkinliğini, kolay yazılmasını, anlaşılmasını ve bellekte daha az yer kaplamasını sağlayan bloklardır.

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

Bölüm 2 - C ile Programlamaya Giriş

/*int sayi1, sayi2,toplam=0;

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

Genel Programlama II

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

INTEGER OVERFLOW ***************************************************************/

Biçem Belirteçleri (Format Specifiers)

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Telefon Rehberi Uygulaması

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

BÖLÜM 11: YAPISAL VERİ TİPLERİ

Bölüm 7. İfadeler ve atamalar ISBN

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

C#(Sharp) Programlama Dili

Yrd. Doç. Dr. Caner ÖZCAN

Özyineleme (Recursion)

Diziler (Arrays) Çok Boyutlu Diziler

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Örnek1: #include <iostream> #include <string> using namespace std;

Pointers (İşaretçiler)

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı. A Grubu

HSancak Nesne Tabanlı Programlama I Ders Notları

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

/* Çember alanını hesaplar */

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Ders 4: Temel Giriş/Çıkış Fonksiyonları

TEMPLATES. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz.

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

BİLDİRİM, TANIMLAMA, DEĞİŞMEZLER ve İŞLEVLER

C PROGRAMLAMA D İ L İ

Transkript:

Adım Adım C-II Eksik kalmış konular

Bu dersin amacı Bu derste; değişkenler, sabitler ve operatörler ile fonksiyonlar konusunun detayları anlatılacaktır. Ders bitiminde; Daha etkin programlar yazma becerisinin artması beklenilmektedir.

Değişken bildirimleri Sayısal değişkenler int i; short int si; unsigned int ui; long int li; float f; double d; Sayısal olmayan değişkenler char ch; // tek karakter char isim[10]; // 10 karakterlik string

Yerel ve Global değişkenler Yerel değişkenler herhangi bir fonksiyon içinde tanımlanırlar. Onlar sadece tanımlandıkları fonksiyon içinde kullanılabilirler. func1() int x; x=10; func2() int x; x=-199;

Yerel ve Global değişkenler Global değişkenler fonksiyon dışında tanımlanır ve program boyunca her yerden erişilebilir. int x, y; main() x=10; func1() y=x+10;

Tip dönüşümleri Kimi zaman farklı veri tipleri arasında atama işlemi yerine getirilebilir. Aşağıdaki örnekte bazı atamalar verilmiştir. int x; fhar ch; float f; func() ch=x; x=f; f=ch; f=x;

Değişkenlere ilk değer atama Genel kullanımı; tip değişken_adı=sabit_değer; Örnekler; char ch= a ; int first=1; float pi=3.14; char str[8]= merhaba ; char str[8]= m, e, r, h, a, b, a, \0

Aritmetik operatörler Dört işlem ve modüler işlem için; +,-,*,/ ve % kullanılır. Değer artırımları için; a=a+1 için a++ veya ++a a=a-1 için a- - veya - -a a=a+10 için a+=10 a=a-10 için a-=10 kullanılır.

Mantıksal operatörler Temel operatörler olarak; >, >=, <,<=, ==,!= kullanılır. Ayrıca; && AND OR! NOT Örnek: 10>5 &&! (10<9) 3<4

Bitwise operatörleri C ile bit işlemleri yapmak mümkündür. Bunun için bitwise operatörleri kullanılır. Operatörlerden bazıları aşağıdadır. & ^ ~ >> << AND OR XOR Tümleyen alma Sağa kaydır Sola kaydır. char x; x=7; x<<1; // 1 bit sola kaydırma x>>3; // 3 bit sağa kaydırma encode (ch) char ch; ch=~ch; return ch;

? Operatörü? Operatörü şartlı yapıları kolayca ifade etmede kullanılır. Genel kullanımı; ifade1? ifade2 : ifade3 x=10; Y=x>9?100:200; X eğer 9 dan büyük ise y 100 değerini alır aksi takdirde y, 200 değerini alır

& ve * operatörleri & operatörü değişkenlerin adresini, * operatörü ise adresi verilen değişkenlerin değerini verir. m=&count; // count değişkeninin bellekte tutulduğu adres m değişkenine atanır. q=*m; // m adresinde bulunan değer q değişkenine atanır. Eğer bu iki deyim arasında başka bir deyim yoksa, count değişkeninin değeri q Değişkenine atanır.

Fonksiyonlar konusunun detayı Bir fonksiyon için temel form; fonksiyon_adı (parametre listesi) parametre tanımlamaları; fonksiyon gövdesi;

Return (geriye dönüş) değerleri Bütün fonksiyonlar geriye bir değer döndürür. Bu değer sıfır veya başka bir değer olabilir. Eğer tip tanımı yapılmamışsa fonksiyon geriye tamsayı tipli değer döndürür.

Fonksiyon kullanımları Doğru kullanım x=power(y); if (max(x,y)>100) printf ( greater than 100 ); gibi kullanılabilir. Hatalı kullanım swap(x,y)=100; olamaz.

Fonksiyon argümanları Argümanlar fonksiyonlara iki yöntemden biri ile verilirler. Bunlar; call by value ve call by reference yöntemleridir. Call by value yönteminde, argümanların değerleri fonksiyonun parametrelerine kopyalanır. Call by reference yönteminde ise, her bir argümanın adresi fonksiyon parametrelerine kopyalanır. Call by value ile değişen sadece fonksiyon parametreleri iken call by reference yönteminde ana program içindeki argüman değerleri de değişmektedir.

Call by value ve call by reference örnekleri sqr(x) int x; x=x*x; return x; Bu örnek call by value örneğidir. Değişiklikler fonksiyon içinde yapılır. swap (x,y) int *x, *y; int temp=*x; *x=*y; *y=temp; bu bir call by reference örneğidir. Ana program içerisinden çağırırken; main() int x=10,y=20; swap(&x,&y);

Komut satırı argümanları (argc, argv) Bazı durumlarda main fonksiyonuna da parametre geçirmek gerekebilir. O zaman argc ve argv argümanlarını kullanırız. Örneğin MSDOS ortamında; Program Tom yazınca Merhaba Tom gibi bir mesajın ekrana çıkması için programda bu argümanlar olmalıdır. DOS taki harici komutlar buna benzer bir yöntemle üretilmişlerdir.

argc, argv argümanları örnek main (argc, argv) int argc; char *argv[]; if (argc!=2) printf( isim yazmayı unuttunuz ); exit(0); printf( Merhaba %s,argv[1]);

Örnek Şimdide bir örnek üzerinde öğrendiklerimizi test edelim. Örneğimiz şunları içermektedir; Veri giriş Veri listeleme Max bulma Min bulma Ortalama bulma

1 #include<stdio.h> #include<conio.h> int indis, not[5]; void verigir(int[], int); void verigoster(int[], int); void cizik(); int max(int[],int); int min(int[],int); float ort(int[],int);

2 void main() verigir(not, 5); cizik(); verigoster(not, 5); cizik(); printf("max Sayi \t:%d",max(not,5)); cizik(); printf("min Sayi \t:%d",min(not,5)); cizik(); printf("ortalama \t:%f",ort(not,5)); getch();

3 void verigir(sayi_dizi, boyut) int *sayi_dizi; for (indis=0;indis<boyut;indis++) printf("not giriniz\t:");scanf("%d",&sayi_dizi[indis]);

4 void verigoster(sayi_dizi, boyut) int *sayi_dizi; for (indis=0;indis<boyut;indis++) printf("\n%d. Not \t:%d", indis+1,sayi_dizi[indis]);

5 void cizik() printf("\n-------------------\n");

6 int max(sayi_dizi, boyut) int *sayi_dizi; int maxi=0; for (indis=0;indis<boyut;indis++) if (sayi_dizi[indis]>maxi) maxi=sayi_dizi[indis]; return maxi;

7 int min(sayi_dizi, boyut) int *sayi_dizi; int mini=101; for (indis=0;indis<boyut;indis++) if (sayi_dizi[indis]<mini) mini=sayi_dizi[indis]; return mini;

8 float ort(sayi_dizi, boyut) int *sayi_dizi; int toplam=0; for (indis=0;indis<boyut;indis++) toplam=toplam+sayi_dizi[indis]; return float (toplam/boyut);