2a39bc1a5b5c6a438a6a868b3c2827f5.ppt
- Количество слайдов: 36
printf n Bu komut ekrana çıktı veren komuttur. Pascalda kullanılan writeln komutuyla aynı anlamdadır.
Değişkenler
Program içerisindeki konumlarına göre değişkenler a) Lokal değişkenler. Sadece tanımlandığı fonksiyonun içerisinde değer alabilen değişkenlerdir. Diğer fonksiyonlar içerisinde bu değişkenler kullanılamaz. b) Global değişkenler. Ana ve yardımcı fonksiyonların dışında tanımlanır. Bütün fonksiyonlarda bu değişkenler kullanılabilir.
//Örnek program fonk 1( ); int a; main( ) { a=11; int b=10; fonk 1 ( ); } fonk 1 ( ) { a=12; int c=0 }
#include<stdio. h> #include<conio. h> void fonk 1(); int a, b, c; void main() { clrscr(); a=10; b=50; fonk 1(); printf(" a=%d b=%d c=%d", a, b, c); } void fonk 1() { c=a*b; }
C programında değişkenlerin genel prototipleri aşağıda verildiği gibidir. değişken tipi değişken_1, değişken_2, . . . , değişken_n; C’de kullanılan değişken tipleri aşağıda sıralanmıştır.
a) char tipi değişken -128 ile +127 arasındaki tam sayı işlemlerinin yapılabilmesinde kullanılır. Bellekte 1 baytlık alan kullanılır. Örnek; char x, y, z; char sayi; char rakam;
b) int tipi değişken Bu tip değişkenler -32768 ile +32767 arasındaki tamsayı değerleri için kullanılır. Bellekte 2 byte 16 bitlik alan kaplar. Örnek; int x, y, z; int boy, sayı;
c) float tipi değişken Bu tip değişkenler ± 3, 4 E-38 ile ± 3, 4 E+38 aralığındaki işlemlerde kullanılır. Bellekte 4 byte 32 bitlik alan kaplar. Örnek; float x, y, z; float boy, sayı;
d) double tipi değişken Bu tip değişkenler ± 1. 7 E-308 ve ± 1, 7 E+308 aralığındaki işlemlerde kullanılır. Bellekte 8 byte 64 bitlik alan kaplar. Örnek; double x, y, z, r; double sonuç, toplam;
e) unsigned tip tamlayıcı char ve int tipi tam sayı değişkenleri için kullanılır. Değişkenlerin sadece pozitif tanımlanması gereken durumlarda kullanılır. unsigned char x, y, z; 0 -255 arasında değer alabilir. unsigned int x, y, z; 0 -65535 arasında değer alabilir.
f) long tip tamlayıcı int ve float ve double tipi değişkenlerinin aralıklarının artırılması için kullanılır. long int x, yz; 4 bayt, -214 748 3648. . . +214 748 3647 unsigned long int x, y, z; 4 bayt, 0. . . . +4294967295 long float x, yz; 8 bayt, ± 1. 7 E-308. . ± 1, 7 E+308 long double x, y, z; 10 bayt, ± 3, 4 E-4932. . ± 3, 4 E+4932
g) Sabitler Program başlangıcında tanımlanırlar ve program içerisinde değiştirilemezler. 2 şekilde tanımlanabilir. define Başlık dosyalarından sonra tanımlanır. Program içerisinde değiştirilemez. #define sabit_ismi sabitin alacağı değer yada ifade #define PI 3. 14
const Sabit bildirimi, başlangıç değeri verilen değişken bildirimi gibi yapılır, ancak veri tipinin önüne const anahtar sözcüğü koyulmalıdır. Örneğin; Const float pi= 3. 142857 ; Const double e= 2. 718281 ; Const int EOF= -1 ; Const char[] =“Bir tuşa dokunun”; gibi sabit bildirimleri g. Eçerli olup bunların içerikleri program boyunca değiştirilmez, yalnızca kullanılabilir.
Değişken Tanımlanırken şu kurallara dikkat edilmelidir. Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir. (0 -9). Değişken adında özel karakter kullanılmaz. Değişken adında boşluk bırakılmaz. Sadece İngilizce karakterler yer almalıdır. (ö, ü, ç, ş, ğ, ı olmamalı). Değişkenler büyük ve küçük harf duyarlıdır. (sayi 3 eşit değil Sayi 3). Değişkenin uzunluğu 32 karakteri geçmemelidir. Değişken C/C++’a ayrılmış özel adlardan olmamalıdır.
Özel karakterler ’ ’ boşluk , virgül ! ünlem . nokta ; noktalı virgül : iki nokta üste ‘ tırnak “ çift tırnak ( sol parantez ) sağ parantez [ sol köşeli parantez ] sağ köşeli parantez { sol küme } sağ küme | duvar / slaş ters slaş ~ tilda + artı # diyez % yüzde & ve ^ şapka * yıldız - Eksi = eşit < küçük > büyük
Özel Değişkenler break case char const extern float for goto sizeof static struct switch continue default do double else if int long return short typedef unsigned void while enum signed
Geçerli Tanımlama: Sayi 1 Ogr_Numarasi Adres OLCME Sayi 1 a_switch Hatalı Tanımlama: 1 ncisayi Ogr Numarasi Genel#Toplam ölçme 1 Sayi switch
Örnek 1 #include<stdio. h> #include<conio. h> #define PI 3. 14 void main() { clrscr(); float r, alan, cevre; r=1. 5; alan=PI*r*r; cevre=2*PI*r; printf("daire alanı = %5. 2 fn", alan); printf("daire çevresi=%5. 2 f", cevre); getche(); }
printf (): Fonksiyonu Sayısal ve alfanümerik değerleri ekrana (çıkış elemanı olarak tanımlı ise) göndermek için kullanılan formatlı çıkış fonksiyonudur. Bu fonksiyon stdio. h başlık dosyası altında tanımlıdır. Dolayısıyla fonksiyonunu kullanımı için stdio. h başlık dosyasının programa eklenmesi gerekir. Kullanım biçimi: Genel yazım formatı; printf(“format dizisi”, değer yada değişken listesi);
Örnek: printf(“x değişkeninin değeri=%f= n” , x); printf(“Ahmet’in yaşı= %d n” , 16); printf(“a =10”); Ekrana a=10 ifadesini yazar. a değişkenin içeriği değişse bile ekrana a=10 yazılmaya devam edilir. a’nın program içerisinde aldığı değerin yazdırılması için format tanımlayıcı ile beraber kullanılması gerekir.
int k=12; k değişkeni görüldüğü gibi int tanımlıdır. int değişkenler için format tanımlayıcı %d’dir. Yani: printf(" sonuc = %d", k); %d olan yere k int sayısının sayısal değeri yazdırılacaktır. Dönüşüm belirlemek için önce % karakteri ve ardından dönüşümün nasıl olacağını belirten karakter verilir.
Bu karakterlerden bazıları: Veri Türü Printf Scanf char int unsigned int short int %c %d %u %hd unsigned short int %lu long int %ld unsigned long int %lu %f %lf, %le %f %lf float/double(bilimsel) %e %e string (kelime) pointer %s %x float double long double
Örnekler: Aşağıdaki program parçası çalıştırılmış olsa ekranda ne görülür? i = 5 ; printf("%d", i); printf("'i=%d", i) ; printf("i=") ; printf("i=n") ; printf("%d", i) ; printf('i=%dn", i) ; printf("%d - %d", i, 5*i);
ÇÖZÜM program parçası ekranda görünen / imleçin konumu i = 5 ; printf("%d", i); //5 printf("'i=%d", i) ; //i=5 printf("i=") ; //i= printf("i=n") ; //i= printf("%d", i) ; //5 alt satıra geçer printf('i=%dn", i) ; //i=5 alt satıra geçer printf("%d - %d", i, 5*i); //5 - 25
BİÇİMLİ YAZMA STRING DEĞİŞKENLER İÇİN s = "ABCDEF" printf("%10 s ", s); . . A B C D E F printf("%10. 3 s ", s); . . . . A B C FLOAT DEĞİŞKENLER İÇİN x = 128. 503 ; printf("%7. 2 f", x) ; 128. 50 x = 85. 47 ; printf("%6. 3 f", x) ; 85. 470 printf("%6. 1 f", x) ; ## 85. 5
örnek #include<stdio. h> #include<conio. h> void main() { clrscr(); char a; float e; int b; long float f; unsigned int c; double g; long int d; a=10; e=12. 2; b=270; f=12. 333; c=50000; g=233. 1111111; d=200000; printf("a'nin değeri=%dn", a); printf("b'nin değeri=%in", b); printf("c'nin değeri=%un", c); printf("d'nin değeri=%ldnn", d); printf("e'nin değeri=%fn", e); printf("f'nin değeri=%lfn", f); printf("g'nin değeri=%lfn", g); }
SORU : En fazla dört basamak olabilen sayının basamak değerlerini yazdır. % ve / işlemlerinin kullanımı.
ÇÖZÜM #include <stdio. h> main() { int i, y; y=1985; i= y / 1000; printf("%d", i); y= y-i*1000; i= y / 100; printf(" %d", i); y = y-i*100; i= y / 10; printf(" %d", i); y = y-i*10; printf(" %dn", y); i = 1928; // Yöntem 2 printf("%d ", i / 1000); printf("%d ", (i / 100) % 10); printf("%d ", (i / 10) % 10); printf("%dn", i % 10); }
Örnek #include<stdio. h> #include<conio. h> #define carp(a, b) (a*b) void main() { clrscr(); int x, y, z; x=99; y=3; z=carp(x, y); printf("Çarpım=%d", z); getche(); }
Örnek #include<stdio. h> #include<conio. h> #define YAZ printf("z= %dn", z) void main() { clrscr(); int x, y, z; x=15; y=6; z=x+y; YAZ; z=x-y; YAZ; z=x/y; YAZ; z=x*y; YAZ; z=x%y; YAZ; }
scanf () Fonksiyonu Klavyeden veri okumak için kullanılır. Yapı olarak printf () fonksiyonu aynıdır. Kullanım biçimi: Genel yazım formatı; scanf(“format_dizisi”, değer yada değişken listesi); scanf(“%d”, &x); Girilen karakterler format ile belirtilen şekle göre değişkenlere aktarılır. Değişkenler işaretçi tipinde olmalıdır. Yani parametre olarak değişkenin adresi gönderilmelidir.
scanf("%f %f %f ", &a, &b, &c); scanf işlevinin değeri =0 ise hiçbir değişkene değer atanmamış >0 ise başarılı bir şekilde değer atanan değişken sayısı
int a, b, c; float m, n; scanf("%d", &a); Klavyeden tamsayı okur. Girilen değer a değişkenine aktarılır. scanf("%d %d", &a, &b); Klavyeden girilen ilk değer a değişkenine, ikinci değer b değişkenine aktarılır. scanf("%f %d", &m, &a); Klavyeden 1. float, ikincisi tamsayı olmak üzere iki değer okur.
İkinci dereceden denklem çözümünün yapıldığı örnekte katsayıları klavyeden okutmak istersek scanf("%f %f %f ", &a, &b, &c); printf(“Katsayıları sırasıyla giriniz (a b c) : ” ); scanf("%f %f %f ", &a, &b, &c); printf(“a katsayısını giriniz : “); scanf(“%f”, &a); printf(“b katsayısını giriniz : “); scanf(“%f”, &b); printf(“c katsayısını giriniz : “); scanf(“%f”, &c);
2a39bc1a5b5c6a438a6a868b3c2827f5.ppt