Lecture 4 องค์ประกอบภาษา C To do: Hand back assignments

Slides:



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

Computer Language.
INTRODUCTION TO C LANGUAGE
Introduction to C Introduction to C.
ENG2116 การโปรแกรมคอมพิวเตอร์ (C programming)
โครงสร้างโปรแกรมภาษา C
โครงสร้างภาษาซี เบื้องต้น
การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 2 ภาษาปาลคาลเบื้องต้น.
Computer Programming 1 LAB Test 3
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงาน.
Introduction to C Programming
ครั้งที่ 8 Function.
เริ่มต้นเขียนโปรแกรมภาษา C++
Department of Computer Business
Chapter 7 ขอบเขตของตัวแปร Variable Scope.
Lecture No. 3 ทบทวนทฤษฎีและแบบฝึกหัด
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
Structure Programming
Structure Programming
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
LAB # 4.
องค์ประกอบของโปรแกรม
Introduction to C Programming.
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
Visual Basic 6 By Samaporn Yendee VB6.
คำสั่งเพื่อการกำหนดเงื่อนไข
รูปแบบโครงสร้างภาษาซี
โครงสร้างภาษาซี.
โดย อาจารย์ณัฐพงศ์ พยัฆคิน
ฟังก์ชั่น function.
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
C Programming Lecture no. 6: Function.
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 5 การพัฒนาซอฟต์แวร์ด้วย MS Visual Basic 2010 ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
ข้อมูลพื้นฐานและตัวดำเนินการ
หน่วยที่ 8 อาร์กิวเมนต์ของ main
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงานลักษณะของฟังก์ชั่นมีความรอบรัดสั้นกว่าแบบวนลูป.
คำสั่งควบคุมการทำงาน
Lecture 7 ฟังก์ชัน To do: Hand back assignments
Lecture 9 Class (คลาส) To do: Hand back assignments
การเขียนโปรแกรมภาษาซี
Introduction to C Language
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การใช้งาน Dev C ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
C language W.lilakiatsakun.
ประวัติความเป็นมาภาษาซี
ตัวแปรกับชนิดของข้อมูล
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
Computer Programming for Engineers
โปรแกรมประยุกต์อื่นๆ
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการสร้างสรรค์ชุดคำสั่ง ๓
Java Programming Java Structure and Datatype,Variable
โครงสร้าง ภาษาซี.
1. Global variable คือ ตัวแปรที่กำหนดหรือประกาศไว้นอกฟังก์ชันใด ๆ ทุกฟังก์ชัน สามารถนำตัวแปรประเภท Global ไปใช้ได้ทุกฟังก์ชัน.
บทที่ 9 การสร้างและใช้ งานฟังก์ชั่น C Programming C-Programming.
บทที่ 2 โครงสร้างของภาษา C.
Function ธนวัฒน์ แซ่ เอียบ. What is a function ฟังก์ชันในภาษา C เป็นโปรแกรมที่ถูกออกแบบมาเพื่อ ใช้แก้ปัญหางานใดงานหนึ่งโดยเฉพาะ ฟังก์ชันจะเปลี่ยน input.
Function. วัตถุประสงค์การเรียนรู้ ให้รู้จักว่าฟังก์ชันคืออะไร ให้รู้จักว่าเราสร้างฟังก์ชันเพื่อจุดประสงค์ใด หรือ เพื่อประโยชน์ใด ให้รู้จักประเภทของฟังก์ชัน.
บทที่ 10 การจัดการไฟล์ อาจารย์ศศลักษณ์ ทองขาว สงวนลิขสิทธิ์ © 2547 มหาวิทยาลัยราช ภัฏสงขลา C Programming C-Programming.
การทำซ้ำ Pisit Nakjai.
การสร้าง function ( โปรแกรมย่อย ) function output = FunctionName (input1, input2, …) การทำงานภายในฟังก์ชัน Editor วิธีเขียน - ต้องขึ้นต้นด้วยคำว่า function.
Introduction to Flowchart
Chapter 5 Elementary C++ Programming Dept of Computer Engineering Khon Kaen University.
introduction to Computer Programming
Chapter 7 ฟังก์ชัน Function.
ใบสำเนางานนำเสนอ:

Lecture 4 องค์ประกอบภาษา C To do: Hand back assignments Give out handouts to anybody who missed them last class Quick comments on PS3 Quick comments on grades READING: S+S: Appendix C

แนะนำVisual C++ 6 Menu Bar Tool Bar Code Editor Project Workspace Output Window

Objectives Understand Rule of Command in C and C++ โครงสร้างภาษา C(Structure in C) การใส่หมายเหตุ(Comment) การอินพุตและเอาท์พุตเบื้องต้น(Basic Input,Output) ตัวปฏิบัติการ(Operation) การกำหนดตัวแปร(Variable) คำสงวน(Reserved Word) No problem…that’s just about a semester worth of material in 80 minutes.

Structure in C #include <Library> /*ส่วนประกาศ Declaration */ /*ตัวแปรค่าคงที่ข้อมูล แบบโกบอล(Global)*/ Main() /*ฟังก์ชันหลัก*/ { /*ตัวแปร/ค่าคงที่/ชนิดข้อมูล แบบโลคอล(Local)*/ } ชื่อฟังก์ชัน() /* โปรแกรมย่อย(sub program)*/

โปรแกรมแรก โปแกรมแรก #include <stdio.h> // class for stream input/output #include <conio.h> // class for stream input/output int main () // start of main function { printf(“Hello Word:“); return 0; } #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello Word:\n“; return 0; }

การใส่หมายเหตุ(Comments) รูปแบบการใช้งาน: //comment /*comment*/ Examples: // This text is treated as a comment till end of line. /* This text is treated as a comment until the following symbols are found: */

คำสั่งในการรับและแสดงผลข้อมูล เป็นคำสั่งแสดงข้อมูลออกทางจอภาพ รูปแบบการใช้งาน printf(“Control”,Argument_list) Control หมายถึง รหัสที่ใช้ควบคุมการแสดงผล ต้องอยู่ในเครื่องหมายคำพูด ” “ แบ่งออกเป็น 3 ส่วน ข้อความ(Text) ระหัสรูปแบบ(Format Code) ระหัสควบคุม(Control Code) Argument_list หมายถึงตัวแปรและค่าคงที่

ประเภทของรหัสรูปแบบ Format Code วัตถุประสงค์การใช้งาน %c การแสดงผลแบบ 1 อักขระ %s การแสดงผลแบบข้อความ %d การแสดงผลแบบเลขจำนวนเต็ม %f การแสดงผลแบบเลขจำนวนทศนิยม %e การแสดงผลแบบเลขจำนวนเต็มผลกำลัง %g %h การแสดงผลแบบShot Integer %p การแสดงค่า Address ของตัวแปร %l %x การแสดงผลแบบเลขฐาน 16 Hexadecimal

ประเภทของรหัสควบคุม Control Code วัตถุประสงค์การใช้งาน \t เลื่อนระยะทางแนวนอน \n ขึ้นบรรทัดใหม่ \b เลื่อนข้อมูลถอยหลัง 1 ตัวอักษร \r เลื่อนcursorไปอยู่ต้นบรรทัด

Argument_list #include <stdio.h> // class for stream input/output #include <conio.h> // class for stream input/output using namespace std; // use the standard namespace int main () // start of main function { int T1=1000; char T2 =”Rit” char T3=“G” float T4=10.50; clrscr(); //clear screen printf(“Display T1 %d \n “,T1); printf(“Display T2 %s \n “,T2); printf(“Display T3 %c \n “,T3); printf(“Display T4 %.2f \n “,T4); return 0; } Output Display T1 1000 Display T2 Rit Display T3 G Display T4 10.50

คำสั่งในการรับและแสดงผลข้อมูล เป็นคำสั่งรับข้อมูลผ่านทางจอภาพ รูปแบบการใช้งาน scanf(“Control”,Argument_list) Control หมายถึง รหัสรหัสรูปแบบ(Format code) ต้องอยู่ในเครื่องหมายคำพูด ” “ โดยมี % นำหน้าอักขระในการรับข้อมูล ข้อความ(Text) ระหัสรูปแบบ(Format Code) ระหัสควบคุม(Control Code) Argument_list หมายถึงตัวแปรโดยมีเครื่องหมาย & อยู่หน้าตัวแปร

ประเภทของรหัสรูปแบบ Format Code วัตถุประสงค์การใช้งาน %c ใช้รับข้อมูลที่เป็นตัวอักษร 1 ตัว รวมทั้งเครื่องหมายและช่องว่างต่าง %s ใช้รับข้อมูลแบบข้อความ %d ใช้รับข้อมูลแบบเลขจำนวนเต็ม %f ใช้รับข้อมูลแบบเลขจำนวนทศนิยม %e ใช้รับข้อมูลแบบเลขจำนวนเต็มยกกำลัง %g %h ใช้รับข้อมูลแบบShot Integer %p ใช้รับข้อมูลตัวแปร Pointer %x ใช้รับข้อมูลแบบเลขฐาน 16 Hexadecimal

Argument_list #include <stdio.h> // class for stream input/output #include <conio.h> // class for stream input/output int main () // start of main function { char R1; char R2[5] ; int R3; float R4; clrscr(); //clear screen printf(“Enter Character :“); scanf(“%c”,&R1); printf(“Enter String :“); scanf(“%s”,&R2); printf(“Enter Integer : “); scanf(“%d”,&R3); printf(“Enter Float :“); scanf(“%f”,&R4); printf(“%c %s %d %.2f \n”,R1,R2,R3,R4); return 0; } Output Enter Character: A Enter String : Good Enter Integer :25 Enter Float:12 A Good 25 12.00

ตัวดำเนินการส่งออก เป็นคำสั่งรับข้อมูลผ่านทางจอภาพ รูปแบบการใช้งาน cout<<expression<<expression…<<expression; << หมายถึง ตัวดำเนินการส่งออก expression(นืพจน์) หมายถึง คำสั่งที่ต้องการให้แสดง

ตัวอักขระและสายอักขระ สายอักขระ(string) สัญลักษณ์ “Hello” เรียกว่าสายอักขระ(string) โดยจะอยู่ในเครื่องหมายอัญประกาศ (” “) ตัวอักขระ(character) จะหมายถึงตัวอักษรหรือตัวเลขตัวโดดๆ โดยจะต้องอยุ่ภายในเครื่องหมาย อัญประกาศเดี่ยว (‘ ‘) โดยที่คอมพิวเตอร์สามารถอ่านเข้าใจความหมายและนำไปเก็บไว้ในหน่วยความจำได้ ซึ่งคอมพิวเตอร์ส่วนใหญ่จะใช้ชุดตัวอักขระรหัสแอสกี (ASCII = American Standard Code for Information Interchange) เช่น ‘A’ หรือ ‘a’

โปรแกรมHello แบบต่างๆ โปแกรมแรก #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello Word:\n“; return 0; } #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello “ <<“Word:\n“; return 0; } #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello “ <<“Word:” <<‘ \n ’; return 0; }

โปรแกรมHello แบบต่างๆ โปแกรมแรก โปรแกรมHello แบบต่างๆ #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello “<<‘W’<<‘o’<<‘r’<<‘d’<<‘\n’ ; return 0; } โปรแกรมจะทำการส่งสายอักขระ ออกไป 1ขุด และส่งอักขระออกไปอีก 5 ชุด

ตัวดำเนินการรับเข้า เป็นคำสั่งรับข้อมูลผ่านทางคีย์บอร์ด รูปแบบการใช้งาน cin>>ตัวแปร; >> หมายถึง ตัวดำเนินการรับเข้า ตัวแปร(Vriable) เป็นที่เก็บค่าเมื่อทำการนำค่าเข้ามาแล้ว

ตัวอย่างการรับข้อมูลจำนวนเต็ม #include <iostream.h> // class for stream input/output int main () // start of main function { int age; cout<<“How old are you:” ; cin>>age; cout<<”In 10 years, you will be”<<age+10; return 0; } การใช้ cin จะต้องมีการประกาศตัวเตรียมประมวลผลคือ #include <iostream.h> วัตถุ cin หรือ cout เปรียบได้กับเป็นรางน้ำใช้เป็นช่องทางผ่านจำนวนของตัวอักษร

Applying the software development method Case study: Converting Miles to Kilometers PROBLEM Your summer surveying job requires you to study some maps that give distances in kilometers and some that use miles. You and your coworkers prefer to deal in metric measurements. Write a program that performs the necessary conversion. ANALYSIS The problem states that you prefer to deal in metric measurements, so you must convert distance measurements in miles to kilometers. Therefore, the problem input is distance in miles and the problem output is distance in kilometers. To write the program, you need to know the relationship between miles and kilometers. One mile equal 1.609 kilometers.

DESIGN Data requirements Problem input miles the distance in miles Problem output kms the distance in kilometers Relevant formula 1 miles = 1.609 kilometers DESIGN Algorithm 1. Get the distance in miles. 2. Convert the distance to kilometers. 3. Display the distance in kilometers. Now decide whether any steps of the algorithm need further refinement. Case study: Converting Miles to Kilometers

Algorithm with refinements Step 2 Refinement 2.1 the distance in kilometers is 1.609 times the distance in miles. Algorithm with refinements 1. Get the distance in miles. 2. Convert the distance to kilometers. 2.1 the distance in kilometers is 1.609 times the distance in miles. 3. Display the distance in kilometers. Desk-checking the algorithm: If step 1 gets a distance of 10.0 miles, step 2.1 would convert it to 1.609 x 10.00 or 16.09 kilometers. And this correct result would be displayed by step 3. Case study: Converting Miles to Kilometers

IMPLEMENTATION // Miles.cpp // Converts distance in miles to kilometers. #include <stdio.h> // standard input/output using namespace std; // use the standard namespace int main () // start of main function { const float km_per_mile = 1.609; // 1.609 km in a mile float miles, // input: distance in miles kms; // output: distance in kilometers // Get the distance in miles. printf("Enter the distance in miles: “); scanf( “ %f ”, &miles); // Convert the distance to kilometers. kms = km_per_mile * miles; // Display the distance in kilometers. printf (“The distance in kilometers is %f \n“, kms ); return 0; } Enter the distance in miles: 10.0 The distance in kilometers is 16.09 Case study: Converting Miles to Kilometers

ตัวดำเนินการ(Operation) ตัวดำเนินการทางคณิตศาสตร์(Arithmetic Operation) ตัวดำเนินการเปรียบเทียบ(Comparative Operation) ตัวดำเนินการทางตรรกะ(Logical Operation) ตัวดำเนินการเพิ่มและลดค่า(Increment and Decrement Operation) ตัวดำเนินการแบบบิต(Bitwise Operation) ตัวดำเนินการกำหนดค่า(Assignment Operation) No problem…that’s just about a semester worth of material in 80 minutes.

ตัวดำเนินการทางคณิตศาสตร์(Arithmetic Operation) ความหมาย (Meaning) ตัวอย่าง (Example) + Addition A+B - Subtraction A-B * Multiplication A*B / Division A/B % Modulus A%B

Integer Division and Modulus Operation Integer Division and Modulus Examples of integer division: 15 / 3 = 5 1 / 2 = 0 0 / 15 = 0 15 / 0 undefined Examples of integer modulus (yielding a remainder): 7 % 2 = 1 299 % 100 = 99 -15 % 7 = -1 (system dependent) 15 % -7 = 1 (system dependent) 15 % 0 undefined % cannot be used with float or double.

ตัวดำเนินการเปรียบเทียบ(Comparative Operation) ความหมาย (Meaning) ตัวอย่าง (Example) > Greater than A>B < Less than A<B >= Greater than or Equal A>=B <= Less than or Equal A<=B == Equal A==B != Not Equal A!=B

ตัวดำเนินการทางตรรกะ(Logical Operation) ความหมาย (Meaning) ตัวอย่าง (Example) && AND A>B&&C<D || OR A>B||B<C ! NOT !A&&!B ตัวดำเนินการเพิ่มและลดค่า(Increment and Decrement Operation) ตัวดำเนินการ (Operation) ความหมาย (Meaning) ตัวอย่าง (Example) ++ Increment A++ หรือ ++A -- Decrement A- - หรือ - -A

A>>=B มาจาก A=A>>B Operation ตัวดำเนินการกำหนดค่า(Assignment Operation) ตัวดำเนินการ (Operation) ความหมาย (Meaning) ตัวอย่าง (Example) = Assignment A=B += Addition A+=B มาจาก A=A+B -= Subtraction A-=B มาจาก A=A-B *= Multiplication A*=B มาจาก A=A*B /= Divide A/=B มาจาก A=A/B %= Modulus A%=B มาจาก A=A%B &= Bitwise And A&=B มาจาก A=A&B |= Bitwise Inclusive Or A|=B มาจาก A=A|B ^= Bitwise Exclusive Or A^=B มาจาก A=A^B >>= Left Shift A>>=B มาจาก A=A>>B

ลำดับการทำก่อน ภาษาซี ++ มีเครื่องหมายการดำเนินการอยู่หลายตัว ดังนั้นเราจำเป็นที่จะต้องทราบถึงลำดับของการคำนวณ โดยส่วนใหญ่แล้วตัวดำเนินการทางคณิตศาสตร์ จะมีลำดับในการทำก่อนสูงกว่าตัวดำเนินเการอื่นๆ นิพจน์ 42 - 3* 5 ลำดับการประมวลผลคือ 42 - (3*5) = 42-15 = 27 และยิ่งไปกว่านั้นตัวดำเนินการทางคณิตศาสตร์ จะมีลำดับการทำก่อนสูงกว่าตัวดำเนินการกำหนดค่า นิพจน์ n=42 - 3* 5 จะทำการประมวลผลได้ 27 ก่อนที่จะกำหนดค่าให้กับ n

ตารางลำดับการทำก่อน

การเพิ่มและการลดค่า โปแกรมแรก #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello Word:\n“; return 0; } #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello “ <<“Word:\n“; return 0; } #include <iostream.h> // class for stream input/output int main () // start of main function { cout<<“Hello “ <<“Word:” <<‘ \n ’; return 0; }

ตัวอย่างการเพิ่มและการลดค่า #include <iostream.h> // class for stream input/output int main () // start of main function { int m=44, n=66; cout<<“m = “ <<m<<“,n = “<<n<<endl; ++m; - - n; m+ +; n- -; return 0; }

ตัวอย่างการเพิ่มและการลดค่า ก่อนและหลัง #include <iostream.h> // class for stream input/output int main () // start of main function { int m=66; n= ++ m; cout<<“m = “ <<m<<“,n = “<<n<<endl; n = m++; cout<<“m = “ <<m++<<endl; cout<<“m = “ <<m<<endl; cout<<“m = “ <<++m<<endl; return 0; }

คำสงวน (List of All C++ Reserved Words) Operation คำสงวน (List of All C++ Reserved Words) and default inline pret_cast typename and_eq delete int return union asm do long short unsigned auto double mutable signed using bitand dynamic_cast namespace sizeof virtual bitor else new static void bool enum not static_cast volatile break explicit not_eq struct wchar_t case export operator switch while catch extern or template xor char false or_eq this xor_eq class float private throw compl for protected true const friend public try const_cast goto register typedef continue if reinter typeid