Lecture no. 4: Structure Programming

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
Advertisements

บทที่ 2 รหัสควบคุมและการคำนวณ
รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
โครงสร้างโปรแกรมภาษา C
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
บทที่ 2 ภาษาปาลคาลเบื้องต้น.
ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)
Introduction to C Programming
Control Statement if..else switch..case for while do-while.
Department of Computer Business
คำสั่งในการควบคุมโปรแกรม
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Functional programming part II
Lecture no. 5 Control Statements
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
Lecture No. 3 ทบทวนทฤษฎีและแบบฝึกหัด
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
ชนิดของข้อมูลและตัวดำเนินการ
Week 6 ประกาศค่าตัวแปร.
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
Lecture no. 2: Overview of C Programming
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Arrays.
C Programming Lecture no. 6: Function.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
หน่วยที่ นิพจน์ในภาษา C
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
คำสั่งควบคุมการทำงาน
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
การเขียนโปรแกรมภาษาซี
Chapter 4 คำสั่งควบคุมทิศทาง
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
ตัวแปรกับชนิดของข้อมูล
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่งควบคุมการทำงานของ ActionScripts
ตัวแปรกับชนิดของข้อมูล
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
Computer Programming for Engineers
คำสั่งควบคุมขั้นตอน Flow control statements
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
CHAPTER 4 Control Statements
Overview of C Programming
โครงสร้างภาษาซี #include <stdio.h> void main() {
Output of C.
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
พื้นฐานการเขียนโปรแกรมด้วย C#
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 7 เงื่อนไขในภาษาซี
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
บทที่ 2 โครงสร้างของภาษา C.
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
โครงสร้างข้อมูลแบบ สแตก (stack)
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
CHAPTER 2 Operators.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

Lecture no. 4: Structure Programming C Programming Lecture no. 4: Structure Programming กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science 310322 C Programming

ตัวแปรในภาษาซี ตัวแปร (variables) คือ การจองเนื้อที่ในหน่วยความจำและตั้งชื่อไว้ เพื่อเรียกใช้งานในขณะปฏิบัติงาน ค่า (contents) ของตัวแปรเปลี่ยนแปลงได้ ทั้งตัวแปรที่มีชนิดของข้อมูลแบบพื้นฐานและตัวแปรที่มีชนิดของข้อมูลแบบกำหนดโดยผู้ใช้ (user defined variables ) ต้องประกาศก่อนใช้ ควรสร้างนิสัยตั้งชื่อตัวแปรด้วยตัวอักษรตัวเล็ก ตัวอักษรตัวใหญ่ตัวเล็กมีผลแตกต่างกันในภาษา C การประกาศค่าตัวแปรจะเริ่มหลังจากสิ้นประโยค main( ) (แต่สามารถประกาศที่ไหนก็ได้) Department of Computer Science 310322 C Programming

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

คำสงวนในภาษาซี (C’s reserved words) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

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

Expressions (นิพจน์) คือ องค์ประกอบของประโยคที่มีความหมาย อาจเปรียบได้เหมือนคำหนึ่งคำในประโยคที่เราใช้โดยทั่วไป แบ่งออกเป็น 4 พวก นิพจน์ที่เป็นค่าคงที่ (Constant Expressions) 12, 143.12, ‘A’, “Hello World” นิพจน์ที่เป็นตัวแปร (Variable Expressions) x, y, sum, radius

Expressions (นิพจน์) [2] นิพจน์ที่ประกอบจากนิพจน์สองแบบแรก (Complex Expressions) โดยการใช้ตัวดำเนินการ (operator) หรือ เครื่องหมายอื่นๆ เช่น วงเล็บ เป็นตัวเชื่อม sum = x + y, x = (y-5) * 2 นิพจน์ที่เกิดจากการเรียกใช้ฟังก์ชั่น (Function Calls) add (543, 1991), add(x, 101) ข้อสังเกต: 1. เครื่องหมาย “=“ ในภาษาซีไม่ได้หมายถึงความเป็นสมการดังเช่นที่ใช้กันในคณิตศาสตร์โดยทั่วๆ ไป แต่เป็นการมอบหมายค่า(ผ่านค่า)ให้กับนิพจน์ประเภทตัวแปรที่ปรากฎอยู่ทางด้านซ้ายมือของเครื่องหมาย “=“ ให้มีค่าเท่ากับค่าหรือผลลัพธ์ที่เกิดขึ้นกับนิพจน์ทางขวามือของเครื่องหมาย 2. นิพจน์ที่อยู่ทางซ้ายมือต้องเป็นนิพจน์ประเภทตัวแปรเท่านั้น (ซึ่งเป็นสาเหตุที่ทำให้มีการผ่านค่าให้ได้)

Expressions(นิพจน์) and Statements(คำสั่ง) นิพจน์ (expression) ในภาษา C คือ การผสมผสานของค่าคงที่ (constants) ตัวแปร (variables) ตัวดำเนินการ(operators) และ การเรียกใช้ฟังก์ชั่น (function calls) ตัวอย่างได้แก่: a + b 3.0*x - 9.66553 tan(angle) นิพจน์ส่วนใหญ่จะมีค่าตามสิ่งที่ประกอบขึ้นเป็นนิพจน์นั้น ประโยคคำสั่งในภาษา C เป็นเพียงนิพจน์(expression) ที่มีการกำหนดการสิ้นสุดด้วยเครื่องหมาย ; (terminated with a semicolon) ตัวอย่างได้แก่: sum = x + y + z; printf("Go Buckeyes!"); Department of Computer Science 310322 C Programming

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

ชนิดของข้อมูล (Data Types) มีตั้งแต่แบบพื้นฐานไปจนถึงแบบมีโครงสร้างซับซ้อน ต้องเลือกให้เหมาะสมเพื่อความมีประสิทธิภาพและความถูกต้องของการทำงานของโปรแกรม ตัวอย่างปัญหา การแสดงผลลัพธ์ การหารเลขจำนวนเต็ม 2 จำนวน ซึ่งผลรับอาจไม่ใช่จำนวนเต็ม ซึ่งในกรณีถ้ามีการเลือกชนิดของข้อมูลเพื่อเก็บค่าตัวแปรที่เกิดจากการหารเลขจำนวนเต็ม ดังกล่าวเป็นชนิด int ก็จะได้ผลลัพธ์ที่ไม่ถูกต้อง ดังนั้นตัวแปรที่ควรเลือกใช้ในกรณีนี้คือ ... หรือ ... ขอบเขต เช่น printf (“%d %d %d\n”, 32767, 32767+1,32767+2); ผลลัพธ์ที่ได้คือ 32767 -32768 -32767 แทนที่จะเป็น 32767 32768 32769 Department of Computer Science 310322 C Programming

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

ตัวอย่างการเปลี่ยนชนิดของข้อมูล int cost; cost = 2.7 + 4.5; ได้ผลรับเท่ากับ ... cost = (int) 2.7+(int) 4.5; Department of Computer Science 310322 C Programming

ตัวดำเนินการกำหนดค่า (The Assignment Operator) ในภาษาซี ตัวดำเนินการในการกำหนดค่า คือ การใช้เครื่องหมายเท่ากับ (equal sign) “ = “ และเป็นการใช้เพื่อกำหนดค่าให้ตัวแปรในนิพจน์นั้นๆ ตัวอย่างได้แก่: i=0; x=34.8; sum=a+b; slope=tan(rise/run); midinit='J'; j=j+3; เมื่อใช้ในลักษณะนี้ เครื่องหมายเท่ากับ จะถูกอ่านว่า “ได้รับค่า” (“gets”) ให้สังเกตว่าเมื่อกำหนดค่าเป็นค่าข้อมูลประเภทตัวอักขระ (character) ตัวอักขระนั้นๆต้องอยู่ภายใต้เครื่องหมาย ‘...‘ (enclosed in single quotes) Department of Computer Science 310322 C Programming

ในประโยคกำหนดค่า (assignment statement) a=7; มีสองสิ่งที่เกิดขึ้น คือ การประเมินค่าของตัวดำเนินการกำหนดค่า The Assignment Operator Evaluation ในประโยคกำหนดค่า (assignment statement) a=7; มีสองสิ่งที่เกิดขึ้น คือ The integer variable ‘a’ gets the value of 7, and the expression a=7 evaluates to 7. ลักษณะเช่นนี้ทำให้สามารถดำเนินการกำหนดค่าแบบ multiple assignments of the same value to several variables in a single statement ได้โดยสะดวก เช่น x=y=z=13.0; Department of Computer Science 310322 C Programming

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

การเพิ่มค่าและลดค่าตัวแปร [2] ความแตกต่างระหว่าง y++ และ ++y เช่น สมมุติค่า y = 5; ถ้าในกรณี x = y++; จะมีการกระทำดังต่อไปนี้ คือ มีการผ่านค่าเดิมของ y ซึ่งเท่ากับ 5 ให้กับ X ก่อน ซึ่งจะได้ค่า x เท่ากับ 5 แล้วจึงเพิ่มค่าของ y ขึ้นอีกหนึ่งในภายหลัง ซึ่งจะได้ค่า y เท่ากับ 6 ทำให้ค่า x มีค่าเท่ากับ6 ในการดำเนินการครั้งถัดไป หรือ เปรียบได้กับมีการกระทำ { x = y; y = y+1) แต่ถ้า x = ++y; หมายถึงจะมีเพิ่มค่าให้กับ y ขึ้นอีกหนึ่ง ทำให้ได้ค่า x เท่ากับ 6 ในการดำเนินการในรอบแรก หรือ เปรียบได้กับมีการกระทำ { y = y+1; x = y)

ตัวอย่างการเพิ่มค่าและลดค่าตัวแปร ความแตกต่างระหว่าง count++ และ ++count เช่น count = 5; x = count++; ในการดำเนินการรอบแรก ค่า count จะยังคงมีค่าเท่ากับ 5 ซึ่งจะทำให้ได้ค่า x เท่ากับ 5 แล้วค่า count จึงจะเพิ่มค่าเป็น 6 x = ++count; ในการดำเนินการรอบแรก ค่า count จะถูกเพิ่มค่าเป็น 6 ซึ่งจะทำให้ได้ค่า x เท่ากับ 6 Department of Computer Science 310322 C Programming

ตัวอย่างโปรแกรมการเพิ่มค่าและลดค่าตัวแปร #include <stdio.h> int main(void) { int count,x; printf(“**Example of n++ **\n"); count = 5; printf("%d\n",count); x = count++; printf("%d\n",x); printf(“**Example of ++n **\n"); count = 5; printf("%d\n",count); x = ++count; printf("%d\n",x); return (0); }

การกำหนดค่าเริ่มต้นให้ตัวแปร (Initializing Variables) ตัวแปรภาษาซี (C Variables) สามารถถูกกำหนดค่าเริ่มต้น (initialized with a value) เมื่อมีการประกาศตัวแปรนั้นๆ ได้ เช่น int count = 10; โดยทั่วไป ผู้เขียนโปรแกรมไม่ควรคิดเอาเองว่าตัวแปรจะถูกกำหนดค่าเริ่มต้นให้โดยปริยายอย่างอัตโนมัติโดยตัวคอมไพเลอร์ นักเขียนโปรแกรมต้องทำให้มั่นใจได้ว่าตัวแปรมีค่าที่เหมาะสมก่อนที่มันจะถูกใช้ในนิพจน์ต่างๆ Department of Computer Science 310322 C Programming

ตัวอย่างการกำหนดค่าเริ่มต้น ตัวอย่าง 2 วิธี ในการกำหนดค่าเริ่มต้น: #include <stdio.h> main () { int sum=33; float money=44.12; char letter; double pressure; letter='E'; /* assign character value */ pressure=2.01e-10; /*assign double value */ Department of Computer Science 310322 C Programming

ตัวอย่างการกำหนดค่าเริ่มต้น [2] printf("value of sum is %d\n",sum); printf("value of money is %f\n",money); printf("value of letter is %c\n",letter); printf("value of pressure is %e\n",pressure); } value of sum is 33 value of money is 44.119999 value of letter is E value of pressure is 2.010000e-10 Department of Computer Science 310322 C Programming

ข้อสังเกตุเกี่ยวกับตัวโอเปอร์เรเตอร์ทางคณิตศาสตร์ (Arithmetic Operators) When the divider operator / is used to perform integer division the resulting integer is obtained by discarding (or truncating) the fractional part of the actual floating point value. For example: 1/2  0 3/2  1 Department of Computer Science 310322 C Programming

The modulus operator % only works with integer operands. ข้อสังเกตุเกี่ยวกับตัวโอเปอร์เรเตอร์ทางคณิตศาสตร์ (Arithmetic Operators) [2] The modulus operator % only works with integer operands. The expression a%b is read as “a modulus b” and evaluates to the remainder obtained after dividing a by b. For example 7 % 2  1 12 % 3  0 Department of Computer Science 310322 C Programming

Operator Precedence and Associativity (ลำดับการทำงานของโอเปอร์เรเตอร์) Associativity (การจัดหมู่) () ++(postfix) --(postfix) left to right +(unary) –(unary) ++(prefix) --(prefix) right to left * / % + - = += -= *= /= etc. Department of Computer Science 310322 C Programming

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

การตรวจสอบเงื่อนไข if แบบเงื่อนไขเดียว เงื่อนไขประเภทนี้มีรูปแบบดังนี้ เงื่อนไข คือ เงื่อนไขที่ต้องการตรวจสอบ ข้อความคำสั่ง หมายถึง ถ้าเงื่อนไขเป็นจริง จะสั่งให้โปรแกรมดำเนินการอย่างไร เช่น … if (marks <= 25) printf (“you fail the C Programming test”); if ( เงื่อนไข ) ข้อความสั่ง; Department of Computer Science 310322 C Programming

การตรวจสอบเงื่อนไข if แบบเงื่อนไขเดียว [2] ในส่วนของประโยคคำสั่ง หากมีมากกว่า 1 ประโยคำสั่ง จะต้องอยู่ภายในเครื่องหมาย { } รูปแบบของการใช้ if จึงเปลี่ยนเป็น if ( เงื่อนไข ) { ข้อความสั่งที่ 1; ข้อความสั่งที่ 2; … ; ข้อความสั่งที่ n; } Department of Computer Science 310322 C Programming

การตรวจสอบเงื่อนไข if แบบ 2 เงื่อนไข สองเงื่อนไข การตรวจสอบเงื่อนไขสองเงื่อนไขโดยใช้ if มีรูปแบบดังนี้ if ( เงื่อนไข ) ข้อความสั่งในกรณีที่เงื่อนไขเป็นจริง; else ข้อความสั่งกรณีที่เงื่อนไขเป็นเท็จ; Department of Computer Science 310322 C Programming

การตรวจสอบเงื่อนไข if แบบ 2 เงื่อนไข [2] { ข้อความสั่งในกรณีที่เงื่อนไขเป็นจริง 1; ข้อความสั่งในกรณีที่เงื่อนไขเป็นจริง 2; …; } else ข้อความสั่งในกรณีที่เงื่อนไขเป็นเท็จ 1; ข้อความสั่งในกรณีที่เงื่อนไขเป็นเท็จ 2; Department of Computer Science 310322 C Programming

การตรวจสอบเงื่อนไข if แบบหลายเงื่อนไข มีรูปแบบดังนี้ if ( เงื่อนไขที่ 1 ) ข้อความสั่งในกรณีที่เงื่อนไขที่ 1 เป็นจริง; else if ( เงื่อนไขที่ 2 ) ข้อความสั่งในกรณีที่เงื่อนไขที่ 2 เป็นจริง; else if ( เงื่อนไขที่ 3 ) ข้อความสั่งในกรณีที่เงื่อนไขที่ 3 เป็นจริง; … else ข้อความสั่งในกรณีที่เงื่อนไขสุดท้ายเป็นจริง; Department of Computer Science 310322 C Programming

การตรวจสอบเงื่อนไข if แบบหลายเงื่อนไข (2) ในส่วนของประโยคคำสั่ง หากมีมากกว่า 1 ประโยคำสั่งจะใช้ต้องอยู่ภายในเครื่องหมาย { } รูปแบบของการใช้ if จึงเปลี่ยนเป็น if ( เงื่อนไขที่ 1 ) { ข้อความสั่งในกรณีที่เงื่อนไขเป็นจริง 1; ข้อความสั่งในกรณีที่เงื่อนไขเป็นจริง 2; …; } else if ( เงื่อนไขที่ 2 ) ข้อความสั่งในกรณีที่เงื่อนไขเป็นเท็จ 1; ข้อความสั่งในกรณีที่เงื่อนไขเป็นเท็จ 2; } … Department of Computer Science 310322 C Programming

การตรวจสอบเงื่อนไขแบบซ้อน ในการตรวจสอบเงื่อนไขโดยใช้ if นั้น อาจใช้ if ซ้อน if เพื่อให้การตรวจสอบเงื่อนไข เฉพาะเจาะจงมากยิ่งขึ้น มีรูปแบบดังนี้ if ( เงื่อนไขที่ 1 ) if ( เงื่อนไขที่ 2 ) ข้อความสั่งในกรณีที่เงื่อนไขเป็นจริง 1; หากมีหลายข้อความสั่ง ข้อความสั่งนั้นจะอยู่ใน { } เหมือนกับการใช้ if ทั่วไป Department of Computer Science 310322 C Programming

ผังงานแทนคำสั่ง if เงื่อนไข จริง ประโยคคำสั่ง 1 ประโยคคำสั่ง 2 … เท็จ Department of Computer Science 310322 C Programming

ผังงานแทนคำสั่ง if-else เงื่อนไข จริง เท็จ ประโยคคำสั่งกรณีเป็นจริง 1 ประโยคคำสั่งกรณีเป็นจริง 2 … ประโยคคำสั่งกรณีเป็นเท็จ 1 ประโยคคำสั่งกรณีเป็นเท็จ 2 … Department of Computer Science 310322 C Programming

ตัวดำเนินการตรรกะในการตรวจสอบเงื่อนไข ความหมาย > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ == เท่ากับ != ไม่เท่ากับ Department of Computer Science 310322 C Programming

if ( score >= 80 ) grade = ‘A’; ตัวอย่างการใช้คำสั่งเงื่อนไขกับนิพจน์คณิตศาสตร์ X > 5 A > B X + Y <= a + b 2.0 * x > 5.0 * y + 7.0 B == 5 ตัวอย่างการใช้ if กับนิพจน์คณิศาสตร์ if ( score >= 80 ) grade = ‘A’; if ( totalsale == 1000 ) discount = totalsale * 20/100 Department of Computer Science 310322 C Programming

ตัวดำเนินการเชื่อมตรรกะ ตัวดำเนินการเชื่อมตรรกะช่วยให้เราสามารถเชื่อม นิพจน์ทางตรรกะ ซึ่งแทนด้วยสัญลักษณ์ดังนี้ ตัวดำเนินการเชื่อมตรรกะ ความหมาย && ตัวเชื่อม “และ” (and) || ตัวเชื่อม “หรือ” (or) ! ตัวนิเสธ (Not) Department of Computer Science 310322 C Programming

ตัวอย่างการใช้ตัวดำเนินการเชื่อมตรรกะ ตัวดำเนินการเชื่อมตรรกะช่วยให้เราสามารถเชื่อม นิพจน์ทางตรรกะ ซึ่งแทนด้วยสัญลักษณ์ดังนี้ P Q P && Q P || Q T F Department of Computer Science 310322 C Programming

if ( ( score >= 80 ) || ( score <= 100 ) ) ตัวอย่างนิพจน์เงื่อนไขที่ใช้ตัวดำเนินการเชื่อมตรรกะ ตัวอย่างการใช้ if ร่วมกับตัวดำเนินการเชื่อมตรรกะกับนิพจน์คณิศาสตร์ if ( ( score >= 80 ) || ( score <= 100 ) ) grade = ‘A’; if ( ( total > 2000 ) || ( total < 5000 ) ) discount = totalsale * 20/100 Department of Computer Science 310322 C Programming

ตัวดำเนินการเงื่อนไขแบบย่อ ( ? : ) ตัวดำเนินการเงื่อนไข (?:) เป็นการเขียนอย่างย่อของคำสั่ง if-else ซึ่งมีรูปแบบดังนี้ นิพจน์ 1 ? นิพจน์ 2 : นิพจน์ 3 ความหมายของตัวดำเนินการเงื่อนไขข้างต้นหมายถึง หากนิพจน์ 1 เป็นจริงแล้วให้ดำเนินการตามนิพจน์ 2 แต่ถ้าหากนิพจน์ 1 เป็นเท็จให้ดำเนินการตามนิพจน์ 3 Department of Computer Science 310322 C Programming

ตัวอย่างการใช้ตัวดำเนินการเงื่อนไขแบบย่อ discount = (total > 2000) ? total * 10/100 : 0.0; ความหมายของนิพจน์ข้างต้นเทียบได้กับ if ( total > 2000 ) discount = total * 10/100; else discount = 0.0; Department of Computer Science 310322 C Programming

การตรวจสอบเงื่อนไขโดยใช้ switch คำสั่ง switch เป็นคำสั่งเงื่อนไขที่เหมาะสำหรับเงื่อนไขที่มีตัวเลือกมากกว่าหนึ่งตัวเลือก รูปแบบของคำสั่ง switch เป็นดังนี้ switch ( ตัวแปรที่ต้องการตรวจสอบ ) { case เงื่อนไขที่ 1 : คำสั่งที่ 1; คำสั่งที่ 2; break; case เงื่อนไขที่ 2 : … default : คำสั่งที่ 1; คำสั่งที่ 2; } Department of Computer Science 310322 C Programming

ตัวอย่างการใช้ switch switch ( ch ) { case 1 : printf(“Red\n”); case 2 : printf(“Blue\n”); case 3 : printf(“Yellow\n”); default : printf(“White\n”); } Department of Computer Science 310322 C Programming

ผังงานแทนคำสั่ง switch จริง เงื่อนไขที่ 1 ประโยคคำสั่ง break; เท็จ จริง เงื่อนไขที่ 2 ประโยคคำสั่ง break; . เท็จ จริง เงื่อนไขที่ n ประโยคคำสั่ง break; เท็จ Department of Computer Science 310322 C Programming

END Department of Computer Science 310322 C Programming