Lecture no. 3: Review and Exercises

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างของภาษา C ในโปรแกรมที่พัฒนาด้วยภาษา C ทุกโปรแกรมจะมีโครงสร้างการพัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 6 ส่วนหลัก ๆ โดยที่แต่ละส่วนจะมีหน้าที่แตกต่างกัน.
Advertisements

บทที่ 2 รหัสควบคุมและการคำนวณ
Introduction to C Introduction to C.
รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
โครงสร้างโปรแกรมภาษา C
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
Introduction to C Programming
ครั้งที่ 8 Function.
แนะนำการเขียนโปรแกรมภาษา C Introduction to C Programming Language
Department of Computer Business
การรับค่าและแสดงผล.
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
Lecture No. 3 ทบทวนทฤษฎีและแบบฝึกหัด
องค์ประกอบของโปรแกรม
Week 6 ประกาศค่าตัวแปร.
การแสดงผล และการรับข้อมูล
รับและแสดงผลข้อมูล.
รูปแบบโครงสร้างภาษาซี
โครงสร้างภาษาซี.
โดย อาจารย์ณัฐพงศ์ พยัฆคิน
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
ฟังก์ชั่น function.
Lecture no. 2: Overview of C Programming
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
Surachai Wachirahatthapong
C Programming Lecture no. 6: Function.
SCC : Suthida Chaichomchuen
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
บทที่ 11 การเขียนโปรแกรมภาษาซี
แนะนำการเขียนโปรแกรมภาษา C Introduction to C Programming Language
หน่วยที่ นิพจน์ในภาษา C
หน่วยที่ 1 พื้นฐานภาษา C
อาร์เรย์และข้อความสตริง
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
Introduction to C Language
ตัวแปรกับชนิดของข้อมูล
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การรับและพิมพ์ข้อมูลเบื้องต้น
ประวัติความเป็นมาภาษาซี
ประวัติและขั้นตอนการพัฒนาโปรแกรมภาษาซี
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
Week 12 Engineering Problem 2
Computer Programming for Engineers
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
ค21201 คณิตศาสตร์เพิ่มเติม 1
Overview of C Programming
กองซ้อน ยอดกองซ้อน (stack).
โครงสร้างภาษาซี #include <stdio.h> void main() {
คำสั่งเกี่ยวกับการรับ และแสดงผล
Output of C.
หลักการเขียนโปรแกรม ( )
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้าง ภาษาซี.
บทที่ 7 เงื่อนไขในภาษาซี
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
แนะนำการเขียนโปรแกรมภาษา C Introduction to C Programming Language
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

Lecture no. 3: Review and Exercises C Programming Lecture no. 3: Review and Exercises

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

การพัฒนาโปรแกรมภาษา 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 310322 C Programming

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตัวอย่างโปรแกรม # 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 310322 C Programming

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

แบบฝึกหัด 3.1 (2) #include <stdio.h> int main(void) {printf Department of Computer Science 310322 C Programming

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

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

แบบฝึกหัด 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 310322 C Programming

แบบฝึกหัด 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 310322 C Programming

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

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

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

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

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

END