Lecture no. 5 Control Statements C Programming Lecture no. 5 Control Statements
คำสั่งในการควบคุมโปรแกรม Department of Computer Science 310322 C Programming
คำสั่งเงื่อนไข if...else รูปแบบ if <condition> statement1; else statement2; condition = เงื่อนไขในการตัดสินใจ statement = คำสั่งหรือกลุ่มคำสั่ง ตัวอย่าง if (score>80) printf (“Excellent”); else printf (“Good”); Department of Computer Science 310322 C Programming
Flow Chart ของคำสั่งเงื่อนไข Condition Statement 1 Statement 2 Yes No Department of Computer Science 310322 C Programming
คำสั่งเงื่อนไข if...else if รูปแบบ if <condition1> statement1; else if <condition2> statement2; else statement3; ตัวอย่าง if (score>80) printf (“Very Good”); else if (score>70) printf (“Good”); else printf (“Standard”); Department of Computer Science 310322 C Programming
คำสั่งเงื่อนไข Switch รูปแบบ switch(variable) { case constant1: statement1; break; case constant2: statement2; break; } variable = ตัวแปร หรือ นิพจน์ constant = ค่าคงที่ชนิด int หรือ char ที่เป็นตัวเลือกทำงาน Department of Computer Science 310322 C Programming
Flow Chart ของคำสั่งแบบหลายเงื่อนไข Condition 1 Condition 2 Condition 3 Statement 1 Statement 2 Statement 3 No Yes Statement 4 Department of Computer Science 310322 C Programming
การใช้เครื่องหมายเปรียบเทียบในคำสั่งเงื่อนไข การใช้เครื่องหมายเปรียบเทียบกับเงื่อนไข รูปแบบ if <value1 operand value2> statement1; else if <value3 operand value4 logical operand value5 operand value6> statement2; else statement3; value = ค่าต้องการตรวจสอบเงื่อนไข operand = เครื่องหมายตรวจสอบทางคณิตศาสตร์ logical operand = เครื่องหมายตรวจสอบทางตรรกะ Department of Computer Science 310322 C Programming
เครื่องหมายเปรียบเทียบที่ใช้ในคำสั่งเงื่อนไข เครื่องหมายเปรียบเทียบทางตรรกะ (Logical Operand) ! Not > , < มากกว่า , น้อยกว่า >= , <= มากกว่าหรือเท่ากับ , น้อยกว่าหรือเท่ากับ = = , != เท่ากับ , ไม่เท่ากับ && And || Or Department of Computer Science 310322 C Programming
คำสั่งเงื่อนไข การใช้เครื่องหมายเปรียบเทียบกับเงื่อนไข ตัวอย่าง if (score > 70) printf (“Grade B”); else ((score<=70) && (score >=60)) printf (“Grade C”); else printf (“Grade D”); Department of Computer Science 310322 C Programming
คำสั่ง loop หรือ คำสั่งวนซ้ำ Department of Computer Science 310322 C Programming
1. คำสั่งลูป for รูปแบบ for ( นิพจน์ที่ 1 ; นิพจน์ที่ 2 ; นิพจน์ที่ 3 ) { คำสั่งวนรอบ; ……. } เป็นคำสั่งที่ใช้ในการควบคุมให้มีการวนรอบคำสั่งหลาย ๆ รอบ โดย นิพจน์ที 1 คือ การกำหนดค่าเริ่มต้นให้กับตัวแปรที่ใช้ในการวนรอบ นิพจน์ที่ 2 เป็นการเปรียบเทียบ ก่อนที่จะวนรอบถ้าเงื่อนไขของนิพจน์เป็นจริงจะมี การทำงานตามคำสั่งวนรอบ นิพจน์ที่ 3 เป็นคำสั่งในการกำหนดค่าที่จะเปลี่ยนแปลงไปในแต่ละรอบ Department of Computer Science 310322 C Programming
คำสั่งทำซ้ำ for คำสั่ง for รูปแบบ for ( initial; condition; increment (decrement) ) statement; initial = ส่วนกำหนดค่าเริ่มต้น condition = เงื่อนไขการตรวจสอบการทำซ้ำ increment (decrement) = นิพจน์ที่กำหนดการเพิ่มค่าหรือลดค่าของตัวแปร statement = กลุ่มคำสั่งที่ต้องการทำซ้ำ Department of Computer Science 310322 C Programming
คำสั่งทำซ้ำ for ตัวอย่าง for (i=1; i<10; i++) printf (“%d”,i); Department of Computer Science 310322 C Programming
Flow Chart ของคำสั่งทำซ้ำ for Condition Statement Yes No Initial Increment (Decrement) Department of Computer Science 310322 C Programming
2. คำสั่งลูป while รูปแบบ while (นิพจน์เงื่อนไข) { คำสั่งที่วนลูป; ………… compound statements …………. } Department of Computer Science 310322 C Programming
คำสั่งทำซ้ำ while คำสั่ง while รูปแบบ while (condition) statement; Department of Computer Science 310322 C Programming
คำสั่งทำซ้ำ while ตัวอย่าง i=1; while ( i<10 ) { printf (“%d”,i); } Department of Computer Science 310322 C Programming
Flow Chart ของคำสั่งทำซ้ำ while Condition Statement Yes No Initial Increment (Decrement) Department of Computer Science 310322 C Programming
3. คำสั่งวนรอบแบบที่ตรวจสอบเงื่อนไขทีหลัง : do... while รูปแบบ do statement; while (นิพจน์เงื่อนไข); เช่น num = 2; { num++; printf(“Now no is %d\n”,num); } while (num == 10) Department of Computer Science 310322 C Programming
คำสั่งทำซ้ำ do...while คำสั่ง do / while รูปแบบ do { statement; } while (condition); condition = เงื่อนไขการตรวจสอบการทำซ้ำ statement = กลุ่มคำสั่งที่ต้องการทำซ้ำ Department of Computer Science 310322 C Programming
คำสั่งทำซ้ำ do...while ตัวอย่าง i=1; do { printf(“%d”,i); i++; } Department of Computer Science 310322 C Programming
Flow Chart ของคำสั่งทำซ้ำ do...while Condition Statement Yes No Initial Increment (Decrement) Department of Computer Science 310322 C Programming
คำสั่งควบคุมอื่น ๆ break,continue, goto และ labels Department of Computer Science 310322 C Programming
คำสั่ง break คำสั่ง continue ใช้เมื่อต้องการให้การทำงานสามารถหลุดออกจากลูปและกระโดดไปยังคำสั่งที่อยู่นอกลูปทันที โดยไม่ต้องตรวจสอบเงื่อนไขใด ๆ คำสั่ง continue ใช้เมื่อต้องการให้การทำงานนั้น ย้อนกลับไปวนรอบใหม่อีกครั้ง ซึ่งมีลักษณะที่ตรงข้ามกับคำสั่ง break Department of Computer Science 310322 C Programming
ตัวอย่าง for (i=1;i<10;i++) { if (i == 5 ) break; printf (“%d”,i); } Department of Computer Science 310322 C Programming
ตัวอย่าง for (i=1;i<10;i++) { if (i = = 5 ) continue; printf (“%d”,i); } Department of Computer Science 310322 C Programming
คำสั่ง goto และ labels คำสั่ง goto ประกอบด้วย 2 ส่วน คือ โดยจะกำหนดเป็นชื่อ เรียกว่า label name - ชื่อ (label name) เป็นตัวกำหนดตำแหน่งที่คำสั่งจะกระโดด ไปทำงาน ข้อควรระวัง ! คำสั่งนี้ถือเป็นคำสั่งที่ควรหลีกเลี่ยงในการเขียนโปรแกรม แต่ถ้าจำเป็นหรือหลีกเลี่ยงไม่ได้เท่านั้น จึงจะใช้คำสั่งนี้ Department of Computer Science 310322 C Programming
label = ตำแหน่งที่ต้องการไป statement = กลุ่มของคำสั่งที่ต้องการ คำสั่ง goto รูปแบบ goto label; statement1; label : statement2 ; label = ตำแหน่งที่ต้องการไป statement = กลุ่มของคำสั่งที่ต้องการ Department of Computer Science 310322 C Programming
ตัวอย่าง if (num == 5 ) goto end_work; printf (“num not equa 5”); end_work: printf (“num equa 5”); Department of Computer Science 310322 C Programming
ตัวอย่างโปรแกรมที่ใช้คำสั่ง goto #include<stdio.h> main() { int sum,n; for(n=1;n<10;n++) if (n==5) goto part1; else printf(“%d\n”,n); part1 : printf(“Interrupt with no. 5\n”); } Department of Computer Science 310322 C Programming
END