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

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

C Programming Lecture no. 3: Review and Exercises.

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


งานนำเสนอเรื่อง: "C Programming Lecture no. 3: Review and Exercises."— ใบสำเนางานนำเสนอ:

1 C Programming Lecture no. 3: Review and Exercises

2 Department of Computer Science C Programming 2/30 การพัฒนาโปรแกรมภาษา C แฟ้มส่วนหัว แฟ้ม.h Object Code โมดูลอื่นที่แปลแล้ว (.obj) Source Code คอมไพเลอร์ โปรแกรม Editor ตัวเชื่อม (Linker) โปรแกรมที่ประมวลผลได้ (execute file) คลังโปรแกรม Library Functions

3 Department of Computer Science C Programming 3/30 การพัฒนาโปรแกรมภาษา C 1. สร้างแฟ้มซอร์สโค้ดด้วยตัวอิดิเตอร์ เช่น vi เพื่อ บรรจุคำสั่งต่าง ๆ ที่เราเขียน 2. สั่งให้คอมไพเลอร์แปลงแฟ้มซอร์สโค้ดเป็นแฟ้ม รหัสจุดหมาย (.obj) 3. นำไปเชื่อมส่วนต่าง ๆ (link) ด้วย Linker แฟ้มคลังโปรแกรมมาตรฐาน แฟ้มรหัสจุดหมายอื่น 4. ได้โปรแกรมที่ประมวลผลได้เป็นแฟ้ม (Execute File) เช่น โปรแกรม a.out ที่เกิดขึ้น หลังจากการ Compile ด้วย gcc แล้ว หมายเหตุ: ในการเรียนการสอนในวิชานี้เราจะแปลงซอร์สโค้ดเป็น executable file คือ a.out โดยข้ามขั้นตอน 3 และ 4

4 Department of Computer Science C Programming 4/30 ขั้นตอนของการประมวลผลโปรแกรม 1. ระบบปฏิบัติการ (OS) จะทำหน้าที่ไปอ่านแฟ้ม โปรแกรมจากสื่อบันทึก เช่น Hard-disk เรียกว่า การโหลดโปรแกรม 2. ระบบปฏิบัติการจะทำหน้าที่อ่านโปรแกรมทีละคำสั่ง จากหน่วยความจำส่งเข้าไปยังหน่วยประมวลผล กลาง เรียกว่า การไปนำมา (fetching) 3. หน่วยควบคุมในซีพียูจะตีความ เรียกว่า การตีความ (Decoding) เพื่อตรวจสอบว่าเป็นภาษาที่เครื่องรู้จัก หรือไม่

5 Department of Computer Science C Programming 5/30 มาตรฐานภาษา C เพื่อให้มีมาตรฐานในการเขียนภาษา C เป็น แบบเดียวกันทั่วโลก ช่วยให้ภาษา C มีคุณสมบัติปรับเปลี่ยนไป ประมวลผลบนสภาพแวดล้อมต่าง ๆ ได้ง่ายขึ้น ในการเขียนโปรแกรมภาษา C นี้จะอ้างอิงตาม มาตรฐาน ANSI C

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

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

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

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

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

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

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

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

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

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

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

17 Department of Computer Science C Programming 17/30 # include int main ( void ) { printf(“Hello, Good morning. \n”); return ( 0 ); } ตัวอย่างโปรแกรม เป็นโปรแกรมสั่งพิมพ์ข้อความ Hello, Good morning.

18 Department of Computer Science C Programming 18/30 # include int idno; int main ( void ) { printf(“Please enter your id. \n”); scanf(“%d”, &idno); printf(“Your id number is %d \n”,idno); return ( 0 ); } ตัวอย่างโปรแกรม เป็นโปรแกรมสั่งพิมพ์ข้อความ Please enterr you id. แล้วจะรอรับข้อมูลเข้าคือ หมายเลข id ในขั้นตอนสุดท้ายจะแสดงผล Your id number is......

19 Department of Computer Science C Programming 19/30 แบบฝึกหัด 3.1 ให้เขียนโปรแกรมภาษา C เพื่อดำเนินการดังต่อไปนี้ – สร้างแฟ้มชื่อ customer.c ภายใต้ไดเร็กทรอรี public_html/ – แสดงผล ต่อไปนี้ | ชื่อลูกค้า | รายการที่สั่งซื้อ | จำนวนหน่วย | ราคาต่อหน่วย | ยอดเงินรวม | บูรพา คอมพิวเตอร์ตั้งโต๊ะ 5 25, , ทักษิณ โน๊ตบุ๊ค 3 45, , ให้เขียนโปรแกรมที่มีการแสดงผลตามตัวอย่าง

20 Department of Computer Science C Programming 20/30 แบบฝึกหัด 3.1 (2) #include int main(void) {printf (“ ข \n”); printf (“| รายชื่อลูกค้า | รายการสั่งซื้อ | จำนวนหน่วย | ราคาต่อหน่วย | ยอดเงินรวม|\n”); printf (“ขขขขขข \n”);

21 Department of Computer Science C Programming 21/30 แบบฝึกหัด 3.1 (3) printf (“ บูรพา คอมพิวเตอร์ตั้งโต๊ะ 5 25, ,000.00”); printf (“ ทักษิณ โน๊ตบุ๊ค 3 45, ,000.00”); return (0); } จากผลข้างต้นให้พิจารณาปัญหาของการเขียนโปรแกรมในลักษณะนี้ แล้วให้พิจารณาว่าจะสามารถดัดแปลงการเขียนโปรแกรมโดยการใช้ การจัดรูปแบบการแสดงผลลัพธ์มาช่วยได้อย่างไรและต้องทำการแก้ไข โปรแกรมในจุดใดบ้างเพื่อการดำเนินการดังกล่าวให้ได้

22 Department of Computer Science C Programming 22/30 แบบฝึกหัด 3.2 ให้เขียนโปรแกรมภาษา C เพื่อให้ทำงานดังต่อไปนี้ โดย –สร้างแฟ้มชื่อ myMarks.c –ต้องการโปรแกรมดำเนินการในการรับคะแนนจาก การบันทึกผ่านคีย์บอร์ด 3 ค่า คือ คะแนนกลางภาค (midterm) คะแนนปฏิบัติการ (lab) คะแนนปลาย ภาค (final) –เพื่อคำนวณคะแนนรวม (total) โดยอัตโนมัติ สำหรับ การหาคะแนนรวมของนิสิตแต่ละคนเอง | midterm | lab | final | total | ?

23 Department of Computer Science C Programming 23/30 แบบฝึกหัด 3.2 (2) #include int main(void) { float mid, lab, final, total ; printf("\n\nใส่คะแนน ตามลำดับดังนี้ : คะแนน กลางภาค คะแนนปฏิบัติการ และ คะแนนปลาย ภาค\n\n"); scanf("%f%f%f", &mid, &lab, &final); total = mid + lab + final;

24 Department of Computer Science C Programming 24/30 แบบฝึกหัด 3.2 (3) printf ("\n\n \n"); printf ("| midterm | lab | final | total |\n"); printf (" \n"); printf ("\n%9.2f%10.2f%10.2f%10.2f\n\n", mid, lab, final,total); return (0); }

25 Department of Computer Science C Programming 25/30 การเขียนอัลกอริทึม อัลกอริทึมเป็นขั้นตอนการแก้ปัญหา การเขียนอัลกอริทึมถือว่าเป็นเรื่องที่สำคัญ ในการ เขียนโปรแกรม อัลกอริทึมที่ดีต้องประกอบด้วย – แต่ละขั้นในอัลกอริทึมต้องชัดเจนและถูกต้อง – ลำดับการเขียนคำสั่งต้องเป็นไปตามลำดับที่ ถูกต้องชัดเจน เพื่อนำไปสู่คำตอบที่ถูกต้อง – อัลกอริทึมต้องมีจุดสิ้นสุดเสมอ – ใช้เวลาในการประมวลผลน้อย – แก้ไขดัดแปลงได้ง่าย

26 Department of Computer Science C Programming 26/30 การทำงานพื้นฐานของคอมพิวเตอร์ InputOutput Storage Processing

27 Department of Computer Science C Programming 27/30 การวิเคราะห์งาน สิ่งที่ต้องการจากซอฟต์แวร์หรือระบบ  output สิ่งที่ซอฟต์แวร์หรือระบบต้องดำเนินการ  processing สิ่งที่ซอฟต์แวร์หรือระบบต้องนำเข้าเพื่อ ดำเนินการให้ได้สิ่งที่ต้องการ  input

28 Department of Computer Science C Programming 28/30 สัญลักษณ์ที่ใช้ในการประมวลผล สัญลักษณ์ความหมาย + บวก - ลบ * คูณ / หาร ^ ยกกำลัง สัญลักษณ์ความหมาย > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ <> ไม่เท่ากับ

29 Department of Computer Science C Programming 29/30 แบบฝึกหัด 3.3 จงเขียนโปรแกรมเพื่อหาพื้นที่ของรูป สี่เหลี่ยมคางหมู ซึ่งมีความสูงเป็น 3.0 หน่วย และความยาวด้านคู่ขนานเป็น 5.0 และ 5.5 ตามลำดับ ตั้งชื่อแฟ้มเป็น area1.c จากโปรแกรมที่ได้ข้างต้น ให้ดัดแปลงเป็น โปรแกรมที่มีการรับค่าความสูงและความยาว ของด้านคู่ขนานแต่ละด้านที่เปลี่ยนแปลงไป ได้ตามความต้องการ area2.c

30 END


ดาวน์โหลด ppt C Programming Lecture no. 3: Review and Exercises.

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


Ads by Google