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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 2 รหัสควบคุมและการคำนวณ
Advertisements

รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
โครงสร้างโปรแกรมภาษา C
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
BC320 Introduction to Computer Programming
Introduction to C Programming
Control Statement if..else switch..case for while do-while.
Department of Computer Business
คำสั่งในการควบคุมโปรแกรม
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
ชนิดของข้อมูลและตัวดำเนินการ
Week 6 ประกาศค่าตัวแปร.
รับและแสดงผลข้อมูล.
PHP LANGUAGE.
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
Lecture no. 2: Overview of C Programming
Lecture no. 3: Review and Exercises
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Arrays.
Lecture no. 4: Structure Programming
C Programming Lecture no. 6: Function.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
บทที่ 11 การเขียนโปรแกรมภาษาซี
คำสั่งควบคุมเงื่อนไข และการทำงานเป็นรอบ
ข้อมูลพื้นฐานและตัวดำเนินการ
หน่วยที่ นิพจน์ในภาษา C
หน่วยที่ 1 พื้นฐานภาษา C
อาร์เรย์และข้อความสตริง
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
ตัวดำเนินการ(Operator)
การเขียนโปรแกรมภาษาซี
Chapter 4 คำสั่งควบคุมทิศทาง
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
ตัวแปรกับชนิดของข้อมูล
ครูรัตติยา บุญเกิด.
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
นิพจน์และตัวดำเนินการ
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การรับและพิมพ์ข้อมูลเบื้องต้น
ตัวแปรกับชนิดของข้อมูล
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
Computer Programming for Engineers
คำสั่งควบคุมขั้นตอน Flow control statements
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
CHAPTER 4 Control Statements
Overview of C Programming
โครงสร้างภาษาซี #include <stdio.h> void main() {
คำสั่งเกี่ยวกับการรับ และแสดงผล
Output of C.
หลักการเขียนโปรแกรม ( )
พื้นฐานการเขียนโปรแกรมด้วย C#
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 7 เงื่อนไขในภาษาซี
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
ตัวแปร และชนิดข้อมูล.
การเขียนโปรแกรม (ภาษาซี)
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
CHAPTER 2 Operators.
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ 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.

การประกาศตัวแปรในภาษาซี การประกาศชื่อตัวแปรในภาษาซีสามารถทำได้ดังนี้ <ชนิดข้อมูล> <ชื่อตัวแปร>; ซึ่งชนิดข้อมูล ก็คือ 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(นิพจน์) and Statements(คำสั่ง) นิพจน์ (expression) ในภาษา C คือ การผสมผสานของค่าคงที่ (constants) ตัวแปร (variables) ตัวดำเนินการ(operators) และ function calls ตัวอย่างได้แก่: a + b 3.0*x - 9.66553 tan(angle) นิพจน์ส่วนใหญ่จะมีค่าตามสิ่งที่ประกอบขึ้นเป็นนิพจน์นั้น ประโยคคำสั่งในภาษา C (a statement in 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

การแสดงผลลัพธ์ในภาษาซี การแสดงผลลัพธ์ในภาษาซีจะใช้ฟังก์ชั่น 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

ข้อสังเกต ตัวเลขประเภทเลขจำนวนเต็ม มีการแสดงผลได้หลายแบบ ดังนั้น ต้องระมัดระวังในการเลือกรูปแบบทั้งในการรับค่า หรือ การแสดงผล เช่น 17 เป็น decimal integer constant 017 เป็น octal integer constant 0x17 เป็น hexadecimal integer constant 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

การเปลี่ยนชนิดของข้อมูล ทำได้โดยระบุชนิดที่ต้องการเปลี่ยนภายใน เครื่องหมาย ( ) แล้ววางหน้าตัวแปรหรือข้อมูล ที่ต้องการเปลี่ยนแปลงชนิด ตัวอย่าง ถ้าในโปรแกรมภาษาซีมีการประกาศ ตัวแปรเป็น ต้องการเปลี่ยนตัวแปร 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 ในภาษาC, ตัวดำเนินการในการกำหนดค่า (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

นิพจน์กำหนดค่า นิพจน์กำหนดค่า (Assignment expression) เครื่องหมายที่ใช้กำหนดค่าคือ = โดยเป็นการ กำหนดค่าทางขวาของเครื่องหมาย ให้กับตัวแปร ที่อยู่ทางซ้าย เช่น j = 7+2; หรือ k = k + 4; Department of Computer Science 310322 C Programming

นิพจน์กำหนดค่า สัญลักษณ์ ความหมาย > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ == เท่ากับ != ไม่เท่ากับ Department of Computer Science 310322 C Programming

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

เครื่องหมายและนิพจน์แบบตรรกศาสตร์ เครื่องหมายและนิพจน์เปรียบเทียบแบบ ตรรกศาสตร์ && หมายถึง และ (and) | | หมายถึง หรือ (or) ! หมายถึง ไม่ (not) ตัวอย่างเช่น จะได้ค่าความจริงเป็นจริงก็ต่อเมื่อ a และ b เป็นจริงทั้งคู่ จะได้ค่าความจริงเป็นเท็จก็ต่อเมื่อ a และ b เป็นเท็จทั้งคู่ a && b a || b Department of Computer Science 310322 C Programming

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

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

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

ตัวอย่างการกำหนดค่าเริ่มต้น Initializing Variables Example ตัวอย่าง 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 */

Initializing Variables Example (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

Arithmetic Operators 1/2 0 3/2 1 The primary arithmetic operators and their corresponding symbols in C are: When the / 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

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 Negation - Multiplication * Addition + Subtraction -

Operator precedence and Associativity () ++(postfix) --(postfix) left to right +(unary) –(unary) ++(prefix) --(prefix) right to left * / % + - = += -= *= /= etc.

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

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

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

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

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

การตรวจสอบเงื่อนไข (6) ในส่วนของประโยคคำสั่ง หากมีมากกว่า 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 กับนิพจน์คณิศาสตร์ 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 ร่วมกับตัวดำเนินการเชื่อมตรรกะกับนิพจน์คณิศาสตร์ 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 switch ( ch ) { case ‘1’ : printf(“Red\n”); break; 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

END 310322 C Programming Department of Computer Science