วันพฤหัสบดีที่ 23 มิถุนายน พ.ศ. 2554

บทที่ 2 ภาษา c (Review C Language)

บทที่2 ภาษา C (Review C Language)

Contents 

คำสั่งพื้นฐานต่างๆ เช่น printf,scanf

  • เช่น printf( “abc” );
        printf( “%s”, ”abc” ); 
  • เช่น scanf( “%d”,&x);
Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่ 
       %d   ใช้กับข้อมูลแบบ integer
       %c    ใช้กับข้อมูลแบบ character
       %f     ใช้กับข้อมูลแบบ floating
       %s    ใช้กับข้อมูลแบบ string

Operator
เครื่องหมายดำเนินการ (Operator) แบ่งออกเป็น 3 ชนิด คือนิพจน์ (Expression)
  • Arithmetic Operators ได้แก่  +, - , *, /, % , -- , ++
  • Relational and Equality Operators ได้แก่ < , > , <= , >= , == , !=
  •    - Logical Operators ได้แก่ ! , && , ||
 คือการนำตัวแปรค่าคงที่มาสัมพันธ์กันโดยใช้เครื่องหมายอย่างใดอย่างหนึ่ง
นิพจน์จะทำงานจากซ้ายไปขวาามลำดับการทำงานของเครื่องหมาย

  1. วงเล็บ
  2. !, ++, --
  3. *, /, %
  4. +, -
  5. <, <=, >, >=
  6. ==, !=
  7. &&
  8. ||
selection/Condition
  • if statement
  • if - else statement
  • if - else statement (Nested if)
  • switch statement
Repetition/Loop
  • while statement
      Format :
   
          while (expression) {                  
                   statement-1;                  
                   statement-2;                      
                       ……                  
                   statement-n;     
           }
  • for statement
    Format :
              for (expression -1; expression-2; expression-3 ) {                
                   statement -1 ;                
                   statement -2 ;                     
                            …..                
                  statement -n ;  
          }
  • do-while statement
    Format :
                   do {                
                         statement -1 ;                
                         statement -2 ;                  
                               …..                 
                         statement -n ;            
                   } while (expression);
Function
ข้อดี
  • เขียนโค้ดครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
  • สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้
  • ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว
  • ทำให้โปรแกรมมีความเป็นโครงสร้าง 
  • สามารถแบ่งเป็นโมดูลย่อยๆได้
Function (Cont.)
ฟังก์ชันแบ่งเป็น 2 ประเภท คือ

  1. Library Function
  • Format :
           #include<file-name>
  •  Example
           #include<stdio.h>   #include<conio.h >   etc. 
Example Library Function
strcpy() - อยู่ในแฟ้มข้อมูล string.h
  • ทำหน้าที่: คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง
  • Format:
          strcpy(str1, str2);

Library Function

วิธีเรียกใช้งาน  Library Function
  • เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน
  • เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น
    User Defined Function 
     
       -คือ ฟังก์ชันที่ผู้เขียนโปรแกรมสามารถเขียนฟังค์ชันขึ้นใช้เอง โดยฟังก์ชันนี้อาจจะรวมอยู่กับโปรแกรมหลักเป็นแฟ้มเดียวกัน หรือยกฟังก์ชันเหล่านี้ไว้คนละแฟ้มข้อมูลก็ได้
       -การสร้างฟังก์ชัน ประกอบด้วย
    • Function Definition
    • Function Prototype
    • Invocation
     Function Definition
    • Function Definition หรือนิยามฟังก์ชัน คือ รายละเอียดในการทำงานของฟังก์ชัน
    • Format :
              /*…………..*/  clip_image001 heading comment
              data-type function-name(type argument )   
             {      
                      declaration;      
                      statement;    
                      return(value);
              }
    Function Prototype 
    •  เป็นตัวบอกให้ Compiler ทราบว่าการประกาศฟังก์ชันขึ้นและฟังก์ชันนั้นมีค่าที่ส่งกลับเป็นอะไร มีการรับพารามิเตอร์อะไรบ้าง มีประโยชน์ในการตรวจสอบข้อผิดพลาดระหว่างการเรียกใช้ฟังก์ชัน 
    Example:
               void print_banner(void);
               void print_banner(int  amount);
    Invocation
    • คือการเรียกใช้ฟังก์ชัน

    • ลักษณะของฟังก์ชัน
              -ฟังก์ชันที่ไม่มีการส่งค่ากลับ การเรียกใช้ทำได้โดยอ้างถึงชื่อฟังก์ชัน
               ...........
      Print_banner () ;
             
              -ฟังก์ชันที่มีการส่งค่ากลับ การเรียกใช้ทำได้เหมือนแบบแรก แต่ต้องมีตัวแปรมารับค่าที่จะต้องส่งกลับด้วย
    int main(void) {
    int k, j;
       j = prompt ()
       k = prompt ();
    printf(“j = %d and k = %d”, j, k);
              
               -ฟังก์ชันที่มีการรับค่า argument
    การเรียกใช้ฟังก์ชันทำได้โดยอ้างถึงชื่อของฟังก์ชันพร้อมทั้งส่งค่าของตัวแปร(parameter)ไปด้วย โดยจะ ต้องมีชนิดสอดคล้องกับ argument ของฟังก์ชัน ที่เรียกใช้
             
               -การผ่านค่า argument ให้ฟังก์ชัน ทำได้ 2 แบบ คือ
    Pass by Value คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งค่าของตัวแปรหรือค่าที่ส่งไปโดย ค่าคงที่ผ่านให้กับค่าฟังก์ชันจะถูกคัดลอกส่งให้กับ ฟังก์ชันและจะถูกเลี่ยนแปลงเฉพาะภายในฟังก์ชัน โดยค่าของ argumentในโปรแกรมที่เรียกใช้จะไม่เปลี่ยนแปลง   ตัวอย่าง :
    void swap(int num1, int num2) {
            int tmp;
    tmp = num1;
    num1 = num2;
    num2 = tmp;
    print(“A is %d B is %d\n”, num1, num2);
    }
    Pass by Reference
    คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นใน โปรแกรมที่เรียกใช้เปลี่ยนไปด้วย ตัวอย่าง :
    void swap(int * num1, int * num2) {
           int tmp;
    tmp = *num1;
    *num1 =* num2;
    *num2 = tmp;
    }

ตัวอย่าง Library Function s

trcpy () –อยู่ในแฟ้มข้อมูล string.h 
  • ทำหน้าที่ : คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง
  •   Format : 
           strcpy (str1, str2);

ไม่มีความคิดเห็น:

แสดงความคิดเห็น