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

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

310322 C Programming Department of Computer Science C Programming Lecture no. 2: Overview of C Programming.

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


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

1 C Programming Department of Computer Science C Programming Lecture no. 2: Overview of C Programming

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17 17/34  สตริงหมายถึงการนำตัวอักขระหลายตัวมาประกอบ กันเป็นข้อความ  จะเรียกว่า array หรือแถวลำดับของตัวอักขระ นั่นเอง  ในการใช้งานชนิดข้อมูลแบบสตริงนั้นอักขระตัว สุดท้ายจะเก็บรหัส null คือ \0 หมายถึงจุดจบของ ข้อความ เช่น C Programming Department of Computer Science ชนิดข้อมูลแบบสตริง Hello\

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

34 END C Programming Department of Computer Science


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

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


Ads by Google