Friday, January 7, 2011

คำสั่งในการแสดงผลลัพธ์ printf

printf เป็นคำสั่งที่ใช้เพื่อแสดงผลทางหน้าจอ Output
รูปแบบคำสั่ง printf("format string",data list);
โดยภายในคำสั่งจะประกอบไปด้วย 2 ส่วนได้แก่ format string และ data list
printf ใช้พรีโปรเซสเซอร์ไดเรคทีฟ stdio.h
  1. format string คือส่วนที่แสดงผลซึ่งอยู่ในเครื่องหมาย "" (Double quote) โดยจะมี 4 ลักษณะได้แก่
    • ข้อความธรรมดา : ข้อความที่ต้องการแสดงผล เช่น printf("pibulwittayalai"); ซึ่งข้าแสดงผลข้อความธรรมดาจะไม่ต้องมีส่วนของ data list กำหนดอยู่
    • รูปแบบค่าตัวแปร : รูปแบบของการแสดงผลตัวแปร data list ที่อยู่ในคำสั่ง ตัวอย่างเช่น
      %d: แสดงผลตัวแปรในรูปแบบจำนวนเต็ม
      %c: แสดงผลตัวแปรในรูปแบบอักขระ
      %s: แสดงผลตัวแปรในรูปแบบข้อความ
      %f: แสดงผลตัวแปรในรูปทศนิยม
    • รูปแบบการแสดงผล : รูปแบบการจัดย่อหน้า การจัดบรรทัดฯ ตัวอย่างเช่น
      \n: กำหนดขึ้นบรรทัดใหม่
      \t: กำหนดเว้นไป 1 แท๊บ (8 อักขระ)
    • รูปแบบการแสดงผลอื่นๆ
      - printf("%m?",data); เป็นการจองพื้นที่หน้าจอจำนวน m ตัวอักษรแล้วแสดงผลของ
      data ชิดด้านขวาของพื้นที่ส่วนที่ของไว้ โดยชนิดข้อมูลตาม ? (หากความยาวเกินส่วนที่
      จองไว้ก็จะเลื่อนออกไป)เช่น ถ้าต้องการแสดงคำว่า Engineer ชิดขวามือของจอภาพ
      (จอภาพมีความกว้าง 80 ตัวอักษร) สามารถใช้คำสั่ง printf("%80s"," Engineer") ได้

      - printf("%-m?",data); เป็นการจองพื้นที่หน้าจอขนาด m ตัวอักษร แล้วแสดงผล data
      ชิดด้านซ้ายของพื้นที่ส่วนที่จองไว้ โดยชนิดข้อมูลตาม ?

      - printf("%.n?",data); เป็นการกำหนดให้แสดงจำนวนทศนิยม n ตำแหน่งสำหรับ %f
      หรือแสดงอักขระจำนวน n ตัว สำหรับ %s

      - printf("%m.n",data); เป็นการจองพื้นที่หน้าจอขนาด m ตัวอักษรแล้วแสดงผล data
      จำนวนทศนิยม n ตำแหน่ง สำหรับ %f หรือแสดงอักขระจำนวน n ตัวสำหรับ %s

  2. data list คือส่วนที่เป็นตัวแปรต่างๆ หรือนิพจน์ที่ต้องการแสดงค่าที่คำสั่ง printf จะนำไปใช้แสดงผลในลักษณะรูปแบบค่าตัวแปรในส่วนของ format string โดยหากมีหลายตัวแปรที่ต้องการแสดงผลให้ใช้เครื่องหมาย , (comma) คั่น

No comments:

Featured Post

การแปลภาษาของโปรแกรมภาษาซี

ภาษาซีเป็นภาษาชั้นสูงและเป็นภาษาที่มนุษย์เข้าใจ แต่เครื่องคอมพิวเตอร์เข้าใจเฉพาะภาษาเครื่อง (Machine Language) เท่านั้น ดังนั้นหากต้องการให้...