ข่าว IT ล่าสุด
ถูกใจอย่าลืม Like Fanpage
Listen 4 : Variable declaration
แสดงแล้ว 6802 ครั้ง /
สิงหาคม 18, 2009, 22:26:13

Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้

ในภาษา C   หากต้องการใช้ตัวแปร   จะต้องทำการประกาศตัวแปรไว้ที่ส่วนบนก่อนที่จะถึงบรรทัดที่เป็นประโยคคำสั่ง
  การประกาศตัวแปรจะเป็นการบอก   compiler ว่าตัวแปรของเรานั้นเป็นตัวแปรชนิดใด

                                           
Datatype
Keyword
character
        integer
        float
        double
char
        int
        float
        double

รูปแบบของการประกาศคือ
                 
                     Keyword        list of variable   ;
ตัวอย่างเช่น เราจะประกาศตัวแปรชื่อ chr1 และ chr2 เป็นตัวแปรชนิด Character เราจะใช้ว่า                  
                     char                 chr1 , chr2 ;
ข้อสังเกต   เราจะเห็นได้ว่าหลังการประกาศตัวแปรจะมีเครื่องหมาย ; แสดงว่าการประกาศตัวแปรก็เป็น   C Statement (คำสั่ง)เช่นกัน

ทดลองสังเกตตัวอย่างต่อไปนี้
  #include
  /* my second   program */
  main()
  {
             int    First , Second , Sum;      /*   variable declaration */  
             First = 10 ;  
             Second = 20   ;  
             Sum = First + Second ;  
             printf(   " The sum of %d   and %d is %d " , First , Second , Sum );
  }
  ดูโปรแกรมแล้วพบว่านี่คือโปรแกรมที่จะทำการบวกเลข 2 จำนวนคือ 10 และ 20 โดย   การเก็บค่า 10 เอาไว้ในตัวแปรชื่อ First และเก็บค่า 20 ไว้ในตัวแปร Second   จากนั้นก็ทำการบวกทั้งสองค่าโดยเก็บผลลัพธ์ที่ได้ไว้ในตัวแปรที่ชื่อว่า Sum   จากนั้นทำการ แสดงค่าของทั้ง 3   ตัวแปรออกมาทางจอภาพ
  อธิบายโปรแกรมโดยละเอียด จะได้ว่า
  ที่บรรทัด int   First , Second , Sum ; นั้นเราได้สั่งให้มีการประกาศตัวแปรชนิด integer 3 ตัวคือ   First , Second และ Sum
  บรรทัดถัดมา คือ First = 10 ; เป็นการกำหนดค่า จำนวนเต็ม   10 ให้กับตัวแปรที่เป็นจำนวนเต็ม (integer) ส่วนนี้สำคัญคือ เรากำหนดตัวแปรเป็น   integer นั่นก็คือ ตัวแปรชนิดนี้จะเก็บเฉพาะค่าที่เป็นจำนวนเต็มเท่านั้น   หากเราใส่ค่า 10.2 ให้กับตัวแปร   ตัวแปรนั้นก็ยังคงเก็บเลขจำนวนเต็มอยู่เสมอ
  บรรทัดถัดมา คือ Second = 20 ;   ก็คือการกำหนดค่า 20 ให้กับตัวแปร Second
  บรรทัดถัดมา คือ Sum = First + Second   ; คือการนำค่าของ 2 ตัวแปรมาบอกกันและเก็บไว้ที่ตัวแปร Sum
  บรรทัดต่อมาคือ   printf( " The sum of %d and %d is %d " , First , Second , Sum );   จะต้องอธิบายกันยาวหน่อยดังนี้
  ฟังก์ชัน printf(   )
            
ฟังก์ชัน printf( ) มีรูปแบบดังนี้

                 
printf ( " control string " , variable list );
โดย control string   อาจจะเป็นตัวอักษร ข้อความ หรือ ตัวกำหนดชนิดข้อมูล (Specifier)   ซึ่งใช้กำหนดชนิดข้อมูลที่จะพิมพ์ ตัวกำหนดข้อมูลที่ควรทราบมีดังนี้                                            
ตัวกำหนดชนิดข้อมูล
ความหมาย
%c
        %d
        %f
        %lf
        %s
        %%
แทนตัวอักษร
        แทนเลขจำนวนเต็ม
        แทนเลขทศนิยม ( float )
        แทนเลขทศนิยม   (double)
        แทนสตริงก์
        แทนเครื่องหมาย   %
ส่วน variable list ก็คือ list   ของตัวแปร จากตัวอย่าง
printf( " The sum of %d and %d is %d " , First ,   Second , Sum );
พบว่า เรามี ตัวกำหนดชนิดข้อมูลคือ %d   ซึ่งแทนชนิดข้อมูลที่เราจะพิมพ์คือ integer ซึ่ง %d ตัวแรกจะใช้แทนค่าของ First   ตัวที่สองจะใช้แทนค่าของ Second ตัวที่สามจะใช้แทนค่าของ   Sum
จากโปรแกรมข้างต้นผล run ที่ออกมาจะปรากฎดังนี้
The sum of 10 and 20 is 30
นอกจากนี้เรายังพบว่าเรายังสามารถกำหนดลักษณะการพิมพ์ได้ดังต่อไปนี้
#include  
main()
{
         int a;
         float b   ;
         a = 50 ;
         b = 10.583 ;
         printf ( " a = %d   n " , a ) ;
         printf ( " b = %f n " , b ) ;
         printf ( " a   = %05d n " , a );
         printf ( " b = %10.4f n " , b   );
         printf ( " b = % -10.4f n " , b ); 
}
พบว่า ผล run   ที่ได้คือ
a = 50
b = 10.583000             พบว่าแสดงทศนิยม 6 หลัก   เป็นปกติ
a = 00050                     พบว่า a มีความยาว 5 ตำแหน่ง   นับจากซ้าย
b = ___10.5830   พบว่า เราสั่งให้ %10.4 คือ   การสั่งให้มีความยาวทั้งหมด 10 ตำแหน่ง รวมด้วยการมีทศนิยม 4 ตำแหน่ง
b =   10.5830          คล้ายกับบรรทัดก่อนหน้าแต่เราใส่เครื่องหมาย -   เพื่อให้มันพิมพ์ชิดซ้าย
สังเกตได้ว่าในส่วน control string นี้จะลงท้ายด้วย   n เขาเรียกว่าเป็น backslash character constant   ซึ่งเป็นการกำหนดให้ขึ้นบรรทัดใหม่   แต่ยังมีอีกหลายรูปแบบที่น่าสนใจดังนี้
                                           
สัญลักษณ์
ความหมาย
b
        f
        n
        r
        t
        "
        '
        o
          
        v
        a
        N
        XN
backspace
        form feed
        newline
        carriage return
        horizontal   tab
        double quote
        single quote
        null
        blackslash
        vertical   tab
        bell
        octal number (N=octal constant)
        hexadecimal constant (N =   hexadecimal constant)

ขอบอกว่าที่ใช้อยู่จริงๆ ก็มีแค่ n t o เท่านั้นส่วนอื่นๆ   ถ้าต้องการใช้จริงๆ ค่อยมาเปิดตำราอ่านเอาเองนะ

เมื่อมาถึงจุดนี้สรุปการใช้คำสั่ง printf อย่างคร่าวๆ คือ
  1.   ถ้าต้องการแค่พิมพ์ข้อความขึ้นบนหน้าจอหรือที่เรียกว่า prompt   เพื่อให้ผู้ใช้รู้ว่าจะต้องเติมข้อมูลอะไรลงไป หรือเพียงต้องการพิมพ์ Title   ของโปรแกรมที่เราเขียนเท่านั้น เช่น เราต้องการเขียนว่า First Program Version 1.1   เราก็จะใช้ คำสั่ง printf("First Program Version 1.1"); หรือ   เราต้องการให้ผู้ใช้ใส่ชื่อของผู้ใช้เองลงในโปรแกรม ก็สั่ง printf("Please Enter   your Name : "); ซึ่งเหตุผลที่จะต้องมีข้อความนี้เพราะ แน่นอนว่าเมื่อเรา Run   โปรแกรมขึ้นมาแล้วปรากฎว่าไม่มีข้อความนี้ แสดงอยู่   แล้วผู้ใช้จะไปทราบได้อย่างไรว่า จะต้องใส่ชื่อของตนเองลงไป
  2. ถ้าต้องการพิมพ์   ข้อความ แล้วตามด้วย ค่า ที่เราคำนวณได้ หรือ ค่า ที่เก็บไว้ในตัวแปร นั้นๆ   เราสามารถทำได้ง่ายๆ ยกตัวอย่างเช่น เรามีตัวแปร width ที่เก็บค่าความยาว และตัวแปร   high ที่เก็บค่าความสูง และเราต้องการสั่งพิมพ์ข้อความที่ว่า "This table is width   ........... feet " ตรงส่วนที่เว้นไว้คือ   ให้แสดงค่าความกว้างที่เก็บอยู่ในต้วแปรชื่อ width ดังนั้นเราสามารถสั่งได้โดย   printf("This table is width %d feet",width); ในคำสั่งนี้จะเห็นได้ว่าประกอบไปด้วย 2   ส่วนคือส่วนสีแดง และส่วนสีน้ำเงิน มาดูในส่วนสีแดง พบว่ามีสัญลักษณ์ %d   ซึ่งกล่าวไว้ตั้งแต่ต้นแล้วว่า เป็นการแทนเลขจำนวนเต็ม เมื่อตัว compile   มองมาในคำสั่ง และเห็นตัว %d เข้าแล้ว   มันจะไปมองหาตัวแปรในส่วนของสีน้ำเงินทันทีเพื่อทำการเอาค่าจากตัวแปรในสีน้ำเงินมาแสดงทับตัว   %d ตัวอย่างเช่น
  int width = 6;
  printf("This table is width %d   feet",width);
  เมื่อ Run โปรแกรมแล้วจะแสดงข้อความดังนี้ This table is width 6 feet
  
ต่อไปถ้าเราต้องการแสดงค่า 2 ค่า เช่น   แสดงทั้งความกว้างและความยาวทำได้โดย
  int width = 6;
  int high   =4;
  printf("This table is width %d feet and high %d   feet",width,high);
  เมื่อ compile ตัว   compile มองเห็น %d   ตัวแรกมันก็จะมองไปหาตัวแปรตัวแรกในส่วนที่สอง(ส่วนสีน้ำเงิน)ทันทีนั่นก็คือ width   จากนั้นเมื่อมันเห็น %d ตัวที่สอง   มันก็จะมองไปหาตัวแปรตัวที่สองในส่วนที่สอง(ส่วนสีน้ำเงิน)นั่นคือ high   ในทันที
  
ตัวอย่างต่อไป ถ้าต้องการแสดงค่า พื้นที่ของ โต๊ะตัวนี้นั่นก็คือ   กว้าง คูณ ยาว เราสามารถสั่งพิมพ์ได้ดังนี้
  printf("Area of   this table is %d",width*high); ในที่นี้   ส่วนสีน้ำเงินคือ กว้าง*ยาว ถือได้ว่าเป็นค่า 1 ค่า ดังนั้นเมื่อ compiler มองเห็น   %d ในส่วนสีแดง ก็จะมองหาค่าค่าแรกในส่วนสีน้ำเงิน นั่นคือ ค่าของ กว้าง*ยาว   มาใส่แทน %d ในทันที
  โดยคร่าวๆ แล้ว คำสั่ง printf มีการใช้เพียงเท่านี้   แต่ความจริงแล้วยังมีลูกเล่นอีกมากมาย แต่ไม่ขอพูดในที่นี้

ถึงเวลานี้เรารู้จักชนิดของตัวแปร   รู้จักการแสดงข้อความออกทางหน้าจอเรียบร้อยแล้ว   ต่อไปเราจะมาศึกษากันว่าหากต้องการรับค่าจาก keyboard จะต้องทำอย่างไร

« แก้ไขครั้งสุดท้าย: สิงหาคม 18, 2009, 22:32:48 โดย admin »

 

ด้วยฟังค์ชั่น ตอบด่วน คุณสามารถใช้โค๊ดและ เครื่องหมายแสดงอารมณ์ได้ เหมือนการตั้งกระทู้ธรรมดา แต่สามารถทำได้สะดวกกว่า

ระวัง: หัวข้อนี้ไม่มีการอัพเดทมานานถึง 120 วัน

แจ้งเตือน: โพสของคุณจะไม่แสดงจนกว่าผู้ดูแลจะอนุมัติ.
ชื่อ: อีเมล์: