1 / 45

Chapter 9 – Biçimlendirilmiş Giriş/Çıkış

Chapter 9 – Biçimlendirilmiş Giriş/Çıkış. Outline 9.1 Giriş 9.2 Akışlar ( Streams ) 9.3 printf ile çıkışı biçimlendirmek 9.4 Tam sayıları yazdırmak 9.5 Ondalıklı sayıları yazdırmak 9.6 String ve karakteri yazdırmak 9.7 Diğer dönüşüm belirteçleri

maida
Download Presentation

Chapter 9 – Biçimlendirilmiş Giriş/Çıkış

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 9 – Biçimlendirilmiş Giriş/Çıkış Outline 9.1 Giriş 9.2 Akışlar (Streams) 9.3 printf ile çıkışı biçimlendirmek 9.4 Tam sayıları yazdırmak 9.5 Ondalıklı sayıları yazdırmak 9.6 String ve karakteri yazdırmak 9.7 Diğer dönüşüm belirteçleri 9.8 Alan genişliği ve duyarlılık ile yazdırmak 9.9 printf Biçim-Kontrol Dizesinde bayrakları Kulanmak 9.10 Çıkış Dizilerini ve Hazır Bilgileri(Literal) yazdırmak 9.11 scanf ile Girişi Biçimlendirmek

  2. Objectif • Bu bölümde, şunları öğreneceksiniz: • Giriş ve Çıkış Akışları • Bütün print formatlarını kullanabilmek • Bütün input formatlarını kullanabilmek

  3. 9.1 Giriş • Bu Bölümde • Sunumun sonuçları(Presentation of results) • scanfveprintf • Akışlar (Streams (input ve output)) • gets, puts, getchar, putchar (<stdio.h> içindeki)

  4. 9.2 Akışlar • Akışlar • Bir satırdaki karakterlerin sıralarını düzenler • Each line consists of zero or more characters and ends with newline character • Bütün satırlar sıfır yada daha fazla karakter içerir ve yeni satır karakteri ile biter • ANSI C en az 254 karakterlik satırları satırları desteklemesi gerekir • Bütün Giriş ve Çıkışları Gerçekleştirir. • Can often be redirected • Standartgiriş–Klavye • Standartçıkış–Ekran • Standarthata–Ekran • Daha fazlası 11 Bölümde mevcut

  5. 9.3 printf ile çıkışı biçimlendirmek • printf • Doğruçıkışformatı • Maddeleri(specification) dönüştürme:bayraklar, alangenişlikleri, vb. • Yuvarlamayı gerçekleştirir, kolonları sıraya koymaya yarar, sağ/sol hizalamaya yarar, karakterleri kelimesi kelimesine araya ekler, üstel (exponential) format, onaltılık (hexadecimal) format, vesabit genişlik sağlar • Format • printf(format-kontrol-string, diğer-argumanlar); • Format kontrol string: çıkış formatını tanımlar • Diğer-argumanlar: biçim kontrol dizisindeki her dönüşüm tarafının karşılığıdır. • Her dönüşüm tarifi biir tüzde işareti ile başlar ve bir dönüşüm belirteci ile sonlanır.

  6. 9.4 Tam sayıları yazdırmak

  7. 9.4 Tam sayıları yazdırmak • Tam sayı (Integer) • Bütün sayılar (virgüllü olmayanlar): 25, 0, -9 • pozitif, negatif, ya dasıfır

  8. fig09_02.c

  9. 455 455 455 -455 32000 2000000000 707 455 4294966841 1c7 1C7 Program Ouptut

  10. 9.5 Ondalıklı sayıları yazdırmak • Ondalıklı sayılar • Ondalıklı kısım içerir (33.5) • Üssel yazılım biçim • 150.3şu şekilde1.503 x 10²gösterilir. • 150.3şu şekilde1.503E+02gösterilir, üssel • e ya da E kullanılır • f– dönüşüm beliteci, her zaman noktanın solunda en az bir basamakyazdırır. • g (or G) – dönüşüm beliteci,bir birini izleyen sıfırları yazdırmadan e(E) ya da f biçimindeyazdırır. • Üssel yazılım biçimine çevrildiğinde üs -4 ten küçüktür, • Ondalıklı sayılar için kullanılan tüm belirteçlerin aksi belirtilmedikçe 6 duyarlılıgına sahip olduğunu hatırlayınız.

  11. 9.5 Printing Floating-Point Numbers

  12. fig09_04.c Program Output 1.234568e+006 1.234568e+006 -1.234568e+006 1.234568E+006 1234567.890000 1.23457e+006 1.23457E+006

  13. 9.6 String ve karakteri yazdırmak • c • charargumanını yazdırmak için kullanılır • String in ilk karakterini yazdırmak için kullanılmaz. • s • Cahar göstericilerine ihtiyaç duyar. • Karakterleri Null (‘\0’) oluncaya kadar yazdırır. • charargumanını yazdırmak için kullanılamaz • Remember • Karakter sabitleri için tek tırnak kullanılır (‘z’) • Stringler için çift tırnak kullanılır (“z”)

  14. fig09_05.c A This is a string This is a string This is also a string

  15. 9.7 Diğer dönüşüm belirteçleri • p • Göstericinin değerini gösterir (adresini) • n • O andaki printf ifadesinde yazdırılan karakter sayısını tutar • Değerin tutulduğu tamsayı değişkenini gösteren bir gösterici alır • %ndönüşüm belirteci ile hiç birşey yazdırılamaz. • bütünprintfçağırımı değer döndürür • Sayı karakterleri çıkışı • Eyer hata oluşursa negatif sayı • % • Yüzde işaretlerini yazdırmak için kullanılır • %%

  16. 9.7 Diğer dönüşüm belirteçleri

  17. fig09_07.c (1 of 2)

  18. The value of ptr is 0012FF78 The address of x is 0012FF78 Total characters printed on this line: 38 This line has 28 characters 28 characters were printed Printing a % in a format control string Program Output

  19. 9.8 Alan genişliği ve duyarlılık ile yazdırmak • Alan Genişliği • Verinin yazdırılacağı alanın kesin boyutları alan genişliği ile belirlenir. • Eğer alan genişliği yazdırılacak veriden büyükse, veri o alan içinde otomatik olarak sağa yaslanacaktır. • Alan genşliğini belirten bir tamsayı, dönüşüm tarifi içinde yüzde işareti (%) ile dönüşüm belirteci arasına yerleştirilir. • %4d–alan genişliği4 olur

  20. 9.8 Alan genişliği ve duyarlılık ile yazdırmak • Duyarlılık • Anlamı veri türüne bağımlı olarak değişir • Tam sayılar ( varsayılan deüğer(default)1) • Eğer yazdırılan değer belirlenen duyarlılıktan daha az basamağa sahipse,toplam basamak sayısı duyarlılığa eşit olana kadar yazdırılan değerin önüne sıfır eklenir. • Ondalıklı sayılar • Ondalık kısımda yazdırılacak basamak sayısıdır (evef) • G /g– yazdırılacak önemli basamakların maksimum sayısıdır. • Strings • Stringten yazdırılacak en fazla karakter sayısıdır. • Format • %işareti ile dönüşüm belirteci arası (.) ve duyarlılığı belirten bir tam sayı değeri yerleştirirlir. %.3f

  21. 9.8 Alan genişliği ve duyarlılık ile yazdırmak • Alan genişliği ve duyarlılık • Aşağıdaki şekilde tanımlanabilir. • %width.precision %5.3f • Negatif alan genişliği–sola yaslanır • pozitifalan genişliği–sağa yaslanır • Duyarlılık pozitif olmak zorunda • Biçim kontrol dizesinden sonra gelen arguman listesi içinde tamsayı deyimleri olarak belirtilebilir. • Alan genişliği ya da duyarlılığı yerine yıldız karakteri (*) yerleştirilir. • Eşleşen int argümanı hesaplanır ve yıldız işareti yerine kullanılır • örnek: printf( "%*.*f", 7, 2, 98.736 );

  22. fig09_08.c

  23. 1 12 123 1234 12345 -1 -12 -123 -1234 -12345 Program Output

  24. fig09_09.c

  25. Using precision for integers 0873 000000873 Using precision for floating-point numbers 123.945 1.239e+002 124 Using precision for strings Happy Birth Program Output

  26. 9.9 printf Biçim-Kontrol Dizesinde bayrakları Kulanmak • Bayraklar • Biçim kontrol dizesi içinde bir bayrak kullanmak için, bayrağı yüzde işaretinin hemen sağına koymak gerekir. • Birden fazla bayrak tek bir dönüşüm belirteci içinde birleştirilir.

  27. fig09_11.c Programın çıktısı hello 7 a 1.230000 hello 7 a 1.230000

  28. fig09_12.c Programın çıktısı 786 -786 +786 -786

  29. fig09_13.c Programın çıktısı 547 -547

  30. fig09_14.c Programın çıktısı 02623 0x593 0X593 1427 1427.00

  31. fig09_15.c Programın çıktısı +00000452 000000452

  32. 9.10 Çıkış Dizilerini ve Hazır Bilgileri(Literal) yazdırmak • Hazır bilgileri bastırmak • Çoğu karakterler bu şekilde yazdırılır. • Biçim kontrol dizesini sınırlandıran tırnak işareti gibi(“) sorunlu bazı karakterler vardır. • Yeni satır sekme gibi çeşitli kontrol karakteri , çıkış sıraları ile temsil edilmelidir. • Bir çıkış sırası ters bölü (\) sonra, bir çıkış karakteri ile oluşturulur.

  33. 9.10 Çıkış Dizilerini ve Hazır Bilgileri(Literal) yazdırmak

  34. 9.11 scanf ile Girişi Biçimlendirmek

  35. 9.11 scanf ile Girişi Biçimlendirmek

  36. 9.11 scanf ile Girişi Biçimlendirmek • scanf • Giriş formatı • Yaptıkları • Bütün veri türlerinin girişini sağlar. • Belirli karakterlerin girişini sağlar. • Belirli karakterlerin atlanması sağlar. • Format • scanf(format-kontrol-string, diğer-argumanlar); • Format-kontrol-string • Giriş biçimini tanımlar • diğer-argumanlar • Gösterici değişkenlerinin saklanıldığı yerdir.

  37. 9.11 scanf ile Girişi Biçimlendirmek • Tarama kümeleri • Köşeli parantez [] içine yazılmış karakter kümesidir • Yüzde% işaretinden sonra yazılır • Giriş akışındaki karakterler arasında tarama kümesi içinde belirtilenlerle eşleşenleri tarar • Herhangi bir anda karakter eşlemesi olduğunda, eşlenen karakter, tarama kümesinin ilgili argümanı olan karakter dizisini gösteren gösterici içine depolanır. • Tarama kümesi, karakter almayı tarama kümesi içinde yer almayan ilk karakterle karşılaştığında durdurur. • Ters Tarama Kümeleri • Düzeltme imi kullanılır.^: [^aeiou] • Ters bir tarama kümesi içinde bulunan bir karakter ile karşılaşıldığında giriş sonlanır. • Atlanan karakterler • Scanf gereksiz karakterleri eleyemez. Bu sebepten , scanf atama bastırma karakteri olan * karakterini sunar. • Format kontrolu iceren karakterler atlanır.

  38. fig09_18.c Program Output Enter seven integers: -70 -70 070 0x70 70 70 70 The input displayed as decimal integers is: -70 -70 56 112 56 70 112

  39. fig09_19.c

  40. fig09_20.c Program Output Enter a string: Sunday The input was: the character "S" and the string "unday"

  41. fig09_21.c Program Output Enter string: ooeeooahah The input was "ooeeooa"

  42. fig09_22.c Program Output Enter a string: String The input was "Str"

  43. fig09_23.c Program Output Enter a six digit integer: 123456 The integers input were 12 and 3456

  44. fig09_24.c

  45. Enter a date in the form mm-dd-yyyy: 11-18-2003 month = 11 day = 18 year = 2003 Enter a date in the form mm/dd/yyyy: 11/18/2003 month = 11 day = 18 year = 2003 Program Output

More Related