More Related Content
Similar to 3.5 การแสดงผลและการรับข้อมูล (20)
More from รัสนา สิงหปรีชา (20)
3.5 การแสดงผลและการรับข้อมูล
- 2. หล่อ
ลากไส้ จังเลย การแสดงผลข้อมูล การแสดงผลข้อมูลสามารถทาได้ 3 รูปแบบดังนี้
•การแสดงผลทีละตัวอักษรด้วยคาสั่ง putchar()
•การแสดงผลเป็นข้อความด้วยคาสั่ง puts()
•การแสดงผลข้อมูลทุกชนิดด้วยคาสั่ง printf()
- 3. คาสั่ง putchar () เป็นคาสั่งสาหรับแสดงอักขระทีละตัวออกทาง จอภาพ ซึ่งสามารถแสดงผลจากค่าตัวอักขระ หรือแสดงจาก ค่าตัวแปรก็ได้ โดยมีรูปแบบการใช้งานดังนี้
โดยที่ var เป็นตัวแปรชนิดอักขระ (char) หรือเป็นค่าอักขระ ภายในเครื่องหมาย ‘ ’
การแสดงผลทีละตัวอักษรด้วยคาสั่ง putchar()
putchar();
- 4. คาสั่ง puts() เป็นคาสั่งสาหรับแสดงข้อความออกทาง จอภาพ ซึ่งสามารถแสดงผลจากค่าข้อความหรือแสดง จากค่าตัวแปรก็ได้ โดยมีรูปแบบการใช้งานดังนี้
โดยที่ var เป็นตัวแปรชนิดข้อความ หรือเป็นค่า ข้อความภายในเครื่องหมาย ‚ ‛
การแสดงผลเป็นข้อความด้วยคาสั่ง puts()
puts();
- 5. การแสดงผลข้อมูลทุกชนิดด้วยคาสั่ง printf()
คาสั่ง printf() เป็นคาสั่งสาหรับแสดงผลออกทางจอภาพ และ สามารถแสดงผลข้อมูลได้ทุกชนิด ไม่ว่าจะเป็นตัวอักษร ข้อความ ตัวเลข และทศนิยม โดยมีรูปแบบการใช้งานดังนี้
printf(‚format‛, var_1, var_2, ..., var_n);
โดยที่ format เป็นส่วนควบคุมการแสดงผลข้อความภายใน เครื่องหมาย ‚ ‛ ซึ่งรวมถึงการจัดรูปแบบการแสดงผลด้วย
var เป็นตัวแปรที่ต้องการแสดงผล ซึ่งต้องเป็นชนิดข้อมูลที่ ตรงกันกับ format ที่กาหนดไว้
- 6. การแสดงผลด้วยคาสั่ง printf() นั้นสามารถแสดงผลได้ทุกชนิดข้อมูล โดยใช้รหัสรูปแบบการแสดงผลแทนค่าตัวแปร นิพจน์ หรือค่าคงที่ชนิด ต่าง ๆ ในข้อความ ซึ่งมีรหัสรูปแบบการแสดงผลที่ควรรู้ ดังนี้
รหัสรูปแบบการแสดงผลข้อความด้วยคาสั่ง prinft()
รหัสรูปแบบ
ชนิดข้อมูล
%c
ใช้กาหนดตาแหน่งที่จะแสดง อักขระ 1 ตัว (single character)
%d
ใช้กาหนดตาแหน่งแสดงเลขจานวนเต็ม (integerหรือ int) 1 จานวนในรูปเลขฐานสิบ
%ld
จานวนเต็มชนิด long
- 7. รหัสรูปแบบ
ชนิดข้อมูล
%e
ใช้แสดงตัวเลขที่เป็นจุดทศนิยม (floating point ,float)ในรูป e เช่น 2.15e+2 คือแทนค่า215
%f
จานวนทศนิยม
%g
จานวนทศนิยม
%i
จานวนเต็มชนิด int
%o
ใช้แสดง integer ในรูปเลขฐานแปด
- 10. การจัดพื้นที่แสดงผลข้อมูล
การแสดงผลข้อมูลที่เราต้องการนั้น อาจจะต้องการจัดรูปแบบ ข้อความให้ชิดซ้ายหรือชิดขวา หรือแม้แต่แสดงข้อความตามจานวน ตัวอักษร เช่น ต้องการแสดงทศนิยม 2 ตาแหน่ง, แสดงข้อความไม่เกิน 10 ตัวอักษร เป็นต้น ซึ่งมีรูปแบบในการแสดงผลข้อมูลชนิดข้อความ ดังนี้
printf(‚%m.ns‛, variable);
โดยที่m เป็นจานวนพื้นที่ตัวอักษรที่จองไว้
n เป็นจานวนตัวอักษรที่ต้องการแสดงผล
variableเป็นค่าข้อมูลหรือตัวแปรที่ต้องการแสดงผล
- 12. การรับข้อมูล
•รับข้อมูลทีละตัวอักษรด้วยคาสั่ง getch() และ getchar()
•รับข้อมูลชนิดข้อความด้วยคาสั่ง gets()
•รับข้อมูลทุกชนิดด้วยคาสั่ง scanf()
การรับข้อมูลทางแป้นพิมพ์ในภาษา C สามารถใช้ได้ หลากหลายคาสั่ง ไม่ว่าจะเป็นรับข้อมูลทีละตัวอักษร รับข้อมูลเป็นข้อความ หรือจะรับข้อมูลทีละหลาย ๆ ค่า ข้อมูลก็ได้
- 13. รับข้อมูลทีละตัวอักษรด้วยคาสั่ง getch() และ getchar() คาสั่ง getch() และ getchar() เป็นคาสั่งรับข้อมูลทีละตัวอักษรจาก แป้นพิมพ์ ซึ่งมีรูปแบบการใช้งานดังนี้ ch= getch();
โดยที่ ch เป็นตัวแปรชนิดตัวอักขระสาหรับรับข้อมูลจากแป้นพิมพ์
ch= getchar();
โดยที่ ch เป็นตัวแปรชนิดตัวอักขระสาหรับรับข้อมูลจากแป้นพิมพ์
หมายเหตุ คาสั่งทั้งสองจะแตกต่างกันที่การแสดงผลทางจอภาพ โดยคาสั่ง getch() จะรับข้อมูลเก็บไว้ที่ตัวแปรทันทีเมื่อมีการป้อนข้อมูลทางแป้นพิมพ์ แต่คาสั่ง getchar() เมื่อป้อนข้อมูลทางแป้นพิมพ์โปรแกรมจะยังไม่รับข้อมูล เก็บไว้ที่ตัวแปรทันที แต่จะต้องมีการกดปุ่ม Enter ก่อน โปรแกรมจึงจะรับ ข้อมูลเก็บไว้ที่ตัวแปร
- 14. “ คาสั่ง gets() เป็นคาสั่งรับข้อมูลชนิดข้อความจากแป้นพิมพ์ ซึ่งมี รูปแบบการใช้งานดังนี้
โดยที่ str เป็นตัวแปรชนิดข้อความสาหรับรับข้อมูลจากแป้นพิมพ์
รับข้อมูลชนิดข้อความด้วยคาสั่ง gets()
gets(str);
- 15. รับข้อมูลทุกชนิดด้วยคาสั่ง scanf()
คาสั่ง scanf() เป็นคาสั่งรับข้อมูลได้ทุกชนิดทางแป้นพิมพ์ โดย กาหนดรูปแบบการรับข้อมูลที่ตัวคาสั่งด้วยรหัสรูปแบบการ แสดงผล ซึ่งมีรูปแบบคาสั่งดังนี้
scanf(‚format‛, &var_1, &var_2, ..., &var_n);
โดยที่formatเป็นส่วนกาหนดชนิดของข้อมูลที่ต้องการรับจาก แป้นพิมพ์ var_nเป็นตัวแปรที่ต้องการใช้สาหรับเก็บข้อมูล ซึ่งต้อง เป็นชนิดข้อมูลที่ตรงกันกับ format ที่กาหนดไว้
- 18. ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER