18
การแสดงผลและการรบข้อมล (DATA OUTPUT AND INPUT)

3.5 การแสดงผลและการรับข้อมูล

  • Upload
    -

  • View
    222

  • Download
    0

Embed Size (px)

DESCRIPTION

fghdff

Citation preview

Page 1: 3.5 การแสดงผลและการรับข้อมูล

การแสดงผลและการรับข้อมูล

(DATA OUTPUT AND INPUT)

Page 2: 3.5 การแสดงผลและการรับข้อมูล

หล่อ

ลากไส้

จงัเลย

การแสดงผลข้อมูล

การแสดงผลข้อมูลสามารถท าได้ 3 รูปแบบดังนี้

•การแสดงผลทลีะตัวอักษรดว้ยค าสั่ง putchar()

•การแสดงผลเป็นข้อความด้วยค าส่ัง puts()

•การแสดงผลข้อมูลทุกชนิดดว้ยค าส่ัง printf()

Page 3: 3.5 การแสดงผลและการรับข้อมูล

ค าสั่ง putchar () เป็นค าส่ังส าหรับแสดงอักขระทีละตัวออกทาง

จอภาพ ซึ่งสามารถแสดงผลจากค่าตัวอักขระ หรือแสดงจาก

ค่าตัวแปรก็ได้ โดยมีรูปแบบการใช้งานดังนี้

โดยที่ var เป็นตัวแปรชนิดอักขระ (char) หรือเป็นค่าอักขระ

ภายในเครื่องหมาย ‘ ’

การแสดงผลทีละตัวอักษรด้วยค าสัง่ putchar()

putchar();

Page 4: 3.5 การแสดงผลและการรับข้อมูล

ค าสั่ง puts() เป็นค าส่ังส าหรับแสดงข้อความออกทาง

จอภาพ ซึ่งสามารถแสดงผลจากค่าข้อความหรือแสดง

จากค่าตัวแปรก็ได้ โดยมีรูปแบบการใช้งานดังนี้

โดยที่ var เป็นตัวแปรชนิดข้อความ หรือเป็นค่า

ข้อความภายในเครื่องหมาย ‚ ‛

การแสดงผลเป็นข้อความด้วยค าส่ัง puts()

puts();

Page 5: 3.5 การแสดงผลและการรับข้อมูล

การแสดงผลข้อมูลทุกชนิดด้วยค าส่ัง printf()

ค าสั่ง printf() เป็นค าสั่งส าหรับแสดงผลออกทางจอภาพ และ

สามารถแสดงผลข้อมูลได้ทุกชนิด ไม่ว่าจะเป็นตัวอักษร ข้อความ

ตัวเลข และทศนิยม โดยมีรูปแบบการใช้งานดังนี้

printf(‚format‛, var_1, var_2, ..., var_n);

โดยที่ format เป็นส่วนควบคุมการแสดงผลข้อความภายใน

เครื่องหมาย ‚ ‛ ซึ่งรวมถึงการจัดรูปแบบการแสดงผลด้วย

var เป็นตัวแปรที่ต้องการแสดงผล ซึ่งต้องเป็นชนิดข้อมูลที่

ตรงกันกับ format ที่ก าหนดไว้

Page 6: 3.5 การแสดงผลและการรับข้อมูล

การแสดงผลด้วยค าสั่ง printf() นั้นสามารถแสดงผลได้ทุกชนิดข้อมูล

โดยใช้รหัสรูปแบบการแสดงผลแทนค่าตัวแปร นิพจน์ หรือค่าคงที่ชนิด

ต่าง ๆ ในข้อความ ซึ่งมีรหัสรูปแบบการแสดงผลที่ควรรู้ ดังนี้

รหัสรูปแบบการแสดงผลข้อความด้วยค าส่ัง prinft()

รหัสรปูแบบ ชนดิข้อมลู

%c ใช้ก าหนดต าแหน่งที่จะแสดง อักขระ 1 ตัว (single

character)

%d ใช้ก าหนดต าแหน่งแสดงเลขจ านวนเต็ม (integerหรือ

int) 1 จ านวนในรูปเลขฐานสิบ

%ld จ านวนเต็มชนิด long

Page 7: 3.5 การแสดงผลและการรับข้อมูล

รหัสรปูแบบ ชนดิขอ้มูล

%e ใช้แสดงตัวเลขที่เป็นจุดทศนิยม (floating point

,float)ในรูป e เช่น 2.15e+2 คือแทนค่า215

%f จ านวนทศนิยม

%g จ านวนทศนิยม

%i จ านวนเต็มชนิด int

%o ใช้แสดง integer ในรูปเลขฐานแปด

Page 8: 3.5 การแสดงผลและการรับข้อมูล

รหัสรปูแบบ ชนดิขอ้มูล

%p พอยน์เตอร์

%s ข้อความ

%u จ านวนเต็มที่มีค่าบวก

%x ใช้แสดง integer ในรูปเลขฐานสิบหก

Page 9: 3.5 การแสดงผลและการรับข้อมูล

จัดรูปแบบการแสดงผลข้อมูล

ในการแสดงผลการท างานของโปรแกรม เราต้องการจะแสดงอักขระพิเศษ

ทางจอภาพ ซึ่งภาษา C ได้ก าหนดรูปแบบการแสดงผลอักขระพิเศษต่าง ๆ

ดังนี้รหัสรปูแบบ ชนดิข้อมลู

\b เลื่อนเคอร์เซอร์ถอยหลังไป 1 ตัวอักษร

\n ขึ้นบรรทัดใหม่

\r เลื่อนเคอร์เซอร์ไปทางซ้ายสุด

\t แสดงแท็บตามแนวนอน

\’ แสดงเครื่องหมาย ‘

\‛ แสดงเครื่องหมาย ‚

\\ แสดงเครื่องหมาย \

Page 10: 3.5 การแสดงผลและการรับข้อมูล

การจัดพืน้ที่แสดงผลข้อมูล

การแสดงผลข้อมูลที่เราต้องการนั้น อาจจะต้องการจัดรูปแบบ

ข้อความให้ชิดซ้ายหรือชิดขวา หรือแม้แต่แสดงข้อความตามจ านวน

ตัวอักษร เช่น ต้องการแสดงทศนิยม 2 ต าแหน่ง, แสดงข้อความไม่เกิน 10

ตัวอักษร เป็นต้น ซึ่งมีรูปแบบในการแสดงผลข้อมูลชนิดข้อความ ดังนี้

printf(‚%m.ns‛, variable);

โดยที่ m เป็นจ านวนพื้นที่ตัวอักษรที่จองไว้

n เป็นจ านวนตัวอักษรที่ต้องการแสดงผล

variable เป็นค่าข้อมูลหรือตัวแปรที่ต้องการแสดงผล

Page 11: 3.5 การแสดงผลและการรับข้อมูล

ในกรณีแสดงค่าทศนิยม มีรูปแบบการแสดงผลดังนี้

printf(‚%,nf‛, variable);

โดยที่ n เป็นจ านวนตัวอักษรที่ต้องการแสดงผล

variable เป็นค่าข้อมูลหรือตัวแปรที่ต้องการแสดงผล

Page 12: 3.5 การแสดงผลและการรับข้อมูล

การรับข้อมูล

• รับข้อมูลทีละตัวอักษรดว้ยค าสั่ง getch() และ getchar()

• รับข้อมูลชนิดข้อความด้วยค าสั่ง gets()

• รับข้อมูลทุกชนิดด้วยค าสัง่ scanf()

การรับข้อมูลทางแป้นพิมพ์ในภาษา C สามารถใช้ได้

หลากหลายค าสั่ง ไม่ว่าจะเป็นรับข้อมูลทีละตัวอักษร

รับข้อมูลเป็นข้อความ หรือจะรับข้อมูลทีละหลาย ๆ ค่า

ข้อมูลก็ได้

Page 13: 3.5 การแสดงผลและการรับข้อมูล

รับข้อมูลทีละตัวอักษรด้วยค าส่ัง getch() และ getchar()

ค าสั่ง getch() และ getchar() เป็นค าสั่งรับข้อมูลทีละตัวอักษรจาก

แป้นพิมพ์ ซึ่งมีรูปแบบการใช้งานดังนี้

ch = getch();

โดยที่ ch เป็นตัวแปรชนิดตัวอักขระส าหรับรับข้อมูลจากแป้นพิมพ์

ch = getchar();

โดยที่ ch เป็นตัวแปรชนิดตัวอักขระส าหรับรับข้อมูลจากแป้นพิมพ์

หมายเหตุ ค าสั่งท้ังสองจะแตกต่างกันที่การแสดงผลทางจอภาพ โดยค าส่ัง

getch() จะรับข้อมูลเก็บไว้ที่ตัวแปรทันทีเมื่อมีการป้อนข้อมูลทางแป้นพิมพ์

แต่ค าส่ัง getchar() เมื่อป้อนข้อมูลทางแป้นพิมพ์โปรแกรมจะยังไม่รับข้อมูล

เก็บไว้ที่ตัวแปรทันที แต่จะต้องมกีารกดปุ่ม Enter ก่อน โปรแกรมจงึจะรับ

ข้อมูลเก็บไว้ที่ตัวแปร

Page 14: 3.5 การแสดงผลและการรับข้อมูล

“ ค าสั่ง gets() เป็นค าสั่งรับข้อมูลชนิดข้อความจากแป้นพิมพ์ ซึ่งมี

รูปแบบการใช้งานดังนี้

โดยที่ str เป็นตัวแปรชนิดข้อความส าหรับรับข้อมูลจากแป้นพิมพ์

รับขอ้มูลชนดิขอ้ความด้วยค าสั่ง gets()

gets(str);

Page 15: 3.5 การแสดงผลและการรับข้อมูล

รับข้อมูลทุกชนิดด้วยค าส่ัง scanf()

ค าสั่ง scanf() เป็นค าสั่งรับข้อมูลได้ทุกชนิดทางแป้นพิมพ์ โดย

ก าหนดรูปแบบการรับข้อมูลที่ ตัวค าสั่งด้วยรหัสรูปแบบการ

แสดงผล ซึ่งมีรูปแบบค าส่ังดังนี้

scanf(‚format‛, &var_1, &var_2, ..., &var_n);

โดยที่ format เป็นส่วนก าหนดชนิดของข้อมูลที่ต้องการรับจาก

แป้นพิมพ์

var_n เป็นตัวแปรที่ต้องการใช้ส าหรับเก็บข้อมูล ซึ่งต้อง

เป็นชนิดข้อมูลที่ตรงกันกับ format ที่ก าหนดไว้

Page 16: 3.5 การแสดงผลและการรับข้อมูล

ตารางแสดงรหัสรูปแบบการรับข้อมูล

รหัสรปูแบบ ชนดิข้อมลู

%c อักษรหนึ่งตัว

%d จ านวนเต็มชนิด int

%ld จ านวนเต็มชนิด long

%e จ านวนจริงแบบเอ็กซ์โปเนนต์

%f จ านวนทศนิยม

%g จ านวนทศนิยม

%i จ านวนเต็มชนิด int

Page 17: 3.5 การแสดงผลและการรับข้อมูล

ตารางแสดงรหัสรูปแบบการรับข้อมูล (ต่อ)

รหัสรปูแบบ ชนดิข้อมลู

%o เลขฐานแปด

%s ข้อความ

%u จ านวนเต็มที่มีค่าบวก

%x เลขฐานสิบหก

Page 18: 3.5 การแสดงผลและการรับข้อมูล

ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย

หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย

คู่มือเรียนเขียนโปรแกรมภาษา ส านักพิมพ์ IDC PREMIER