งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Lecture no. 2: Overview of C Programming

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Lecture no. 2: Overview of C Programming"— ใบสำเนางานนำเสนอ:

1 Lecture no. 2: Overview of C Programming
กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science C Programming

2 ประวัติความเป็นมา ภาษา BCPL
Basic Combined Programming Language บนเครื่อง PDP-7 (UNIX) พ.ศ. 2513 พ.ศ. 2515 โดย เดนนิช ริทชี่ Department of Computer Science C Programming

3 ภาษาซี (C Language) คุณสมบัติ เป็นภาษาระดับสูง (High Level Language)
ไม่ขึ้นกับระบบปฏิบัติการ (OS Independent) ไม่ขึ้นกับชนิดของเครื่องคอมพิวเตอร์ (Hardware Independent) เป็นภาษาโครงสร้าง (Structural Language) กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science C Programming

4 โครงสร้างของโปรแกรมภาษาซี
โครงสร้างประกอบด้วย ส่วนประมวลผลก่อน ส่วนประกาศส่วนกลาง ส่วนของฟังก์ชัน ส่วนต้นแบบฟังก์ชัน 1. ส่วนประมวลผลก่อน 2. ส่วนประกาศส่วนกลาง 3. ส่วนต้นแบบฟังก์ชั่น 4. ส่วนของฟังก์ชั่น กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science C Programming

5 ส่วนประมวลผลก่อน (Pre-processor) # include <stdio.h>
ส่วนที่ 1 เป็นส่วนที่ระบุให้ซีคอมไพเลอร์เตรียมการทำงานที่ กำหนดในส่วนนี้ไว้ โดยหน้าคำสั่งจะมีเครื่องหมาย # เช่น เป็นการระบุให้นำไฟล์ stdio.h มารวมกับไฟล์นี้ เพื่อที่จะสามารถใช้คำสั่งที่อยู่ในไฟล์นี้มาใช้งานได้ หรือ เป็นการกำหนดค่าคงที่ให้กับตัวแปร START โดยให้มีค่าเป็น 0 เป็นการกำหนดให้ตัวแปร temp มีค่าเท่ากับ 37 # include <stdio.h> # define START 0 # define temp 37 Department of Computer Science C Programming

6 ส่วนประกาศส่วนกลาง (Variable Declaration)
เป็นการกำหนดว่าตัวแปร stdno เป็นข้อมูลชนิดจำนวนเต็ม หรือ interger ซึ่งอาจได้แก่ค่า 0,4,-1,-3,… เป็นต้น เป็นการกำหนดว่าตัวแปร score เป็นข้อมูลชนิดเลขมีจุด ทศนิยม (floating point) ซึ่งอาจมีค่า 0.23, 1.34 เป็นต้น int stdno; float score; Department of Computer Science C Programming

7 ส่วนประกาศต้นแบบฟังก์ชั่น (Function Prototype)
ส่วนที่ 3 เป็นส่วนที่ใช้กำหนดว่ามีฟังก์ชั่นอะไรบ้าง และมีการประกาศพารามิเตอร์อย่างไร เช่น เป็นการประกาศฟังก์ชั่นต้นแบบสำหรับพังก์ชั่นชื่อ main โดยมีค่าที่ส่งกลับเป็นชนิด integer และไม่มีการส่งค่าพารามิเตอร์เข้าไปในฟังก์ชั่นนี้ int main ( void ); Department of Computer Science C Programming

8 ส่วนประกาศฟังก์ชั่น (Functions)
ส่วนที่ 4 เป็นส่วนที่ใช้กำหนดรายละเอียดของแต่ละฟังก์ชั่น ว่ามีลักษณะการทำงานเป็นอย่างไรบ้าง รับค่าใดเข้าไปในฟังก์ชั่นบ้าง และส่งค่ากลับเป็นอะไร เช่น เป็นการประกาศฟังก์ชั่นชื่อ main ตามฟังก์ชั่นต้นแบบ สำหรับพังก์ชั่น main นี้ไม่มีการรับค่าเข้าในฟังก์ชั่น แต่เมื่อทำงานเสร็จแล้วจะส่งค่ากลับมาเป็น 0 int main ( void ) { printf ( “Hello World \n” ); return (0); } Department of Computer Science C Programming

9 กฎเกณฑ์ของโปรแกรมภาษาซี
กฎเกณฑ์ (Rules) ประกอบด้วยส่วนย่อย ๆ โดยใช้ปีกกา “{ }” เป็นตัวกำหนดขอบเขต ฟังก์ชั่นแรกต้องเป็น main() เสมอ ใช้เครื่องหมาย ; (semi colon) เป็นตัวกำหนดการ สิ้นสุดของคำสั่ง ใช้อักษรตัวเล็กในการเขียนโปรแกรม ใช้เครื่องหมาย , (comma) เป็นตัวคั่นตัวแปรและ พารามิเตอร์ต่างๆ ใช้เครื่องหมาย /* */ เป็นการกำหนดข้อความ ที่ไม่ ต้องการให้คอมไพเลอร์ปฏิบัติงาน กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science C Programming

10 ตัวอย่างโปรแกรม # include <stdio.h> int main ( void ) {
printf(“This is my first C Program.\n”); return ( 0 ); } เป็นโปรแกรมสั่งพิมพ์ข้อความ This is my first C Program. Department of Computer Science C Programming

11 ชนิดและแบบของข้อมูลในภาษาซี
แบบข้อมูลหรือชนิดของตัวแปรต่าง ๆ ที่กำหนดไว้ในภาษาซีประกอบด้วย char ชนิดของตัวอักษรหรืออักขระ int ชนิดจำนวนเต็มปกติ short ชนิดจำนวนเต็มปกติ long ชนิดจำนวนเต็มที่มีความยาวเป็น 2 เท่าของความยาวปกติ unsigned ชนิดของเลขที่ไม่คิดเครื่องหมาย float ชนิดเลขมีจุดทศนิยม double ชนิดเลขที่มีจุดทศนิยมความยาว เป็น 2 เท่า Department of Computer Science C Programming

12 ตารางแสดงเนื้อที่ในหน่วยความจำของชนิดข้อมูล
Department of Computer Science C Programming

13 ชนิดและแบบของข้อมูลในภาษาซี
ในการเขียนโปรแกรม แบบข้อมูลที่ใช้จะแบ่งออกเป็น 4 กลุ่มใหญ่ ๆ ดังนี้ ข้อมูลและตัวแปรชนิดอักขระ ข้อมูลและตัวแปรชนิดจำนวนเต็ม ข้อมูลและตัวแปรชนิดเลขมีจุดทศนิยม ข้อมูลและตัวแปรแบบสตริง(สายอักขระ) Department of Computer Science C Programming

14 ชนิดข้อมูลชนิดอักขระ
อักขระแทนด้วย char โดยที่จะเขียนอยู่ภายในเครื่องหมาย ‘ ’ เช่น ‘a’ , ‘A’ , ‘9’ อักขระพิเศษบางตัวไม่สามารถให้ค่าได้โดยตรง แต่ จะให้ค่าเป็นรหัส ASCII ซึ่งจะเขียนในรูปของเลข ฐานแปด เช่น รหัส BELL แทนด้วย ASCII 007 เขียนแทนด้วย BELL=‘\007’ หรือรหัสควบคุมการ ขึ้นบรรทัดใหม่ ตัวอักขระที่กำหนดให้กับรหัส คือ n สามารถกำหนดเป็น newline = ‘\n’; Department of Computer Science C Programming

15 ชนิดข้อมูลของเลขจำนวนเต็ม
จำนวนเต็มในภาษาซีสามารถใช้แทนได้ 4 รูปแบบ คือ int, short, long และ unsigned การกำหนดตัวแปรแบบ unsigned คือจำนวนเต็ม ที่ไม่คิดเครื่องหมาย ซึ่งจะต้องใช้ควบคู่กับรูปแบบ ข้อมูลจำนวนเต็มชนิดอื่น คือ int , short หรือ long เช่น unsigned int unsigned short Department of Computer Science C Programming

16 ชนิดข้อมูลของเลขมีจุดทศนิยม
การกำหนดขนิดข้อมูลเลขจุดทศนิยมสามารถ กำหนดได้ 2 แบบ คือ float , double โดย double เก็บค่าได้เป็น 2 เท่าของ float ตัวเลข แบบนี้นิยมใช้กับงานทางวิทยาศาสตร์ที่ต้องการ ความละเอียดในการเก็บค่า การเก็บข้อมูลในรูปแบบนี้ คือ เก็บแบบเอ็กโพเนนซ์ ดังตัวอย่างต่อไปนี้ ตัวเลข แสดงแบบเอ็กโพเนนซ์ แสดงแบบวิทยาศาสตร์ 9,000,000, * e9 345, * e5 * e-4 * e-6 Department of Computer Science C Programming

17 ชนิดข้อมูลแบบสตริง สตริงหมายถึงการนำตัวอักขระหลายตัวมาประกอบ
กันเป็นข้อความ จะเรียกว่า array หรือแถวลำดับของตัวอักขระ นั่นเอง ในการใช้งานชนิดข้อมูลแบบสตริงนั้นอักขระตัว สุดท้ายจะเก็บรหัส null คือ \0 หมายถึงจุดจบของ ข้อความ เช่น H e l o \0 1 2 3 4 5 6 Department of Computer Science C Programming

18 ตัวแปรในภาษาซี ตัวแปร คือ การจองเนื้อที่ในหน่วยความจำและตั้งชื่อไว้ เพื่อเรียกใช้งานในขณะปฏิบัติงาน การกำหนดชื่อตัวแปร มีหลักการดังนี้ 1. ต้องขึ้นต้นด้วยตัวอักษร 2. ห้ามใช้เครื่องหมายทางคณิตศาสตร์ในชื่อ ตัวแปร 3. สามารถใช้เครื่องหมาย underline ‘_’ ได้ 4. ห้ามใช้ reserved words เช่น int, float,etc. Department of Computer Science C Programming

19 การประกาศตัวแปรในภาษาซี
การประกาศชื่อตัวแปรในภาษาซีสามารถทำได้ดังนี้ <ชนิดข้อมูล> <ชื่อตัวแปร>; ตัวอย่างเช่น char ch; double height; int num; unsigned int a; float width; long int b; Department of Computer Science C Programming

20 การเขียนประโยคคำสั่ง
การเขียนประโยคคำสั่งในภาษาซี แต่ละคำสั่งจะ ประกอบด้วย ตัวระบุ (Identifier) คำสงวน ตัวแปร ชื่อฟังก์ชั่น และตัวดำเนินการ (operator) ต่าง ๆ แต่ละคำสั่งจบลงด้วยเครื่องหมายอัฒภาค (;) เช่น printf ( “Hello” ); printf ( “ C \n” ); อาจเขียนในบรรทัดเดียวกันก็ได้ เช่น printf ( “Hello” );printf ( “ C \n” ); ทั้งสองแบบให้ผลลัพธ์เหมือนกัน Department of Computer Science C Programming

21 การแสดงผลลัพธ์ในภาษาซี
การแสดงผลลัพธ์ในภาษาซีจะใช้ฟังก์ชั่น printf โดยที่ฟังก์ชั่น printf มีรูปแบบดังนี้ ส่วนควบคุมการพิมพ์ จะเป็นข้อความและรูปแบบ ของการพิมพ์โดยอยู่ในเครื่องหมาย “ ” อาร์กิวเมนต์ เป็นส่วนที่จะนำข้อมูลมาพิมพ์ ตามรูปแบบที่กำหนดมาในส่วนควบคุมการพิมพ์ printf( ส่วนควบคุมการพิมพ์, อาร์กิวเมนต์, …) Department of Computer Science C Programming

22 รูปแบบที่ใช้กำหนดการพิมพ์ใน printf
รูปแบบการพิมพ์สำหรับตัวเลขมีดังนี้ %d พิมพ์ข้อมูลจำนวนเต็มด้วยเลขฐานสิบ %o พิมพ์ข้อมูลด้วยเลขฐานแปด %x พิมพ์ข้อมูลด้วยเลขฐานสิบหก %u พิมพ์ข้อมูลด้วยเลขฐานสิบแบบไม่คิด เครื่องหมาย %e พิมพ์ข้อมูลด้วยตัวเลขแบบวิทยาศาสตร์ เช่น 2.13e45 %f พิมพ์ข้อมูลด้วยตัวเลขมีจุดทศนิยม %g พิมพ์ข้อมูลด้วยรูปแบบ %e หรือ %f โดยเลือกแบบที่สั้นที่สุด Department of Computer Science C Programming

23 รูปแบบที่ใช้กำหนดการพิมพ์ใน printf
รูปแบบการพิมพ์สำหรับสตริงมีดังนี้ %c พิมพ์ด้วยตัวอักษรตัวเดียว %s พิมพ์ด้วยข้อความ ตัวอย่างการคำสั่ง printf เช่น printf ( “%d %f %s“ , 20 , 25.5 , “Hello” ); คู่ที่ 1 คู่ที่ 2 คู่ที่ 3 Department of Computer Science C Programming

24 เครื่องหมายปรับเปลี่ยนรูปแบบข้อมูล
เครื่องหมายสำหรับปรับเปลี่ยนรูปแบบของข้อมูล ในการแสดงผล เครื่องหมายลบ ให้พิมพ์ข้อมูลชิดขอบซ้าย (ปกติข้อมูลทั้งหมดจะพิมพ์ชิดขวา) สตริงตัวเลข ระบุความกว้างของฟิลด์ จุดทศนิยม เป็นการกำหนดความกว้างของ จุดทศนิยม ตัวอย่างการใช้เครื่องหมายปรับเปลี่ยนรูปแบบของ การแสดงผล printf ( “%3d %-6.0f “ , 20 , 25.5 ); Department of Computer Science C Programming

25 การรับข้อมูลเข้าในภาษาซี
การรับข้อมูลเข้ามาใช้งานในภาษาซีจะใช้ฟังก์ชั่น scanf รูปแบบของ scanf ( ) ส่วนควบคุมข้อมูล เป็นการกำหนดรูปแบบ ข้อมูลซึ่งจะอยู่ในเครื่องหมาย “ ” อาร์กิวเมนต์ เป็นส่วนที่จะนำข้อมูลมาเก็บ (ในตัวแปร) ซึ่งชนิดของข้อมูลต้องตรงตาม รูปแบบที่กำหนดในส่วนควบคุมข้อมูล scanf( ส่วนควบคุมข้อมูล, อาร์กิวเมนต์,...) Department of Computer Science C Programming

26 การรับข้อมูลเข้าในภาษาซี
การกำหนดลักษณะอาร์กิวเมนต์มีได้ 2 แบบดังนี้ ถ้าข้อมูลนั้นอาจจะนำไปใช้ในการคำนวณ จะใส่เครื่องหมาย & หน้าตัวแปร ถ้าข้อมูลนั้นเป็นข้อความที่จะนำไปเก็บไว้ในตัว แปรเลยไม่จำเป็นต้องใส่เครื่องหมาย & หน้า ตัวแปร ตัวอย่างการใช้ฟังก์ชั่น scanf scanf ( “%d “,&num); scanf ( “%s “,str); Department of Computer Science C Programming

27 เครื่องหมายที่ใช้คำนวณในภาษาซี
เครื่องหมายที่ใช้คำนวณในภาษาซีเรียกว่า ตัวดำเนินการ (Operator) มีดังนี้ ตัวดำเนินการ ความหมาย ตัวอย่าง ผลลัพธ์ + การบวก 6 + 8 14 - การลบ 7 – 5 2 * การคูณ 3 * 4 12 / การหาร 8/2 4 ลบ (ยูนารีเครื่องหมายลบ) -5 % โมดูลัส (หาเศษเหลือจากการหาร) 7 % 2 1 4 % 2 Department of Computer Science C Programming

28 การเปลี่ยนชนิดของข้อมูล
ทำได้โดยระบุชนิดที่ต้องการเปลี่ยนภายใน เครื่องหมาย ( ) แล้ววางหน้าตัวแปรหรือข้อมูล ที่ต้องการเปลี่ยนแปลงชนิด ตัวอย่าง ถ้าในโปรแกรมภาษาซีมีการประกาศ ตัวแปรเป็น ต้องการเปลี่ยนตัวแปร float ไปเป็น integer ทำได้ดังนี้ float money; (int) money; Department of Computer Science C Programming

29 นิพจน์กำหนดค่า นิพจน์กำหนดค่า (Assignment expression)
เครื่องหมายที่ใช้กำหนดค่าคือ = โดยเป็นการ กำหนดค่าทางขวาของเครื่องหมาย ให้กับตัวแปร ที่อยู่ทางซ้าย เช่น j = 7+2; หรือ k = k + 4; ข้อสังเกต: สิ่งที่อยู่ทางซ้ายมือของ Assignment Statement เป็นตัวแปรได้เพียงอย่างเดียว Department of Computer Science C Programming

30 นิพจน์กำหนดค่า สัญลักษณ์ ความหมาย > มากกว่า < น้อยกว่า >=
มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ == เท่ากับ != ไม่เท่ากับ Department of Computer Science C Programming

31 นิพจน์กำหนดค่า ความแตกต่างของเครื่องหมาย = และ ==
เครื่องหมาย = เป็นตัวกำหนดค่า เครื่องหมาย == เป็นเครื่องหมายเปรียบเทียบ ตัวอย่างเช่น หมายถึง เป็นการกำหนดค่าให้กับตัวแปร point ให้มีค่าเท่ากับ 44 หมายถึง เป็นการตรวจสอบว่าค่า point มีค่าเท่ากับ 44 หรือไม่ point = 44; point == 44; Department of Computer Science C Programming

32 เครื่องหมายและนิพจน์แบบตรรกศาสตร์
เครื่องหมายและนิพจน์เปรียบเทียบแบบ ตรรกศาสตร์ && หมายถึง และ (and) | | หมายถึง หรือ (or) ! หมายถึง ไม่ (not) ตัวอย่างเช่น จะได้ค่าความจริงเป็นจริงก็ต่อเมื่อ a และ b เป็นจริงทั้งคู่ จะได้ค่าความจริงเป็นเท็จก็ต่อเมื่อ a และ b เป็นเท็จทั้งคู่ a && b a || b Department of Computer Science C Programming

33 การเพิ่มค่าและลดค่าตัวแปร
สามารถใช้เครื่องหมายต่อไปนี้แทนการเพิ่มหรือ ลดค่าของตัวแปร ++ เป็นการเพิ่มค่าให้กับตัวแปรทีละ 1 -- เป็นการลดค่าตัวแปรทีละ 1 ตัวอย่างเช่น ++n เป็นการเพิ่มค่า n อีก 1 --n เป็นการลดค่า n ลง 1 ความแตกต่างระหว่าง n++ และ ++n เช่น n = 5; x = n++; จะได้ค่า x เท่ากับ 5 แล้วค่า n เท่ากับ 6 แต่ถ้า x = ++n; จะได้ค่า x เท่ากับ 6 Department of Computer Science C Programming

34 END Department of Computer Science C Programming


ดาวน์โหลด ppt Lecture no. 2: Overview of C Programming

งานนำเสนอที่คล้ายกัน


Ads by Google