ฟังก์ชัน
ฟังก์ชัน printf() เป็นฟังก์ชันที่ใช้แสดงผลลัพธ์ออกทางจอภาพ การแสดงผลทางจอภาพด้วยฟังก์ชันนี้สามารถกำหนดรูปแบบและรหัสควบคุมได้ โดยฟังก์ชัน printf() มีรูปแบบ ดังนี้ printf(control string,argument list); โดย control string รวมทั้งข้อความ รหัสกำหนดรูปแบบ รหัสควบคุม ทั้งหมดนี้ ต้องล้อมด้วยเครื่องหมาย คำพูด (") ส่วนargument list เป็นรายการของตัวแปร ค่าคงที่ หรือนิพจน์ที่จะแสดงออกทางจอภาพ หากมี ตัวแปร ค่าคงที่ หรือนิพจน์ มากกว่า 1 ค่า แต่ละค่าจะคั่นด้วยเครื่องหมาย คอมม่า(,) รหัสกำหนดรูปแบบ(format code) เป็นรหัสกำหนดรูปแบบของตัวแปร ค่าคงที่ หรือนิพจน์ที่จะแสดงผล เช่น แสดงค่าเลขจำนวนเต็ม หรือจำนวนจริง อักขระ ข้อความ ฯลฯ ส่วนรหัสควบคุม(control code)เป็นตัวกำหนดว่าเมื่อแสดงผลแล้วลักษณะของการแสดงผลครั้งต่อไปจะเปลี่ยนเป็นอย่างไร หรือใช้แสดงผลอักขระหรือสัญลักษณ์พิเศษบางตัว
}
รหัสรูปแบบที่ใช้กับฟังก์ชัน printf() จะเริ่มด้วยเครื่องหมาย % ดังตารางแสดงต่อไปนี้ รหัสรูปแบบ
| ความหมายหรือหน้าที่ของรหัสรูปแบบ | %c | ใช้กำหนดตำแหน่งที่จะแสดง อักขระ 1 ตัว (single character) | %d | ใช้กำหนดตำแหน่งแสดงเลขจำนวนเต็ม(integerหรือ int ) 1 จำนวนในรูปเลขฐานสิบ | %e | ใช้แสดงตัวเลขที่เป็นจุดทศนิยม (floating point ,float)ในรูป e เช่น 2.15e+2 คือแทนค่า215 | %f , %lf | ใช้กับข้อมูลเป็น float และ double | %g | ใช้กับข้อมูล float | %h | ใช้กับ short integer | %o(ตัวโอ) | ใช้แสดง integer ในรูปเลขฐานแปด | %x | ใช้แสดง integer ในรูปเลขฐานสิบหก | %s | ใช้แสดงข้อความ | %p | ใช้แสดง address ของตัวแปรพอยน์เตอร์ |
รหัสควบคุมที่ใช้กับ printf() (นำหน้าด้วยเครื่องหมาย \ ) รหัสควบคุม
| ความหมาย | \a | ส่งเสียงบี๊พ | \b | ลบตัวอักษรที่อยู่ด้านซ้าย1ตำแหน่ง (backspace) | \t | เลื่อนตำแหน่งในการพิมพ์ครั้งต่อไป 1 แท็บ(แนวราบ horizontal) | \n | ขึ้นบรรทัดใหม่ | \v | เลื่อนตำแหน่งไป 1 แท็บแนวดิ่ง | \r | เลื่อนไปต้นบรรทัด | \" | แสดงเครื่องหมาย " | \' | แสดงเครื่องหมาย ' | \? | แสดงเครื่องหมาย ? | \\ | แสดงเครื่องหมาย \ |
ฟังก์ชัน putchar() เป็นฟังก์ชันที่ใช้แสดงอักขระครั้งละ 1 ตัว ทางจอภาพ รูปแบบของฟังก์ชัน คือ Putchar(character); ฟังก์ชัน puts() ใช้แสดงข้อความ(ไม่ใช่อักขระ)ออกทางจอภาพ รูปแบบของฟังก์ชัน คือ puts(string); ฟังก์ชันรับข้อมูล (Input function) ฟังก์ชัน getchar() เป็นฟังก์ชันที่ใช้รับข้อมูลเป็นตัวอักขระจำนวน 1 ตัวจากแป้นพิมพ์และอักขระนั้นจะปรากฏบนจอภาพ ด้วยและต้องเคาะแป้น enter เพื่อแสดงว่าป้อนข้อมูลแล้ว แต่ในการกำหนดตัวแปรมารับค่าถ้าใช้เป็น int จะไม่มีการฟ้องการผิดพลาด โดยค่าจำนวนเต็มที่รับจากการเคาะแป้นพิมพ์จะเป็นรหัส ASCII ของ ตัวอักษรนั้น เช่น A จะเป็น 65 แต่ถ้าตัวแปรที่มารับค่าเป็น char จะมี warning ในเรื่องการเปลี่ยนประเภทตัวแปร แต่ค่าที่จะแสดงออกมาจะตรงตามที่มีการเคาะแป้น และจะมีปัญหาเมื่อมีการใช้ฟังก์ชันนี้มากกว่า 1 ครั้ง ฟังก์ชัน getch() ใช้รับตัวอักขระ 1 ตัวจากแป้นพิมพ์ แต่ขณะรับไม่แสดงทางจอภาพและไม่ต้องเคาะแป้น enter แล้ว แต่ในการกำหนดตัวแปรมารับค่าถ้าใช้เป็น int จะไม่มีการฟ้องการผิดพลาด โดยค่าจำนวนเต็มที่ตัวแปรได้รับมาเป็นค่ารหัส ASCII ของตัวอักขระ ที่เคาะแป้นพิมพ์ เช่น C เป็น 67 แต่ถ้าตัวแปรที่มารับค่าเป็น char จะมี warning ในเรื่องการเปลี่ยนประเภทตัวแปร แต่ค่าที่ได้จะแสดงออกมาได้ถูกต้อง ฟังก์ชัน getche() รับตัวอักขระจากแป้นพิมพ์ 1 ตัว โดยแสดงออกทางจอภาพด้วยและไม่ต้องเคาะแป้น enter ลักษณะการทำงานเป็นไปในลักษณะเดียวกับ getche() ต่างกันที่แสดงออกทางจอภาพหรือไม่เท่านั้น ฟังก์ชัน gets() ใช้รับข้อความจากแป้นพิมพ์ มาเก็บไว้ในชื่อตัวแปรที่กำหนด โดยเคาะแป้น enter แสดงการจบการป้อนข้อมูล มีรูปแบบ คือ gets(string_var); โดย string_var คือ ชื่อตัวแปรที่ใช้เก็บข้อมูลที่รับมาจากการป้อนทางแป้นพิมพ์ เป็นตัวแปรประเภทข้อความ และสามารถแยกเป็นตัวอักขระได้ ทั้งหมดนี้ให้พิจารณาจากใบงาน
ฟังก์ชัน scanf() เป็นฟังก์ชันที่ใช้รับข้อมูลประเภทต่าง ๆ จากแป้นพิมพ์ได้กว้างขวางกว่าฟังก์ชันอื่น ๆ ที่ผ่านมา ข้อมูลที่รับ เช่น จำ นวนเต็ม จำนวนจริง ข้อความ อักขระ รูปแบบของฟังก์ชัน คือ scanf(control string ,variable list); control string เป็นรหัสสำหรับรูปแบบของข้อมูลที่จะรับเข้า โดยรหัสรูปแบบนี้เป็นทำนองเดียวกับฟังก์ชัน printf() โดยรหัสนี้ทังหมดจะต้องอยู่ภายในเครื่องหมายพูด รหัสแต่ละตัวจะแทนข้อมูลแต่ละค่า โดยสามารถมีรหัสของข้อมูล หลายค่าได้ในครั้งเดียวกันโดยไม่จำเป็นต้องมีเครื่องหมายอื่นใดมาคั่น variable list คือรายการของชื่อตัวแปรที่จะมารับค่าของข้อมูลที่ป้อนจากแป้นพิมพ์ โดยตัวแปรต้องประเภทเดียวกับข้อมูลที่ตัวแปรนั้นรับ และจำนวนตัวแปรจะต้องมีจำนวนเท่ากับจำนวนรหัสรูปแบบของข้อมูล โดยชื่อตัวแปรนั้นอยู่หลังจากเครื่องหมายคำพูดที่ล้อมรหัสข้อมูลโดยมีการคั่นด้วยเครื่องหมายคอมม่า(,)และหากมีตัวแปรหลายตัวแต่ละตัวจะคั่นด้วยเครื่องหมายคอมม่าเช่นกัน และหน้าชื่อตัวแปรแต่ละตัวจะต้องนำด้วยเครื่องหมาย & ยกเว้นตัวแปรของข้อมูลประเภทข้อความ(string) เช่น คำสั่ง scanf("%d %f %s",&i,&f1,word); เป็นคำสั่งให้รับข้อมูลจากแป้นพิมพ์ 3 ค่า เป็นข้อมูลประเภท จำนวนเต็มแบบเลขฐานสิบ ตามด้วยข้อมูลเลขทศนิยม และข้อมูลประเภทข้อความ โดยมีตัวแปรชื่อ i , f1 และ word ซึ่งเป็นแปรตัวประเภท จำนวนเต็ม จำนวนทศนิยม และตัวแปรข้อความตามลำดับ มารับค่าของข้อมูลเหล่านั้น รหัสข้อมูลที่ใช้ในฟังก์ชัน scanf() เป็นดังรายการ รหัสรูปแบบ
| ความหมายในการใช้ | %c | สำหรับข้อมูลประเภทตัวอักขระ ( character) | %d | สำหรับข้อมูลจำนวนเต็มในรูปเลขฐานสิบ | %e | สำหรับข้อมูลประเภททศนิยม( floating point) ที่เขียนในรูปเลขยกกำลัง | %f %lf | สำหรับจำนวนประเภท float และ double | %g | ใช้กับข้อมูลประเภท float | %h | สำหรับข้อมูลประเภท short integer | %l | สำหรับข้อมูลประเภท integer ทั้งเลขฐาน 8 ฐาน 10 และฐาน 16 | %o | สำหรับข้อมูลประเภท integer เลขฐาน 8 เท่านั้น | %u | สำหรับข้อมูลประเภท unsigned integer เลขฐาน 10 เท่านั้น | %x | สำหรับข้อมูลประเภท integer เลขฐาน 16 เท่านั้น | %s | สำหรับข้อมูลประเภทข้อความ (string) |
. . . . . . . ..
|