1. ประวัติภาษาซี
Upcoming SlideShare
Loading in...5
×
 

1. ประวัติภาษาซี

on

  • 7,138 views

 

Statistics

Views

Total Views
7,138
Slideshare-icon Views on SlideShare
7,135
Embed Views
3

Actions

Likes
0
Downloads
85
Comments
1

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    1. ประวัติภาษาซี 1. ประวัติภาษาซี Presentation Transcript

    • การเขียนโปรแกรมคอมพิวเตอร์เบื้องต้น “ หลักการพื้นฐานภาษาซี ”
    • วัตถุประสงค์
      • เพื่อให้นักเรียนรู้จักการเขียนโปรแกรมแบบโครงสร้าง
      • เพื่อให้นักเรียนเข้าใจโครงสร้างโปรแกรมของภาษา C
      • เพื่อให้นักเรียนทราบถึงพื้นฐานต่างๆ ของภาษา C
    • ทฤษฎี
      • ประวัติภาษาซี
      • คุณลักษณะของภาษาซี
      • โครงสร้างของโปรแกรมภาษาซี
      • พื้นฐานภาษาซี
      • ภาษาซีพัฒนาขึ้นมาในปี 1972 โดย Dennis Ritchie แห่ง Bell Telephone Laboratories, Inc . ( ปัจจุบันคือ AT&T Bell Laboratories )
      • ต้นกำเนิดมาจากภาษา 2 ภาษา คือ ภาษา BCPL และ ภาษา B
      • ภาษาซีนั้นถูกใช้งานอยู่ เพียงใน Bell Laboratories จนกระทั่งปี 1978 Brian Kernighan และ Ritchie นั้นเป็นที่รู้จักกันในชื่อของ " K&R C "
      • ในกลางปี 1980 ภาษาซีก็กลายเป็นภาษาที่ได้รับความนิยม
      ประวัติภาษาซี
    • ประวัติภาษาซี ( ต่อ ) ภาษาซีพัฒนาขึ้นในปี 1972 โดย Dennis Ritchie แห่ง Bell Lab ซึ่งภาษาซีมี ต้นกำหนดมาจาก 2 ภาษา คือ ภาษา BCPL และ ภาษา B B 1970 BCPL 1967 CPL 1963 ALGOL 1960 C 1972
    • คุณลักษณะของภาษาซี ( ทำไมต้องภาษาซี ในเมื่อมีภาษาที่ใช้เขียนโปรแกรมมากมาย )
      • เป็นภาษาการเขียนโปรแกรมเพื่อใช้งานทั่วไปจัดเป็นภาษาระดับสูง (High-level Language)
      • มีความยืดหยุ่นในการทำงานสูง
      • เป็นการเขียนโปรแกรมแบบโครงสร้าง
      • สนับสนุนระบบคอมพิวเตอร์ได้กว้างขวาง
      • สามารถสนับสนุนการทำงานในแบบ address และ bitwise สำหรับจัดการด้านฮาด์แวร์
      • ระบบ Unix ซึ่งเป็น Open Source พัฒนามาโดยใช้ภาษาซี
      • เป็นพื้นฐานที่ดี ที่จะเรียนภาษาอื่น ๆ ต่อไป เพราะว่าภาษาซีไม่มี Tools ช่วยมาก เราต้องเขียนเองเป็นส่วนใหญ่
    • รู้จัก Compiler และ Editor
      • Editor คือ โปรแกรมที่เราเอาไว้พิมพ์โปรแกรม
      • Compiler คือ โปรแกรม / ตัวแปรภาษา จากภาษาระดับสูง ให้เป็น ภาษาเครื่อง
      • โปรแกรม Turbo c++ 4.5 เป็นทั้ง Editor และ Compiler ในตัว
      • นักศึกษาคิดว่า มีการเขียนภาษาซี ที่ Editor กับ Compiler แยกกันหรือไม่ ???
    • รู้จัก ภาษา C กับ C++
      • C
        • ภาษาโปรแกรมเชิงโครงสร้าง
        • Structure Programming
        • *.c
      • C++
        • ภาษาโปรแกรมเชิงวัตถุ
        • O bject- O riented Programming
        • *.cpp
      ถ้าเขียนภาษา C แบบเชิงโครงสร้างธรรมดา แล้ว save ไฟล์โดยมีนามสกุลเป็น .cpp ก็ได้ Compiler มันยอม
    • หลักการพื้นฐาน เกี่ยวกับ ไฟล์ภาษาซี และ ไฟล์ที่เอาไปใช้งานได้ Compile โปรแกรม เพื่อให้ Compiler ช่วยแปล ภาษาระดับสูง เป็นภาษาเครื่อง ไฟล์ภาษาซี ที่พวกเราเขียนโปรแกรมขึ้นมา ไฟล์ Execute (exe) ที่เอาไปใช้งานได้ File.c Compile File.exe
    • ทำไมไม่สอนโปรแกรม ประเภท Visual
      • นักศึกษาอาจเคยได้ยิน เครื่องมือช่วยพัฒนาโปรแกรมประเภท Visual เช่น Visual Studio ที่ประกอบไปด้วย
        • Visual C++
        • Visual C#
        • Visual Basic
        • Visual J#
        • ทำไมไม่เรียนอันนั้น ???????
    • โครงสร้างของโปรแกรมภาษาซี
      • โปรแกรมภาษาซีมีลักษณะเป็นฟังก์ชัน
      • อาจมีฟังก์ชันเดียวหรือหลายฟังก์ชันก็ได้
      • แต่ละฟังก์ชันจะประกอบด้วยชื่อฟังก์ชันและตัวฟังก์ชันที่ปิดด้วยเครื่องหมาย { และ }
      • ในโปรแกรมภาษาซีจะต้องมีฟังก์ชันชื่อ main และมีเพียงฟังก์ชันเดียว โดยจะเริ่มทำงานจากฟังก์ชัน main ก่อน ส่วนฟังก์ชันอื่นๆจะกำหนดไว้ก่อนหรือหลังฟังก์ชัน main ก็ได้
    • รูปแบบฟังก์ชันประกอบด้วย 1 Function Heading คือ ส่วนหัวของฟังก์ชั่น จะอยู่ส่วนบนสุดของโปรแกรม 2 Variable Declaration คือ ส่วนของการประกาศตัวแปร ที่จะใช้งานในโปรแกรม 3 Compound Statement คือ ส่วนของคำสั่งต่าง ๆ ที่ผู้เขียนโปรแกรมต้องการสั่งให้โปรแกรมทำงาน (statement= คำสั่ง ,compound= หลาย ๆ ตัว )
    • รูปโครงสร้างโปรแกรม #include <stdio.h> /* Library File Access */ main() /* Function Heading */ { int i; /* Variable Declaration */ printf(“This is struture of C language”); /* Statement */ }
    • หลัก ในการเขียนโปรแกรมภาษาซี
      • ทุกคำสั่ง (statement) จะต้องอยู่ภายในเครื่องหมายวงเล็บปีกกา คือ { และ } ของแต่ละฟังก์ชัน
      • ในแต่ละคำสั่งนั้น จะต้องถูกปิดด้วยเครื่องหมายเซมิโคลอน (;)
      • คำสั่งเชิงซ้อน (Compound statement) จะต้องเขียนภายในเครื่องหมายปีกกา
    • การเขียนคำอธิบายโปรแกรม (Comment)
      • สิ่งที่เป็นคำอธิบายโปรแกรม มีไว้เพื่อการอธิบายที่ผู้เขียนโปรแกรมต้องการเขียนไว้
        • กันลืม
        • เน้นให้เห็นส่วนสำคัญของโปรแกรม
        • ใช้อธิบายตรรกะที่ใช้ในการเขียนโปรแกรม
        • หรือ อื่น ๆ เช่น เอาไว้ Debug โปรแกรม
      • ซึ่งเราก็จะเขียนมันลงไปในไฟล์ภาษาซีด้วยกันนี้ แต่เราจะใส่เครื่องหมายเพิ่มเติมลงไป เพื่อระบุว่า ส่วนนี้คือ Comment ซึ่ง Compiler หรือตัวแปรภาษา ไม่ต้องสนใจส่วนนี้
    • Comment เขียนได้ 2 แบบ
      • เขียน Comment อยู่ภายในเครื่องหมาย /* และ */
      • เขียน Comment อยู่หลังเครื่องหมาย // ในแต่ละบรรทัด
    • ตัวอย่างการเขียน Comment #include <stdio.h> main() // Function Heading { int i; printf(“This is struture of C language”); // this is statement }
    • ตัวอย่างการเขียน Comment /* my first program by Jakkapan Madeetrakul hahahaha */ #include <stdio.h> /* the comment comment comment */ main() { int i; printf(“This is struture of C language”); } ใช้ 2 แบบปน ๆ กันในไฟล์เดียวกันก็ได้
    • พื้นฐานภาษาซี
      • The C Character Set
      • Identifiers and Keywords
      • Data Types
      • Constants
      • Variables and Arrays
      • Declarations
      • Expressions
      • Statements
      • Symbolic Constants
    • The C Character Set
      • เป็นลักษณะของกลุ่มตัวอักขระที่ใช้ในภาษาซีซึ่งประกอบด้วยตัวอักษร A-Z ทั้งตัวใหญ่และตัวเล็ก ตัวเลข 0-9 และตัวอักขระพิเศษ เพื่อมาใช้ในโปรแกรม ( เช่น ค่าคงที่ ตัวแปร ตัวดำเนินการ นิพจน์ เป็นต้น ) โดยมีอักขระพิเศษ ดังต่อไปนี้
      • และยังมีตัวอักขระแบบพิเศษอีกแบบเรียกว่า escape sequence จะถูกนำหน้าด้วยเครื่องหมาย เช่น , , เป็นต้น
      ! * + “ < # ( = | { > % ) ~ ; } / ^ - [ : , ? & _ ] ‘ . (blank)
    • Identifiers and Keywords
      • เป็นการตั้งชื่อเพื่อนำไปใช้งานในโปรแกรมอาจเป็นชื่อตัวแปร ฟังก์ชัน และอื่นๆ โดยชื่อจะประกอบด้วยตัวอักษรและตัวเลข ซึ่งปกติตัวแรกจะเป็นตัวอักษร ( ตัวพิมพ์ใหญ่ กับ พิมพ์เล็ก เป็นคนละตัวกัน ให้ระวังด้วย เวลาใช้งาน ) เสมอส่วนลำดับถัดมาเป็นอะไรก็ได้ สามารถใช้เป็นตัวเล็กหรือตัวใหญ่ได้ หรืออาจใช้ (_) ในการตั้งชื่อก็ได้แต่ไม่นิยม และชื่อทั้งหมดที่ตั้งห้ามไปซ้ำกับกลุ่ม Keyword
      • ตัวอย่าง
      • x y12 sum_1 Names tax_rate TABLE
    • ตาราง Keyword ในภาษาซี while struct union short goto double case void sizeof int enum const volatile static long extern continue unsigned signed if else char typedef return for do break switch register float default auto
    • Data Types
      • เป็นประเภทของข้อมูลที่สามารถกำหนดให้กับตัวแปรได้ และใช้ตัวควอลิไฟเออร์ (Qualifier) ได้แก่ short long signed และ unsigned ในการกำหนดประเภทข้อมูลเพิ่มเติมจากมาตรฐาน
      • ในส่วนของขนาด ว่า ประเภทข้อมูลชนิดนี้ ใช้กี่ไบต์ในการเก็บ บางครั้งก็อาจสูงกว่านี้ ขึ้นอยู่กับรุ่น (Version) ของตัวแปรภาษาหรือ Compiler เช่น int ใช้ 2 bytes ในการเก็บ ถ้าเป็น Compiler รุ่นใหม่ ๆ อาจเป็น 4 bytes เป็นต้น (1 byte มี 8 bits) นักศึกษาลองคิดดูว่า ถ้าขนาดมันมากขึ้น ประโยชน์ที่เราจะได้ คือ อะไร ?
    • Data Types 2 ตัวเลขจำนวนเต็ม unsigned 8 ตัวเลขทศนิยม double 1 ตัวเลขจำนวนเต็ม short 4 ตัวเลขจำนวนเต็ม long 1 ตัวอักษร 1 ตัว char 4 ตัวเลขทศนิยม float 2 ตัวเลขจำนวนเต็ม int ขนาด ( ไบต์ ) คำอธิบาย ประเภทข้อมูล
    • Constants สตริง (“ ”) จำนวนเต็ม ทศนิยม ตัวอักขระ (‘ ’) มี 4 ประเภท การกำหนดค่าคงที่ ให้กับตัวแปร
    • Variables and Arrays
      • เป็นการกำหนดชื่อตัวแปรในการอ้างอิงถึงข้อมูลต่างๆ ที่เก็บอยู่ตามประเภทข้อมูลที่กำหนดให้
    • Declarations
      • เป็นการประกาศตัวแปรต่างๆ ที่ใช้งานในโปรแกรมโดยมีรูปแบบการกำหนด คือ
        • ประเภทข้อมูล ชื่อตัวแปร , ชื่อตัวแปร , …;
        • ประเภทข้อมูล ชื่อตัวแปรอะเรย์ [ ขนาด ], ชื่อตัวแปรอะเรย์ [ ขนาด ], …;
      • ตัวอย่าง
        • int math, eng;
        • char name[10];
        • int total=0;
        • float average = 0.0 ;
        • char subject[10]=”computer”;
    • Expressions a + b x = y c = a + b x == y ++i เป็นการสร้างนิพจน์ที่แทนข้อมูล 1 ตัว อาจเป็นตัวเลข ตัวอักษร โดยนิพจน์อาจเประกอบด้วย ตัวแปร ค่าคงที่ อะเรย์ หรือการเรียกใช้ฟังก์ชัน เป็นต้น หรือมีตัวดำเนินการร่วมอยู่ก็ได้
    • Statements 3 แบบ คำสั่งเชิงซ้อน (compound statement) คำสั่งนิพจน์ (expression statement) คำสั่งควบคุม (control statement) เป็นคำสั่งที่ใช้สั่งคอมพิวเตอร์ให้ทำงาน
    • Symbolic Constants #define X 153 #define text “Turbo C” เป็นการกำหนดค่าคงที่สัญลักษณ์ คือ ชื่อที่ใช้แทนกลุ่มของตัวอักขระ ซึ่งอาจเป็นค่าคงที่ตัวเลข ค่าคงที่ตัวอักษร หรือค่าคงที่สตริงก็ได้ แล้วสามารถใช้ชื่อที่กำหนดนี้ในโปรแกรมได้ มีรูปแบบดังนี้ มาถึงจุดนี้ นักศึกษาลองคิดดูครับว่า ตัวแปร (Variable) กับ ค่าคงที่ (Constant) แตกต่างกันอย่างไร ?, ในโปรแกรมน่าจะใช้อะไรมากกว่ากัน ?, และ Constant มีประโยชน์อย่างไร ?
    • การทดลอง /* This first example program for C */ #include <stdio.h> main() { printf(&quot;Hello, Welcome to C Language&quot;); } 1
    • การทดลอง /* Example for C */ #include <stdio.h> main() { int i , area = 0; float sum; char c; c = ‘B’; i = 5; printf(&quot; &quot;) ; printf(&quot;Value i = %d and area = %d &quot;, i, area); printf(&quot;Value sum = %f and c = %c&quot;, sum, c) ; } 2
    • การทดลอง #include <stdio.h> #define fifty 50 #define Text ‘C’ main() { int a , b ; float total; char c , name[10]=”Turbo C”; c = 65; a = 44; b = 56; total = 1500; printf(&quot; c = %d and c = %c&quot;, c, c) ; printf(&quot; a + b = %d and b - a = %d&quot;, a+b, b-a); printf(&quot; total / 50 = %f&quot;, total/fifty) ; printf(&quot; %s %c&quot;, name , Text) ; } 3
    • การทดลอง /* program to calculate area of a circle */ #include <stdio.h> #define PI 3.14159 main() { float radius, area ; printf(&quot;Radius = ?&quot;) ; scanf(&quot;%f&quot;, &radius) ; area = PI * radius * radius; printf(&quot;Area = %f &quot;, area) ; } 4
    • การทดลอง #include <stdio.h> main() { char f_name[20], l_name[30]; printf(&quot;Enter your first name : &quot;) ; scanf(&quot;%s&quot;, f_name) ; printf(&quot;Enter your last name : &quot;) ; scanf(&quot;%s&quot;, l_name) ; printf(&quot;Your name : %s %s&quot;,f_name,l_name) ; } 5
    • Click to edit company slogan . Q & A (Question & Answer)