5.1 คำสั่ง goto
สั่งให้คอมพิวเตอร์ไปทำงานตามประโยคคำสั่งหรือชื่อที่กำหนดขึ้นโดยไม่มีเงื่อนไขใดๆ
รูปแบบ goto ชื่อที่กำหนด;
ตัวอย่าง loop: ประโยคคำสั่ง 1;
ประโยคคำสั่ง 2;
ประโยคคำสั่ง 3;
|
|
ประโยคคำสั่ง n;
Goto loop;
ประโยคคำสั่ง n;
ตัวอย่างโปรแกรม การใช้ฟังก์ชัน goto สั่งให้คอมพิวเตอร์ไปทำงานยังบรรทัดที่กำหนด ใน โปรแกรม บวก ลบ คูณ และหาร ตัวเลข 2 จำนวน
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int choice;
float num1,num2;
loop: printf(“\n”); /*เมื่อพบชื่อ loop จะกลับมาทำงานที่บรรทัดนี้*/
printf(“Main Menu\n”);
printf(“1. Program Addition\n”);
printf(“2. Program Subtraction\n”);
printf(“3. Program Multiplication\n”);
printf(“4. Program Division\n”);
printf(“0. Exit Program\n”);
printf(“====================\n”);
printf("Please select choice (0-4) : ");
scanf(“%d”,&choice);
switch(choice)
{
case 0:exit(0);
}
printf(“Enter number 1 =”);
scanf(“%f”,&num1);
printf(“Enter number 2 =”);
scanf(“%f”,&num2);
switch(choice)
{
case 1:printf(“%.2f+%.2f=%.2f\n”,num1,num2,num1+num2);break;
case 2:printf(“%.2f-%.2f=%.2f\n”,num1,num2,num1-num2);break;
case 3:printf(“%.2f*%.2f=%.2f\n”,num1,num2,num1*num2);break;
case 4:printf(“%.2f/%.2f=%.2f\n”,num1,num2,num1/num2);break;
}
goto loop; /*ให้ไปทำงานในบรรทัดที่ชื่อ loop*/
getch();
}
การทำงานของโปรแกรม
เมื่อรันโปรแกรมเครื่องจะแสดงเมนูหลัก (Main Menu) ให้เลือก 4 เมนู พร้อมกับข้อความ Please select choice เพื่อให้เลือกรายการเมนู ให้ป้อนตัวเลข 1 เพื่อเลือกโปรแกรมบวก 2 เลือกโปรแกรมลบ 3 เลือกโปรแกรมคูณ, 4 เลือกโปรแกรมหาร ในกรณีที่เลือกหมายเลข 1,2,3 หรือ 4 โปรแกรมจะให้ป้อนตัวเลข 2 จำนวนเพื่อนำไปคำนวณ และถ้าเลือก 0 โปรแกรมจะใช้ฟังก์ชัน exit(0) ในการออกจากโปรแกรม แต่ถ้าเลือกหมายเลขที่ไม่ใช่ 0,1,2,3 และ4 จะแสดงข้อความ Please select only program 0-4 หมายความว่าให้เลือกเฉพาะหมายเลข 0-4 เท่านั้น โปรแกรมนี้สามารถทำงานได้หลายครั้งเพราะมีฟังก์ชัน goto สั่งให้ทำงานในบรรทัด loop คล้ายกับการวนรอบการทำงานได้ แต่ถ้าต้องการออกโปรแกรม ก็เลือกป้อนหมายเลข 0 ก็จะสามารถออกจากโปรแกรมได้
5.2 คำสั่ง if
คำสั่งควบคุมการทำงานที่เป็นพื้นฐานที่สุดในภาษา C นั้นก็คือคำสั่ง if มันใช้สำหรับสร้างเงื่อนไขให้โปรแกรมทำงานตามที่ต้องการ ยกตัวอย่างเช่น ถ้าหากวันนี้ฝนไม่ตก คุณจะออกไปเที่ยวข้างนอก นี่เป็นการตัดสินใจที่เกิดขึ้นและถูกนำแนวคิดมาใช้ในการเขียนโปรแกรม นี่เป็นรูปแบบของการใช้งานคำสั่ง if ในภาษา C
if (expression)
{ // statements }
คำสั่ง if เป็นคำสั่งที่ใช้ในการตรวจสอบว่าเงื่อนไขเป็นจริงหรือไม่ โดยการใช้ตัวดำเนินการต่างๆ ในการสร้างเงื่อนไขหรือ expression ถ้าผลลัพธ์เป็นจริง โปรแกรมจะทำงานในบล็อคของคำสั่ง if ที่เราได้กำหนดขึ้น และถ้าหากผลลัพธ์ไม่เป็นจริงโปรแกรมจะข้ามการทำงานในบล็อคคำสั่งไป มาดูตัวอย่างการใช้งานของมัน
ในการทำงานของโปรแกรมเป็นการใช้คำสั่ง if เพื่อเปรียบเงื่อนไขต่างๆ โดยแต่ละบล็อคคำสั่งจะทำงานเมื่อเงื่อนไขเป็นจริงเท่านั้น บล็อคแรกจะทำงานเพราะว่า 10 มีค่าเท่ากับ 10 บล็อคที่สองจะไม่ทำงานเพราะว่า 3 ไม่น้อยว่า 1 และสำหรับบล็อคสุดท้ายจะทำงาน เพราะว่า a เป็นจำนวนคู่
และนี่เป็นผลลัพธ์ของโปรแกรมเมื่อรัน คุณจะเห็นว่ามีแค่ block 1 และ 3 ที่แสดงผลเพราะว่าเงื่อนไขของ if เป็นจริง
block 1 is executed block 3 is executed


จากโปรแกรม ครั้งแรกลองกรอกตัวเลข 15 จะได้ผลลัธ์เป็น GOOD เพราะ 15 มีค่ามากกว่า 10
เป็นจริงตามเงื่อนไข จึงแสดงคำสั่งในวงเล็บปีกกาหลังเงื่อนไขออกมา แต่ในการทดลองรันโปรแกรมครั้งที่สอง
กรอกตัวเลขเป็น 3 จะพบว่าโปรแกรมไม่ได้แสดงผลลัพธ์อะไรออกมา เนื่องจาก 3 มีค่าน้อยกว่า 10 ซึ่งก็คือเงื่อนไข
ไม่เป็นจริง
5.3 ค ำสั่ง switch
จากโปรแกรม ครั้งแรกลองกรอกตัวเลข 15 จะได้ผลลัธ์เป็น GOOD เพราะ 15 มีค่ามากกว่า 10
เป็นจริงตามเงื่อนไข จึงแสดงคำสั่งในวงเล็บปีกกาหลังเงื่อนไขออกมา แต่ในการทดลองรันโปรแกรมครั้งที่สอง
กรอกตัวเลขเป็น 3 จะพบว่าโปรแกรมไม่ได้แสดงผลลัพธ์อะไรออกมา เนื่องจาก 3 มีค่าน้อยกว่า 10 ซึ่งก็คือเงื่อนไข
ไม่เป็นจริง
ในส่วนของฟังก์ชัน switch จะทำการตรวจสอบตัวแปรว่ามีค่าเท่ากับ case ใด ถ้าตรงกับ case ใดก็จะทำงานตาม
ประโยคคำสั่งของ case นั้น การเปรียบเทียบของฟังก์ชัน switch ไม่สามารถเปรียบเทียบค่ามากกว่า น้อยกว่าเหมือนฟังก์ชัน if
ได้ และที่สำคัญตัวแปรที่นำมาใช้กับฟังก์ชัน switch จะต้องเป็นข้อมูลชนิดเลขจำนวนเต็มหรือตัวอักษรเท่านั้น ดังนั้น a1, a2 และ
a3 อาจจะเป็นค่าคงที่ ตัวอักษร หรือตัวแปรก็ได้ โดยทั่วไปฟังก์ชัน switch นิยมใช้ในการตรวจสอบเงื่อนไข จำนวนหลาย ๆ เงื่อนไขเพราะถ้าใช้ฟังก์ชัน if จะทำให้เกิดความยุ่งยากได้
รูปแบบ switch (ตัวแปร)
{
case a1:
ประโยคคำสั่ง 1;
break;
case a2:
ประโยคคำสั่ง 2;
break;
case a3:
ประโยคคำสั่ง 3;
break;
default:
ประโยคคำสั่ง ;
}
ฟังก์ชัน switch จะทำการตรวจสอบเงื่อนไข case a1 ว่าถูกต้องตรงกับเงื่อนไขหรือไม่ ถ้าตรงตามเงื่อนไขจะทำงาน
ตามประโยคคำสั่งชุดที่ 1 ในกรณีที่ไม่ตรงกับ case a1 ก็จะทำการตรวจสอบเงื่อนไขไปจนถึง case สุดท้าย ถ้าไม่ตรงกับ
case ใดเลย โปรแกรมจะไปทำงานตามประโยคคำสั่งชุดที่ 4 ซึ่งเป็นประโยคคำสั่งที่อยู่หลัง default :
ตัวอย่างโปรแกรม การใช้ฟังก์ชัน switch ตรวจสอบเงื่อนไขของโปรแกรมบวก ลบ คูณ และหาร ตัวเลข 2 จำนวน
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main( )
{
int choice; /*ประกาศตัวแปร choice เป็นชนิดข้อมูลแบบ integer*/
float num1,num2; /*ประกาศตัวแปร num1,num2 เป็นชนิดเลขทศนิยม*/
printf(“Please Select Choice\n”);
printf(“1. Program Addition\n”); /*เมนูที่ 1 โปรแกรมบวก*/
printf(“2. Program Subtraction\n”); /*เมนูที่ 2 โปรแกรมลบ*/
printf(“3. Program Multifacation\n”); /*เมนูที่ 3 โปรแกรมคูณ*/
printf(“4. Program Division\n”); /*เมนูที่ 4 โปรแกรมหาร*/
printf(“0. Exit Program\n”); /*เมนูที่ 0 ออกจากโปรแกรม*/
scanf(“%d,&choice); /*รับข้อมูลเป็นเลขจำนวนเต็มแล้วนำไปเก็บในตัวแปร choice*/
switch(choice) /*ใช้ฟังก์ชัน swich ตรวจสอบเงื่อนไข*/
case 0:exit(0); /*ถ้าเป็น case 0 ให้ออกจากโปรแกรม*/
printf(“Enter number 1=”); /*แสดงข้อความให้ป้อนตัวเลขตัวที่ 1*/
printf(“%f,&num1); /*รับค่าตัวเลขแล้วนำไปเก็บในตัวแปร num1*/
printf(“Enter number 2=”); /*แสดงข้อความให้ป้อนตัวเลขตัวที่ 2*/
printf(“%f,&num2); /*รับค่าตัวเลขแล้วนำไปเก็บในตัวแปร num2*/
switch(choice)
{
case 1:printf(“%.2f+%.2f=%.2f\n”,num1,num2,num1+num2);break;
case 2:printf(“%.2f-%.2f=%.2f\n”,num1,num2,num1-num2);break;
case 3:printf(“%.2f*%.2f=%.2f\n”,num1,num2,num1*num2);break;
case 4:printf(“%.2f/%.2f=%.2f\n”,num1,num2,num1/num2);break;
default:printf(“Please select only program 1-4\n”);
}
getch();
}
การทำงานของโปรแกรม
เมื่อรันโปรแกรมเครื่องจะแสดงเมนูหลักของโปแกรม บวก ลบ คูณ และหาร พร้อมทั้งข้อความ Please Select Choice เพื่อให้เลือกรายการเมนู ให้ป้อนตัวเลข 1 เพื่อเลือกโปรแกรมบวก, 2 เลือกโปรแกรมลบ, 3 เลือกโปรแกรมคูณ, 4 เลือกโปรแกรมหาร ในกรณีที่เลือกหมายเลข 1,2,3 หรือ 4 โปรแกรมจะให้ป้อนตัวเลข 2 จำนวนเพื่อนำไปคำนวณ และถ้าเลือก 0 โปรแกรมจะใช้ฟังก์ชัน exit(0) ในการออกจากโปรแกรม แต่ถ้าเลือกหมายเลขที่ไม่ใช่ 0,1,2,3 และ4 จะแสดงข้อความ Please select only program 1-4 หมายความว่าให้เลือกเฉพาะหมายเลข 1-4 เท่านั้น
5.3 คำสั่ง while
คำสั่ง while เป็นคำสั่งที่ใช้ควบคุมการวนรอบของโปรแกรม โดยจะมีเงื่อนไข(Condition) เป็นตัวตรวจสอบว่าหากเงื่อนไขที่กำหนดไว้เป็นจริงก็จะทำงานตามคำสั่ง หรือชุดคำสั่งที่กำหนดไว้แล้วก็จะวนไปตรวจสอบเงื่อนไขที่กำหนดไว้อีกครั้ง หากเงื่อนไขยังคงเป็นจริงก็จะทำงานในรอบต่อไปอีก หากเป็นเท็จก็จะออกจากการวนรอบของ while เพื่อทำงานยังคำสั่งต่อไป


วิดีโอการสอน
