ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Lecture no. 3: Review and Exercises
C Programming Lecture no. 3: Review and Exercises
2
การพัฒนาโปรแกรมภาษา C
แฟ้มส่วนหัว แฟ้ม.h Object Code โมดูลอื่นที่แปลแล้ว (.obj) Source Code คอมไพเลอร์ โปรแกรม Editor ตัวเชื่อม (Linker) โปรแกรมที่ประมวลผลได้ (execute file) คลังโปรแกรม Library Functions Department of Computer Science C Programming
3
การพัฒนาโปรแกรมภาษา C
1. สร้างแฟ้มซอร์สโค้ดด้วยตัวอิดิเตอร์ เช่น vi เพื่อ บรรจุคำสั่งต่าง ๆ ที่เราเขียน 2. สั่งให้คอมไพเลอร์แปลงแฟ้มซอร์สโค้ดเป็นแฟ้ม รหัสจุดหมาย (.obj) 3. นำไปเชื่อมส่วนต่าง ๆ (link) ด้วย Linker แฟ้มคลังโปรแกรมมาตรฐาน แฟ้มรหัสจุดหมายอื่น 4. ได้โปรแกรมที่ประมวลผลได้เป็นแฟ้ม (Execute File) เช่น โปรแกรม a.out ที่เกิดขึ้นหลังจากการ Compile ด้วย gcc แล้ว หมายเหตุ: ในการเรียนการสอนในวิชานี้เราจะแปลงซอร์สโค้ดเป็น executable file คือ a.out โดยข้ามขั้นตอน 3 และ 4 Department of Computer Science C Programming
4
ขั้นตอนของการประมวลผลโปรแกรม
1. ระบบปฏิบัติการ (OS) จะทำหน้าที่ไปอ่านแฟ้มโปรแกรมจากสื่อบันทึก เช่น Hard-disk เรียกว่าการโหลดโปรแกรม 2. ระบบปฏิบัติการจะทำหน้าที่อ่านโปรแกรมทีละคำสั่ง จากหน่วยความจำส่งเข้าไปยังหน่วยประมวลผล กลาง เรียกว่า การไปนำมา (fetching) 3. หน่วยควบคุมในซีพียูจะตีความ เรียกว่า การตีความ (Decoding) เพื่อตรวจสอบว่าเป็นภาษาที่เครื่องรู้จัก หรือไม่ Department of Computer Science C Programming
5
มาตรฐานภาษา C เพื่อให้มีมาตรฐานในการเขียนภาษา C เป็น
แบบเดียวกันทั่วโลก ช่วยให้ภาษา C มีคุณสมบัติปรับเปลี่ยนไป ประมวลผลบนสภาพแวดล้อมต่าง ๆ ได้ง่ายขึ้น ในการเขียนโปรแกรมภาษา C นี้จะอ้างอิงตาม มาตรฐาน ANSI C Department of Computer Science C Programming
6
ภาษาซี (C Language) คุณสมบัติ เป็นภาษาระดับสูง
ไม่ขึ้นกับระบบปฏิบัติการ (OS) ไม่ขึ้นกับชนิดของเครื่องคอมพิวเตอร์ เป็นภาษาโครงสร้าง (Structure Language) กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science C Programming
7
โครงสร้างของโปรแกรมภาษาซี
ส่วนประมวลผลก่อน ส่วนประกาศส่วนกลาง ส่วนของฟังก์ชัน ส่วนต้นแบบฟังก์ชัน โครงสร้างประกอบด้วย ส่วนประมวลผลก่อน Preprocessor ส่วนประกาศส่วนกลาง Declaration ส่วนต้นแบบฟังก์ชั่น Function Prototype ส่วนของฟังก์ชั่น Function Body กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science C Programming
8
การประกาศตัวแปรในภาษาซี
การประกาศชื่อตัวแปรในภาษาซีสามารถทำได้ดังนี้ <ชนิดข้อมูล> <ชื่อตัวแปร>; ตัวอย่างเช่น char ch; double height; int num; unsigned int a; float width; long int b; Department of Computer Science C Programming
9
การเขียนประโยคคำสั่ง
การเขียนประโยคคำสั่งในภาษาซี แต่ละคำสั่งจะ ประกอบด้วย ตัวระบุ (Identifier) คำสงวน ตัวแปร ชื่อฟังก์ชั่น และตัวดำเนินการ (operator) ต่าง ๆ แต่ละคำสั่งจบลงด้วยเครื่องหมายอัฒภาค (;) เช่น printf ( “Hello” ); printf ( “ C \n” ); อาจเขียนในบรรทัดเดียวกันก็ได้ เช่น printf ( “Hello” );printf ( “ C \n” ); ทั้งสองแบบให้ผลลัพธ์เหมือนกัน Department of Computer Science C Programming
10
การแสดงผลลัพธ์ในภาษาซี
การแสดงผลลัพธ์ในภาษาซีจะใช้ฟังก์ชั่น printf โดยที่ฟังก์ชั่น printf มีรูปแบบดังนี้ ส่วนควบคุมการพิมพ์ จะเป็นข้อความและรูปแบบ ของการพิมพ์โดยอยู่ในเครื่องหมาย “ ” อาร์กิวเมนต์ เป็นส่วนที่จะนำข้อมูลมาพิมพ์ ตามรูปแบบที่กำหนดมาในส่วนควบคุมการพิมพ์ printf( ส่วนควบคุมการพิมพ์, อาร์กิวเมนต์, …) Department of Computer Science C Programming
11
รูปแบบที่ใช้กำหนดการพิมพ์ใน printf
รูปแบบการพิมพ์สำหรับตัวเลขมีดังนี้ %d พิมพ์ข้อมูลจำนวนเต็มด้วยเลขฐานสิบ %o พิมพ์ข้อมูลด้วยเลขฐานแปด %x พิมพ์ข้อมูลด้วยเลขฐานสิบหก %u พิมพ์ข้อมูลด้วยเลขฐานสิบแบบไม่คิด เครื่องหมาย %e พิมพ์ข้อมูลด้วยตัวเลขแบบวิทยาศาสตร์ เช่น 2.13e45 %f พิมพ์ข้อมูลด้วยตัวเลขมีจุดทศนิยม %g พิมพ์ข้อมูลด้วยรูปแบบ %e หรือ %f โดยเลือกแบบที่สั้นที่สุด Department of Computer Science C Programming
12
รูปแบบที่ใช้กำหนดการพิมพ์ใน printf
รูปแบบการพิมพ์สำหรับสตริงมีดังนี้ %c พิมพ์ด้วยตัวอักษรตัวเดียว %s พิมพ์ด้วยข้อความ ตัวอย่างการคำสั่ง printf เช่น printf ( “%d %f %s“ , 20 , 25.5 , “Hello” ); คู่ที่ 1 คู่ที่ 2 คู่ที่ 3 Department of Computer Science C Programming
13
เครื่องหมายปรับเปลี่ยนรูปแบบข้อมูล
เครื่องหมายสำหรับปรับเปลี่ยนรูปแบบของข้อมูล ในการแสดงผล เครื่องหมายลบ ให้พิมพ์ข้อมูลชิดขอบซ้าย (ปกติข้อมูลทั้งหมดจะพิมพ์ชิดขวา) สตริงตัวเลข ระบุความกว้างของฟิลด์ จุดทศนิยม เป็นการกำหนดความกว้างของ จุดทศนิยม ตัวอย่างการใช้เครื่องหมายปรับเปลี่ยนรูปแบบของ การแสดงผล printf ( “%3d %-6.0f “ , 20 , 25.5 ); Department of Computer Science C Programming
14
การรับข้อมูลเข้าในภาษาซี
การรับข้อมูลเข้ามาใช้งานในภาษาซีจะใช้ฟังก์ชั่น scanf รูปแบบของ scanf ( ) ส่วนควบคุมข้อมูล เป็นการกำหนดรูปแบบ ข้อมูลซึ่งจะอยู่ในเครื่องหมาย “ ” อาร์กิวเมนต์ เป็นส่วนที่จะนำข้อมูลมาเก็บ (ในตัวแปร) ซึ่งชนิดของข้อมูลต้องตรงตาม รูปแบบที่กำหนดในส่วนควบคุมข้อมูล scanf( ส่วนควบคุมข้อมูล, อาร์กิวเมนต์,...) Department of Computer Science C Programming
15
การรับข้อมูลเข้าในภาษาซี
การกำหนดลักษณะอาร์กิวเมนต์มีได้ 2 แบบดังนี้ ถ้าข้อมูลนั้นอาจจะนำไปใช้ในการคำนวณ จะใส่เครื่องหมาย & หน้าตัวแปร ถ้าข้อมูลนั้นเป็นข้อความที่จะนำไปเก็บไว้ในตัว แปรเลยไม่จำเป็นต้องใส่เครื่องหมาย & หน้า ตัวแปร ตัวอย่างการใช้ฟังก์ชั่น scanf scanf ( “%d “,&num); scanf ( “%s “,str); Department of Computer Science C Programming
16
เครื่องหมายที่ใช้คำนวณในภาษาซี
เครื่องหมายที่ใช้คำนวณในภาษาซีเรียกว่า ตัวดำเนินการ (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
17
ตัวอย่างโปรแกรม # include <stdio.h> int main ( void ) {
printf(“Hello, Good morning. \n”); return ( 0 ); } เป็นโปรแกรมสั่งพิมพ์ข้อความ Hello, Good morning. Department of Computer Science C Programming
18
ตัวอย่างโปรแกรม # include <stdio.h> 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 Department of Computer Science C Programming
19
แบบฝึกหัด 3.1 ให้เขียนโปรแกรมภาษา C เพื่อดำเนินการดังต่อไปนี้
สร้างแฟ้มชื่อ customer.c ภายใต้ไดเร็กทรอรี public_html/310222 แสดงผล ต่อไปนี้ | ชื่อลูกค้า | รายการที่สั่งซื้อ | จำนวนหน่วย | ราคาต่อหน่วย | ยอดเงินรวม | บูรพา คอมพิวเตอร์ตั้งโต๊ะ , ,000.00 ทักษิณ โน๊ตบุ๊ค , ,000.00 ให้เขียนโปรแกรมที่มีการแสดงผลตามตัวอย่าง Department of Computer Science C Programming
20
แบบฝึกหัด 3.1 (2) #include <stdio.h> int main(void) {printf
Department of Computer Science C Programming
21
แบบฝึกหัด 3.1 (3) return (0); }
printf (“ บูรพา คอมพิวเตอร์ตั้งโต๊ะ , ,000.00”); (“ ทักษิณ โน๊ตบุ๊ค , ,000.00”); return (0); } จากผลข้างต้นให้พิจารณาปัญหาของการเขียนโปรแกรมในลักษณะนี้ แล้วให้พิจารณาว่าจะสามารถดัดแปลงการเขียนโปรแกรมโดยการใช้ การจัดรูปแบบการแสดงผลลัพธ์มาช่วยได้อย่างไรและต้องทำการแก้ไข โปรแกรมในจุดใดบ้างเพื่อการดำเนินการดังกล่าวให้ได้ Department of Computer Science C Programming
22
แบบฝึกหัด 3.2 ให้เขียนโปรแกรมภาษา C เพื่อให้ทำงานดังต่อไปนี้ โดย
สร้างแฟ้มชื่อ myMarks.c ต้องการโปรแกรมดำเนินการในการรับคะแนนจากการบันทึกผ่านคีย์บอร์ด 3 ค่า คือ คะแนนกลางภาค (midterm) คะแนนปฏิบัติการ (lab) คะแนนปลายภาค (final) เพื่อคำนวณคะแนนรวม (total) โดยอัตโนมัติ สำหรับการหาคะแนนรวมของนิสิตแต่ละคนเอง | midterm | lab | final | total | ? Department of Computer Science C Programming
23
แบบฝึกหัด 3.2 (2) #include <stdio.h> int main(void) {
float mid, lab, final, total ; printf("\n\nใส่คะแนน ตามลำดับดังนี้ : คะแนนกลางภาค คะแนนปฏิบัติการ และ คะแนนปลายภาค\n\n"); scanf("%f%f%f", &mid, &lab, &final); total = mid + lab + final; Department of Computer Science C Programming
24
แบบฝึกหัด 3.2 (3) printf ("\n\n \n"); ("| midterm | lab | final | total |\n"); (" \n"); ("\n%9.2f%10.2f%10.2f%10.2f\n\n", mid, lab, final,total); return (0); } Department of Computer Science C Programming
25
การเขียนอัลกอริทึม อัลกอริทึมเป็นขั้นตอนการแก้ปัญหา
การเขียนอัลกอริทึมถือว่าเป็นเรื่องที่สำคัญ ในการเขียนโปรแกรม อัลกอริทึมที่ดีต้องประกอบด้วย แต่ละขั้นในอัลกอริทึมต้องชัดเจนและถูกต้อง ลำดับการเขียนคำสั่งต้องเป็นไปตามลำดับที่ถูกต้องชัดเจน เพื่อนำไปสู่คำตอบที่ถูกต้อง อัลกอริทึมต้องมีจุดสิ้นสุดเสมอ ใช้เวลาในการประมวลผลน้อย แก้ไขดัดแปลงได้ง่าย Department of Computer Science C Programming
26
การทำงานพื้นฐานของคอมพิวเตอร์
Storage Input Processing Output Department of Computer Science C Programming
27
การวิเคราะห์งาน สิ่งที่ต้องการจากซอฟต์แวร์หรือระบบ
output สิ่งที่ซอฟต์แวร์หรือระบบต้องดำเนินการ processing สิ่งที่ซอฟต์แวร์หรือระบบต้องนำเข้าเพื่อดำเนินการให้ได้สิ่งที่ต้องการ input Department of Computer Science C Programming
28
สัญลักษณ์ที่ใช้ในการประมวลผล
ความหมาย + บวก - ลบ * คูณ / หาร ^ ยกกำลัง สัญลักษณ์ ความหมาย > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ <> ไม่เท่ากับ Department of Computer Science C Programming
29
แบบฝึกหัด 3.3 จงเขียนโปรแกรมเพื่อหาพื้นที่ของรูปสี่เหลี่ยมคางหมู ซึ่งมีความสูงเป็น 3.0 หน่วย และความยาวด้านคู่ขนานเป็น 5.0 และ 5.5 ตามลำดับ ตั้งชื่อแฟ้มเป็น area1.c จากโปรแกรมที่ได้ข้างต้น ให้ดัดแปลงเป็นโปรแกรมที่มีการรับค่าความสูงและความยาวของด้านคู่ขนานแต่ละด้านที่เปลี่ยนแปลงไปได้ตามความต้องการ area2.c Department of Computer Science C Programming
30
END
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.