5-ma`ruza si dasturlash tilida kiritish-chiqarish funktsiyalari va operatorlari
Download 210.08 Kb. Pdf ko'rish
|
5-Maruza-1
- Bu sahifa navigatsiya:
- Ma`lumotlarni bosmaga chiqarish
getch funktsiyasi Dasturlash jarayonida ba`zan ekrandan bitta simvolni kiritish talab etiladi, yani u char tipidagi funktsiya bo’lib hisoblanadi. Masalan char m;
m=getch(); deb yozilgan bo’lsa, ekrandan simvol kiritish kutib turiladi va ixtiyoriy belgi klaviaturadan bosilishi bilanoq u m ga o’zlashtirilib dastur bajarilishi davom
ettiriladi. Shuning uchun ham dasturchilar dasturda kutish hollarini hosil qilish uchun getch funktsiyasiga ko’p murojaat qiladilar.
Si da malumotlarni bosmaga chiqaruvchi asosiy funktsiya bo’lib printf hisoblanadi. Uning umumiy ko’rinishi quyidagicha: printf( bu erda obektlarni bosmada ko’rinishini aniqlashtiruvchi andoza. Ob`ektlar bosmaga chiqarilishdan oldin format satridagi andozaga ega bo’lishadi. Ob`ekt – o’zgaruvchi, o’zgarmas, ifoda, funktsiya nomi bo’lishi mumkin. % [flags] [width] [. precision] [F/ N / h / 1 / L.] bu erda [flags] – bosmaga chiqarishda tasvirlanadigan belgini tekislash uchun xizmat qiladi va quyidagilardan biri bo’lishi mumkin - - chap tomon maydoni bo’yicha tekislab bosmaga chiqarish + - har doim raqamli belgini bosmaga chiqarish # - o’nli sonlarni bosma chiqarishga ta`sir ko’rsatmaydi, biroq sakkizlik sanoq sistemasidagi son oldiga nol, o’n oltilik sanoq sistemasidagi son oldiga Ox yoki OX belgi bosmaga chiqariladi. Barcha format % belgisi bilan boshlanib, bitta harfga ega bo’ladi. Bu harf bosmaga chiqariluvchi ob`ektning bosmadagi tipini aniqlaydi. Agar ob`ekt tipi va formatda belgilangan tip bir-biriga mos kelmasa, sistema ob`ekt tipini formatda belgilangan tipga almashtirishga harakat qiladi. Shuningdek maydon uzunligini % bilan format belgisi o’rtasida berishimiz ham mumkin. Masalan, agar dastur qismi int a=5.267; printf(“%f”,a); kabi bo’lsa, ekranda 5.267000 soni chiqadi. Endigi dastur qismi int a=5.267; printf(“%4.2f”,a); kabi bo’lsa ekranda 5.27 soni chikadi, chunki biz chop etiladigan kattalik uchun 4 ta joy undan ikkitasini verguldan keyinga ajratdik. Misoldan ko’rinadiki, agar verguldan keyinga kam joy ajratilgan bo’lsa, sonning kasr qismi yaxlitlanadi. Agar chop etiladigan son formatda keltirilgan shablondan katta bo’lsa, shablon inobatga olinmaydi va son xotiradagidek chop etiladi. Masalan, int a=225.567; printf(“%4.2”,a); kabi dastur qismi ishlasa, ekranda 225.567 chiqariladi. Chiqarish funktsiyasida izohlar ham yozish mumkin. Izohlar format satrida to’g’ridan-to’g’ri yoziladi. Masalan, printf(“sum= %f”,s); degan buyruqdan so’ng ekranda sum=so’zi va s o’zgaruvchining qiymati chiqariladi. printf(“ Salom toglar \n”);
buyrug’i bilan esa ekranda «Salom toglar» so’zi chiqarilib, kursor keyingi satrga o’tkaziladi. Agar biz bosmaga «%» belgisining o’zini chiqarmoqchi bo’lsak, printf “%%”); kabi yozishimiz kerak bo’ladi. Agar biz bosmaga «\» belgisini chiqarishimiz kerak bo’lsa, printf(“\\”); kabi yozishimiz kerak. Umuman, chiqarishda «\» belgisi va undan keyingi simvol birgalikda boshqaruvchi bo’lib hisoblanadi. Masalan, printf(“\n”); buyrug’i bilan kursor keyingi satr boshiga o’tkaziladi. Eng ko’p ishlatiladigan boshqaruvchi belgilar quyidagilardir:
- \f – ekranni tozalash; - \t – kursorni tabulyatsiyalash;
- \b – kursorni bir pozitsiya orqaga o’tkazish; -\n – kursorni yangi satr boshiga o’tkazish; Agar biz faqatgina biror izohni bosmaga chiqarmoqchi bo’lsak, quyidagi misoldagidek ish tutishimiz mumkin: printf(“Ushbu dastur Si da tuzilgan”); Ushbu buyruq bajarilsa, ekrandagi kursor turgan joydan boshlab Ushbu dastur Si da tuzilgan degan yozuv chiqariladi.
Quyidagi misolda turli ko’rinishdagi format satrlarining qo’llanilishi ko’rsatilag. # include int. main ( ) {
int anint = 67; unsegned char abyte = 128; float asisnal = 388.0; char achar = 'G'; double adouble = 1.130e + 00 ; Printf (" %3d + %2d = %3d \n", aByte, anint, aByte + aninte'); Printf ("Haqiqiy soni bosmaga chiqarish \ n"); Printf (" % 6.4f / % 6.4f = % 7.5f \ n” , a signal, adouble, asignal / adouble); Printf ("Haqiqiy soni eksponentsial formada bosmaga chiqarish\ n"); Printf (" % 6.4e / % 6.4le = % 7.5le \ n", asignle, adouble, asignle / adouble); Printf ("Haqiqiy soni bosmaga chiqarish\ n"); Printf ((" % 6.4g / % 6.4lg = % 7.5Ig \ n, "asignle, adouble, asignle / adouble); Printf (" Simvol tipda o’zgaruvchi qiymati : % c \ n", achar); Printf ( ASSII kodi uchun % s ig % d / n", achar, achar ); Return 0; }
Download 210.08 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling