การแสดงผลด้วยคำสั่ง printf
•การเขียนโปรแกรมจำเป็นต้องมีการแสดงผล เพื่อให้ผู้ใช้งานทราบว่าโปรแกรมสามารถทำงานอะไร จำเป็นต้องป้อนค่าอะไรบ้าง และเมื่อโปรแกรมทำงานเสร็จ ผลลัพธ์ที่ได้เป็นอย่างไร
•คำสั่งที่ใช้สำหรับการแสดงผลในภาษาซีมีหลายคำสั่ง แต่ที่สามารถใช้งานได้ครอบคลุมและนิยมใช้กัน คือ คำสั่ง printf
printf (format-string, data-list);
format-string คือรูปแบบของข้อความซึ่งจะประกอบด้วย ข้อความธรรมดา, ค่ารหัส ASCII และ ส่วนแสดงชนิดข้อมูล โดย format-string จะอยู่ในเครื่องหมาย Double quote " "
data-list คือชื่อข้อมูล หรือตัวแปรที่จะทำการแสดงผลตามส่วนแสดงชนิดข้อมูลใน format-string
หมายเหตุ คำสั่ง printf ต้องเรียกใช้ Preprocessor Directive #include<stdio.h>
#include<stdio.h>
int main()
{
printf ("Hello World!");
return 0;
}
• ข้อความธรรมดา เป็นส่วนที่แสดงตัวอักษร ตัวเลขออกโดยตรง
• ค่ารหัส ASCII เป็นส่วนที่ควบคุมรูปแบบการแสดงผล เช่น การจัดย่อหน้า การขึ้นต้นบรรทัดใหม่ เป็นต้น
• ส่วนแสดงชนิดข้อมูล เป็นการกำหนดรูปแบบของชนิดข้อมูลที่จะแสดงผลข้อมูล หรือตัวแปร
–ส่วนแสดงชนิดข้อมูลแบบปกติ
–ส่วนแสดงชนิดข้อมูลที่กำหนดรูปแบบการแสดงผล
•การแสดงข้อความธรรมดาเป็นการใช้คำสั่ง printf ให้แสดงข้อความที่ต้องการออกทางจอภาพ โดยจะอยู่ในส่วนของ format-string ในคำสั่ง (อยู่ในเครื่องหมาย Double quote " ")
printf (format-string, data-list);
• เช่น คำสั่งในตัวอย่างโปรแกรมที่ผ่านมา
printf ("Hello World!");
จะทำการแสดงข้อความ Hello World! ออกทางจอภาพหลังจากสั่ง Run โปรแกรม
#include<stdio.h>
#include<conio.h>
int main()
{
printf ("Hello World!");
printf ("This is my first Program.");
printf ("I am a programmer.");
getch();
}
• ค่ารหัส ASCII เป็นอักขระพิเศษที่ใช้งานในภาษาซี ซึ่งใช้ควบคุมการแสดงผลในคำสั่ง printf ในส่วนของ format-string
#include<stdio.h>
#include<conio.h>
int main()
{
printf ("Hello World!\n");
printf ("This is my first Program.");
printf ("\n\tI\'m a programmer.");
getch();
}
• ในการเขียนโปรแกรมที่มีการประยุกต์ขึ้น เช่นโปรแกรมคำนวณเลข จะต้องมีการแสดงผลลัพธ์ของค่าที่ทำการคำนวณ ซึ่งคำสั่ง printf สามารถแสดงผลค่าตัวแปรได้ แต่จะต้องเขียนโปรแกรมให้มีความสัมพันธ์กันในส่วนของ format-string และ data-list
printf (format-string, data-list);
–โดยที่ใน format-string จะมีส่วนแสดงชนิดข้อมูล
–และใน data-list จะมีข้อมูล หรือตัวแปรที่จะแสดงผล
#include<stdio.h>
#include<conio.h>
int main()
{
printf ("My name is : %s\n","Kmitl");
printf ("My point : %d\n",10+40+49);
printf ("Grade : %c\n",'A');
printf ("GPA : %f",3.99);
getch();
}
• การแสดงผลตัวแปรโดยใช้คำสั่ง printf สามารถใช้งานโดยการใส่ข้อมูล หรือชื่อตัวแปรในส่วนของ data-list
• หากไม่ต้องการแสดงผลตัวแปร ไม่ต้องมีส่วนของ data-list
• หากต้องการแสดงผลข้อมูล หรือตัวแปรมากกว่าหนึ่งตัวในคำสั่งให้ใช้ เครื่องหมาย comma , สำหรับคั่นชื่อตัวแปร โดยจะทำการแสดงผลตามลำดับตัวแปร และส่วนการแสดงชนิดข้อมูล
#include<stdio.h>
int main()
{
printf ("Age = %d, GPA = %f\n",17,3.75);
printf ("Programming: %f\nMechanics: %f",4.0,3.5);
return 0;
}
#include<stdio.h>
int main()
{
printf ("Subject : %s(%d)\n","Programming",2552);
printf ("Point : %d\nGrade : %c",99,'A');
return 0;
}
printf ("%m?",data);
• เป็นการจองพื้นที่หน้าจอจำนวน m ตัวอักษร แล้วแสดงผล data ชิดด้านขวาของพื้นที่ส่วนที่จองไว้ โดยชนิดข้อมูลตาม ? (หากความยาวเกินส่วนที่จองไว้ก็จะเลื่อนออกไป)
printf ("%-m?",data);
•เป็นการจองพื้นที่หน้าจอขนาด m ตัวอักษร แล้วแสดงผล data ชิดด้านซ้ายของพื้นที่ส่วนที่จองไว้ โดยชนิดข้อมูลตาม ?
#include<stdio.h>
int main()
{
printf ("123456789012345678901234567890");
printf ("\n%20d*",46);
printf ("\n%-20d*",46);
printf ("\n%3d*",46);
printf ("\n%3d*",2550);
return 0;
}
#include <stdio.h>
int main()
{
printf ("123456789012345678901234567890");
printf ("\n%20c*",'c');
printf ("\n%-20c*",'c');
printf ("\n%10s*","Pro");
printf ("\n%10s*","Programming");
return 0;
}
printf ("%.n?",data);
•เป็นการกำหนดให้แสดงจำนวนทศนิยม n ตำแหน่ง สำหรับ %f หรือแสดงอักขระจำนวน n ตัว สำหรับ %s
printf ("%m.n?",data);
•เป็นการจองพื้นที่หน้าจอขนาด m ตัวอักษรแล้วแสดงผล data จำนวนทศนิยม n ตำแหน่ง สำหรับ %f หรือแสดงอักขระจำนวน n ตัว สำหรับ %s
ตัวอย่างการใช้งานคำสั่ง printf โดยมีการกำหนดรูปแบบ-3
printf ("123456789012345678901234567890");
printf ("\n%20s*","programming");
printf ("\n%-20s*","programming");
printf ("\n%.3s*","programming");
printf ("\n%20.3s*","programming");
printf ("\n%-20.3s*","programming");
ตัวอย่างการใช้งานคำสั่ง printf โดยมีการกำหนดรูปแบบ-4
printf ("123456789012345678901234567890");
printf ("\n%20f*", 1234.56789);
printf ("\n%-20f*", 1234.56789);
printf ("\n%.3f*", 1234.56789);
printf ("\n%20.3f*", 1234.56789);
printf ("\n%-20.3f*", 1234.56789);
• คำอธิบายโปรแกรมเป็นส่วนที่เพิ่มในโปรแกรมเพื่อช่วยให้ผู้ที่เขียน หรือผู้ที่อ่านโปรแกรมสามารถเข้าใจกับตัวโปรแกรมได้ง่ายขึ้น
• โดยที่คำอธิบายโปรแกรมนี้จะไม่มีผลต่อการทำงานของโปรแกรม คือเวลาที่ทำการคอมไพล์ จะข้ามข้อความที่อยู่ในส่วนอธิบายโปรแกรมไป
/* Comment Sentence 1
Comment Sentence 2
...
Comment Sentence n */
/* Comment Sentence */
// Comment Sentence