|   |                         3.2 ฟังก์ชันแสดงผลข้อมูล  (output  functions) 
 
            ในเนื้อหาฟังก์ชันการแสดงผลข้อมูลของภาษา  C   มีฟังก์ชันที่ใช้ในการแสดงผลลัพธ์ออกทางจอภาพอยู่หลายฟังก์ชันที่จะกล่าว ถึง  ดังนี้คือ ฟังก์ชัน  printf( ), ฟังก์ชัน  putchar( ) และฟังก์ชัน   puts( )  ซึ่งแต่ละฟังก์ชันมีรายละเอียดของการใช้งานดังนี้ 
            3.2.1 ฟังก์ชัน  printf( ) 
            เป็นฟังก์ชันที่ใช้ในการแสดงผลลัพธ์ออกทางจอภาพ   โดยสามารถกำหนดรหัสรูปแบบข้อมูล  (format  code)  และรหัสควบคุม   (control  code)  ให้เหมาะสมกับข้อมูลและรูปแบบผลลัพธ์ที่ต้องการ   (ดังแสดงในตารางที่  3.2   และ  3.3) 
            รูปแบบการใช้งานฟังก์ชัน          
            
                 printf(control  string,       argument  list); 
 
  |                 
             โดยที่  
                
control  string  คือ    รหัสรูปแบบข้อมูลที่ใช้ในการพิมพ์ผลลัพธ์ใช้รหัสเหมือนฟังก์ชัน  scanf(  )   และในฟังก์ชัน  printf( )   นี้ยังสามารถใช้รหัสควบคุมเพื่อช่วยจัดรูปแบบการพิมพ์ผลลัพธ์ให้สวยงามขึ้น   โดยที่   control  string  จะต้องเขียนอยู่ภายใต้เครื่องหมาย  “………”  (double  quotation)    เช่นเดียวกับฟังก์ชัน   scanf( ) 
argument  list คือ  ค่าคงที่    หรือตัวแปร  หรือนิพจน์  ในกรณีที่มีค่าคงที่  ตัวแปร   หรือนิพจน์หลาย ๆ  ค่าให้ใช้เครื่องหมาย   , (comma) คั่นระหว่างค่าคงที่  ตัวแปร  หรือนิพจน์แต่ละค่า  
 ตารางที่  3.2  แสดงรหัสรูปแบบข้อมูลที่สามารถใช้ในฟังก์ชัน  printf(  ) 
                 รหัสรูปแบบ   
(format  code)  |                  ความหมาย   |                 
                 %c  |                    ใช้กับข้อมูลชนิดตัวอักขระตัวเดียว  (single  character :     char) |                 
                 %d  |                    ใช้กับข้อมูลชนิดตัวเลขจำนวนเต็ม (integer : int)  โดยสามารถใช้กับตัวเลขฐาน  10     เท่านั้น |                 
                 %e  |                    ใช้กับข้อมูลชนิดตัวเลขจุดทศนิยม     (floating  point : float) |                 
                 %f, %lf  |                  ใช้กับข้อมูลชนิด  float  และ  double  ตามลำดับ |                 
                 %g  |                  ใช้กับข้อมูลชนิด  float |                 
                 %h  |                  ใช้กับข้อมูลชนิด  short  integer |                 
                 %l  |                  ใช้กับข้อมูลชนิด  int  โดยใช้กับตัวเลขฐาน 8, ฐาน 10 และฐาน 16 |                 
                 %o  |                  ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  8  เท่านั้น |                 
                 %u  |                  ใช้กับข้อมูลชนิด  unsigned     int  โดยใช้กับตัวเลขฐาน  10     เท่านั้น |                 
                 %x  |                  ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  16  เท่านั้น |                 
                 %s  |                  ใช้แสดงข้อมูลชนิด  string |                 
                 %p  |                  ใช้แสดงค่า  address  ของตัวแปรพอย์นเตอร์ |                 
 ที่มา  :  Gottfried, S. Byron, 1990 : 481.  
 
ตารางที่  3.3  แสดงรหัสควบคุมข้อมูลที่สามารถใช้ในฟังก์ชัน  printf(  ) 
                 รหัสควบคุม 
(control  code) |                  ความหมาย |                  ค่า  ASCII  |                 
                 | \a |                  Bell  |                  007  |                 
                 | \b |                  Backspace |                  008  |                 
                 | \t |                  Horizontal  tab |                  009  |                 
                 | \n |                  Newline  (line     feed) |                  010  |                 
                 | \v |                  Vertical  tab |                  011  |                 
                 | \f |                  From  feed |                  012  |                 
                 | \r |                  Carriage  return |                  013  |                 
                 | \” |                  Quotation  mark (“) |                  034  |                 
                 | \’ |                  Apostrophe (‘) |                  039  |                 
                 | \? |                  Question  mark (?) |                  063  |                 
                 | \\ |                  Backslash (\) |                  092  |                 
                 | \0 |                  Null (ศูนย์) |                  000  |                 
                 | \ooo |                  Octal  number (o) |                  -  |                 
                 | \xhh |                  Hexadecimal  number     (h) |                  -  |                 
 ที่มา  :  Gottfried, S. Byron, 1990 : 474. 
            เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน   printf(  )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.8, 3.9  และ   3.10   ดังต่อไปนี้ 
โปรแกรมตัวอย่างที่  3.8  แสดงโปรแกรมการใช้ฟังก์ชัน  printf( )  พิมพ์ข้อความออกแสดงที่จอภาพ                           
                   |                    |                    |                    |                    |                 
                 |   |                   
                       /*          printf1.c                  */ 
#include<stdio.h>                                                                           /*  บรรทัดที่  1       */ 
#include<conio.h>                                                                           /*  บรรทัดที่  2       */ 
void  main(void)                                                                                  /*  บรรทัดที่  3       */ 
{                                                                                                          /*  บรรทัดที่  4       */ 
      clrscr(       );                                                                                  /*  บรรทัดที่  5       */ 
      printf("Welcome      to Thailand       !!!");                                     /*  บรรทัดที่  6       */ 
      getch(       );                                                                                  /*  บรรทัดที่  7       */ 
}                                                                                                          /*  บรรทัดที่  8       */ 
  |                    |                 
                   |                    |                    |                 
  
 
ผลลัพธ์ที่ได้จากโปรแกรม  คำอธิบายโปรแกรม  
            จากโปรแกรมตัวอย่างที่  3.8  สามารถอธิบายการทำงานของโปรแกรมที่สำคัญ  ๆ ได้ดังต่อไปนี้ 
                
บรรทัดที่  6   คำสั่ง  printf(“Welcome to Thailand  !!!”);  เป็นคำสั่งที่นำข้อความ   Welcome to Thailand !!!  แสดงที่จอภาพ  และหยุดรอรับค่าใด ๆ   จากคีย์บอร์ด   ซึ่งถ้าเรากด  enter  ก็จะกลับสู่โปรแกรม 
 โปรแกรมตัวอย่างที่  3.9  แสดงโปรแกรมการใช้ฟังก์ชัน  printf( )  ควบคู่กับ  รหัสรูปแบบ  %c   และ  %s  เพื่อแสดงข้อมูลที่จอภาพ 
                   |                    |                    |                    |                    |                 
                 |   |                   
                       /*          printf2.c                  */ 
#include<stdio.h>                                                                           /*  บรรทัดที่  1       */ 
#include<conio.h>                                                                           /*  บรรทัดที่  2       */ 
void  main(void)                                                                                  /*  บรรทัดที่  3       */ 
{                                                                                                          /*  บรรทัดที่  4       */ 
      char  ch='A';                                                                          /*  บรรทัดที่  5       */ 
      char  str[]="Computer";                                                       /*  บรรทัดที่  6       */ 
      clrscr(  );                                                                                 /*  บรรทัดที่  7       */ 
      printf("%5c \t\tCHARACTER %s",      ch, str);                       /*  บรรทัดที่  8       */ 
      getch(  );                                                                          /*  บรรทัดที่  9       */                 
}                                                                                           /*   บรรทัดที่  10 */  
  |                    |                 
                   |                    |                    |                 
     
ผลลัพธ์ที่ได้จากโปรแกรม 
คำอธิบายโปรแกรม  
            จากโปรแกรมตัวอย่างที่  3.9  สามารถอธิบายการทำงานของโปรแกรมที่สำคัญ  ๆ ได้ดังต่อไปนี้ 
                
บรรทัดที่  5  ประกาศตัวแปรชนิดอักขระ  ชื่อ  ch  ให้เก็บตัวอักษร  A   
บรรทัดที่  6  ประกาศตัวแปรชุดชนิดอักขระ  ชื่อ  str  ให้เก็บข้อความ  Computer 
บรรทัดที่  8   ให้นำค่าของตัวแปร  ch   มาแสดงตรงตำแหน่ง  %c  ก่อนแสดงให้เว้นช่องว่าง   5  ช่อง  และพบ  \t \t   คือให้เว้น  tab  ไป  2   ครั้ง  (tab  1  ครั้ง   มี  8   ช่องว่าง)  แล้วค่อยพิมพ์ข้อความ   CHARACTER   และนำข้อความที่เก็บในตัวแปร  str   มาแสดงตรงตำแหน่ง  %s   แล้วหยุดรอรับค่าใด ๆ  จากคีย์บอร์ด   ซึ่งถ้าเรากด  enter   ก็จะกลับสู่โปรแกรม   
 โปรแกรมตัวอย่างที่  3.10  แสดงโปรแกรมการใช้ฟังก์ชัน  printf( )  ควบคู่กับ  รหัสรูปแบบ  %d, %c, %s  และ  %f   เพื่อแสดงข้อมูลที่จอภาพ                            
                   |                    |                    |                    |                    |                 
                 |   |                   
                       /*          printf3.c                  */ 
         #include<stdio.h>                                                                            /*  บรรทัดที่  1       */ 
#include<conio.h>                                                                           /*  บรรทัดที่  2       */ 
void  main(void)                                                                                  /*  บรรทัดที่  3       */ 
{                                                                                                          /*  บรรทัดที่  4       */ 
      int a=5,  b=2;                                                                         /*  บรรทัดที่  5       */ 
      char c='D',  d='F';                                                               /*   บรรทัดที่  6       */ 
      char  e[20]="Thailand";                                                    /*   บรรทัดที่  7       */ 
      float f = 9.5 ,  g;                                                                     /*  บรรทัดที่  8       */ 
      clrscr(  );                                                                                 /*  บรรทัดที่  9       */ 
      b+=a;        d+=5;    g = f +  2.5;                                              /*  บรรทัดที่  10 */ 
      printf("%5d \t%-5d\n",a, b);                                               /*  บรรทัดที่  11 */ 
      printf("%3c \t%-3c\n",c--, ++d);                                        /*  บรรทัดที่  12 */ 
      printf("%s\n",e);                                                                     /*  บรรทัดที่  13 */ 
      printf("%.3f \t%-.3f\n", f+2, g);                                            /*  บรรทัดที่  14 */ 
      getch(  );                                                                                 /*  บรรทัดที่  15 */ 
}                                                                                                          /*  บรรทัดที่  16 */ 
  |                    |                 
                   |                    |                    |                 
  
 
ผลลัพธ์ที่ได้จากโปรแกรม                           คำอธิบายโปรแกรม  
            จากโปรแกรมตัวอย่างที่  3.10 สามารถอธิบายการทำงานของโปรแกรมที่สำคัญ  ๆ ได้ดังต่อไปนี้ 
                
บรรทัดที่  10  คำสั่ง  b+ = a   คือ  b = b +  a  เพราะฉนั้น  b = 2 + 5 = 7 
คำสั่ง  d+ = 5   คือ  d = d +  5  เพราะฉนั้น  d = ‘K’ 
คำสั่ง  g = f + 2.5  คือ  g = 9.5 + 2.5 = 12.0 
บรรทัดที่  11   ใช้ฟังก์ชัน  printf( )  พิมพ์ข้อมูลชนิด  int   ของตัวแปร  a  และ  b    โดยใช้รัสควบคุม   เป็น  %d  สำหรับตัวเลข  5   เป็นการบอกให้เว้นช่องว่าง    5  ช่องก่อนแล้วค่อยนำค่าตัวแปร  a   มาแสดง   ส่วนเครื่องหมาย –  หน้าตัวเลขเป็นการบอกให้พิมพ์ตัวเลขชิดซ้าย  สำหรับรูปแบบการแสดงตัวแปร  b    
บรรทัดที่  12   ใช้ฟังก์ชัน  printf( )  พิมพ์ข้อมูลชนิด  char   โดยใช้รหัสควบคุม  %c   ของตัวแปร  c   ก่อนแล้วค่อยลดค่าตัวแปรลง   1  และ  ++d   คือ    เพิ่มค่าตัวแปร  d  ขึ้น  1   ค่าก่อนแล้วค่อยแสดงผลออกจอภาพ 
บรรทัดที่  13  ใช้ฟังก์ชัน  printf( )  พิมพ์ข้อมูลชนิด  string   โดยใช้รหัสควบคุม  %s  ของตัวแปร  e   ออกจอภาพ 
บรรทัดที่  14   ใช้ฟังก์ชัน  printf( )  พิมพ์ข้อมูลชนิด  float   โดยใช้รหัสควบคุม  %f   ของตัวแปร  f + 2   คือ  11.500  (%3f  คือ  ทศนิยม   3  ตำแหน่ง)   และแสดงค่าตัวแปร  g   ออกจอภาพ   แล้วหยุดรอรับค่าใด ๆ  จากคีย์บอร์ด   ซึ่งถ้าเรากด  enter   ก็จะกลับสู่โปรแกรม 
 3.2.2 ฟังก์ชัน  putchar( ) 
             เป็นฟังก์ชันที่ใช้ในการแสดงผลลัพธ์ออกจอภาพทีละ  1  ตัวอักขระ    โดยลักษณะของฟังก์ชันนี้เป็นฟังก์ชันที่ต้องการ  argument  1   ค่าที่เป็นข้อมูลชนิด  single  character  (char) 
รูปแบบการใช้งานฟังก์ชัน             
putchar(char_argument);                          โดยที่  
                
putchar( )  คือ   ฟังก์ชันที่ใช้แสดงผลลัพธ์ทีละ  1  ตัวอักขระออกทางจอภาพ 
char_argument  คือ  ตัวแปรชนิด  single  character  (char) 
             เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน   putchar(  )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.11   และ  3.12   ดังต่อไปนี้ 
โปรแกรมตัวอย่างที่  3.11  แสดงโปรแกรมการใช้ฟังก์ชัน  putchar( )  เพื่อแสดงข้อมูลออกจอภาพ                          
                   |                    |                    |                    |                    |                 
                 |   |                   
                       /*          putchar1.c          */ 
#include<stdio.h>                                                                           /*  บรรทัดที่  1       */ 
#include<conio.h>                                                                           /*  บรรทัดที่  2       */ 
void  main(void)                                                                                  /*  บรรทัดที่  3       */ 
{                                                                                                          /*  บรรทัดที่  4       */ 
      char       p;                                                                                    /*  บรรทัดที่  5       */ 
      clrscr(       );                                                                                  /*  บรรทัดที่  6       */ 
      printf("Enter      a single character  :");                                   /*  บรรทัดที่  7       */ 
      p=getche(       );                                                                          /*  บรรทัดที่  8       */ 
      printf("\nYour      character is  ...%c");                                    /*  บรรทัดที่  9       */ 
      putchar(p);                                                                            /*  บรรทัดที่  10 */ 
      getch(       );                                                                                  /*  บรรทัดที่  11 */ 
}                                                                                                          /*  บรรทัดที่  12 */ 
  |                    |                 
                   |                    |                    |                 
  
ผลลัพธ์ที่ได้จากโปรแกรม  
              คำอธิบายโปรแกรม  
            จากโปรแกรมตัวอย่างที่  3.11 สามารถอธิบายการทำงานของโปรแกรมที่สำคัญ  ๆ ได้ดังต่อไปนี้ 
                
บรรทัดที่  8  ใช้ฟังก์ชัน  getche( )  โดยนำค่าที่รับจากคีย์บอร์ดไปเก็บไว้ในตัวแปร  p 
บรรทัดที่  10   ใช้ฟังก์ชัน  putchar( )  โดยนำค่าที่เก็บไว้ในตัวแปร  p    ออกแสดงผลที่จอภาพตรงตำแหน่ง  %c   ในฟังก์ชัน  printf(  )  ของบรรทัดที่   9   แล้วหยุดรอรับค่าใด ๆ   จากคีย์บอร์ด  ซึ่งถ้าเรากด  enter    ก็จะกลับสู่โปรแกรม 
 โปรแกรมตัวอย่างที่  3.12  แสดง โปรแกรมการใช้ฟังก์ชัน  putchar( )  เพื่อแสดงข้อมูลออกจอภาพ    และแทรกด้วยการใช้ฟังก์ชัน  printf(  )  ก่อนนำข้อมูลออกแสดงผล                             
                   |                    |                    |                    |                    |                 
                 |   |                   
                       /*          putchar2.c          */ 
#include<stdio.h>                                                                           /*  บรรทัดที่  1       */ 
#include<conio.h>                                                                           /*  บรรทัดที่  2       */ 
void  main(void)                                                                                  /*  บรรทัดที่  3       */ 
{                                                                                                          /*  บรรทัดที่  4       */ 
      char       p;                                                                                    /*  บรรทัดที่  5       */ 
      clrscr(       );                                                                                  /*  บรรทัดที่  6       */ 
      printf("Enter      a single character :  ");                                  /*  บรรทัดที่  7       */ 
      p=getche(       );                                                                          /*  บรรทัดที่  8       */ 
      printf("\nThank      you  !!!");                                                      /*   บรรทัดที่  9       */ 
      printf("\nYour      character is ...%c");                                    /*  บรรทัดที่  10 */ 
      putchar(p);                                                                            /*  บรรทัดที่  11 */ 
      getch(       );                                                                                  /*  บรรทัดที่  12 */ 
}                                                                                                          /*  บรรทัดที่  13 */ 
  |                    |                 
                   |                    |                    |                 
  
 
ผลลัพธ์ที่ได้จากโปรแกรม  
คำอธิบายโปรแกรม  
            โปรแกรมตัวอย่างที่  3.12   จะทำงานคล้ายกับโปรแกรมตัวอย่างที่  3.11    โดยการเก็บค่าที่รับจากคีย์บอร์ดไว้ในตัวแปร    แล้วนำค่าที่เก็บไว้ในตัวแปรออกแสดงผลด้วยฟังก์ชัน  putchar( )   ซึ่งก่อนจะแสดงผลมีการใช้ฟังก์ชัน  printf( )  พิมพ์ข้อความ  Thank you  !!!   ออกมาแทรกก่อน  1  บรรทัด  แล้วหยุดรอรับค่าใด ๆ  จากคีย์บอร์ด    ซึ่งถ้าเรากด  enter  ก็จะกลับสู่โปรแกรม 
3.2.3 ฟังก์ชัน  puts( ) 
            เป็นฟังก์ชันที่พิมพ์ข้อความออกแสดงทางจอภาพ    โดยลักษณะของฟังก์ชันนี้เป็นฟังก์ชันที่ต้องการ  argument  1   ค่าที่เป็นชนิดข้อความ  (string  constant) 
รูปแบบการใช้งานฟังก์ชัน             
puts(string_argument);                          โดยที่  
                
puts(  )  คือ   ฟังก์ชันที่ใช้พิมพ์ข้อความออกทางจอภาพ  
string_argument  คือ  ค่าคงที่ชนิดสตริง  (string  constant)   ซึ่งค่าคงที่สตริงนี้จะถูกพิมพ์ออกแสดงทางจอภาพผ่านฟังก์ชัน  puts( ) 
             เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน  puts(  )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.13   ดังต่อไปนี้ 
โปรแกรมตัวอย่างที่  3.13  แสดงโปรแกรมการใช้ฟังก์ชัน  puts( )                          
                   |                    |                    |                    |                    |                 
                 |   |                   
                       /*          puts1.c                   / 
 #include<stdio.h>                                                                           /*  บรรทัดที่  1       */ 
#include<conio.h>                                                                           /*  บรรทัดที่  2       */ 
void  main(void)                                                                                  /*  บรรทัดที่  3       */ 
{                                                                                                          /*  บรรทัดที่  4       */ 
      clrscr(       );                                                                                  /*  บรรทัดที่  5       */ 
      printf("Computer  Programming Language 1");           /*  บรรทัดที่  6       */ 
      puts("      is your course."  );                                                      /*  บรรทัดที่   7       */ 
      getch(       );                                                                                  /*  บรรทัดที่  8       */ 
}                                                                                                          /*  บรรทัดที่  9       */ 
  |                    |                 
                   |                    |                    |                 
  
ผลลัพธ์ที่ได้จากโปรแกรม  
คำอธิบายโปรแกรม  
            จากโปรแกรมตัวอย่างที่ 3.13 สามารถอธิบายการทำงานของโปรแกรมที่สำคัญ  ๆ ได้ดังต่อไปนี้ 
                
บรรทัดที่  6  ใช้ฟังก์ชัน  printf( )  พิมพ์ข้อความออกจอภาพ  คือ Computer  Programming Language  1  แสดงที่จอภาพ 
บรรทัดที่  7   ใช้ฟังก์ชัน  puts( )  พิมพ์ข้อความ  is your course. ต่อท้ายของฟังก์ชัน   printf( )  ในบรรทัดที่  6   จะได้   Computer   Programming Language 1   is your  course.  แล้วหยุดรอรับค่าใด  ๆ  จากคีย์บอร์ด  ซึ่งถ้าเรากด    enter  ก็จะกลับสู่โปรแกรม                 | 
ไม่มีความคิดเห็น:
แสดงความคิดเห็น