ตอนที่1 - kruchada

Download Report

Transcript ตอนที่1 - kruchada

เรื่อง คำสั่ งควบคุม ตอนที่ 1
(คำสั่ งเพือ่ กำหนดเงือ่ นไข)
จัดทำโดย
นางสาวชาดา ศักดิ์บญ
ุ ญารัตน์
http://kruchada.wikispaces.com/




1. คำสั่ง if แบบมีทำงเลือกเดียว
2. คำสั่ง if แบบมีสองทำงเลือก
3. คำสั่ง if แบบมีหลำยทำงเลือก
4. คำสั่ง switch
2
รูปแบบของคำสัง่
if (เงื่อนไข)
คำสัง่ ที่ต้องทำ ถ้ ำเงื่อนไขนันเป็
้ นจริ ง;
ตัวอย่ำงเช่น
if (score >= 80)
grade = ‘A’; /* simple statement */
หรื อ
if (math >= 60 && eng >= 55)
{ grade = ‘S’; /* compound statement */
printf(“Your grade is %c\n”,grade);
}
เท็จ
เงื่อนไข
จริ ง
คำสัง่ ต่ำง ๆ
ตัวอย่ ำง 3_1 เขียนโปรแกรมเพื่อให้ ผ้ ใู ช้ คาดเดาตัวอักษรที่โปรแกรมได้ ตัง้ ไว้ ถ้ าผู้ใช้
ป้อนข้ อมูลตัวอักษร ตรงกับตัวอักษรที่โปรแกรมตังไว้
้ จะขึ ้นคาว่า “Bingo”
#include <stdio.h>
#define ANS 'G'
int main( )
ผลกำรทำงำนของโปรแกรม
{
Enter character (a-z/A-z) : G
char ch;
Bingo
printf("Enter character (a-z/A-Z) : ");
scanf("%c", &ch);
if (ch == ANS)
printf("Bingo");
}
รูปแบบของคำสัง่
if (คำสัง่ หรื อนิพจน์เงื่อนไข)
คำสัง่ ที่ต้องทำเมื่อเงื่อนไขนันเป็
้ นจริง
else คำสัง่ ที่ต้องทำเมื่อเงื่อนไขนันไม่
้ เป็ นจริง
ตัวอย่ำงเช่น
if (value1 > value2)
min = value2;
else
min = value1;
เท็จ
คำสัง่ ต่ำง ๆ (ชุด B )
เงื่อนไข
จริ ง
คำสัง่ ต่ำง ๆ (ชุด A)
ตัวอย่ ำง 3_2 เขียนโปรแกรมเพื่อตรวจสอบความสูงของนักเรี ยน 2 คน โดยรับข้ อมูลความสูงของ
นักเรี ยน ทังสองมาหาว่
้
าความสูงมากที่สดุ คือค่าใด
#include <stdio.h>
int main( ) {
float height1, height2, max;
ผลกำรทำงำนของโปรแกรม
printf("Enter first student’s height (cm.) : "); Enter first student’s height (cm.) : 184.5
scanf("%f", &height1);
Enter second student’s height (cm.) : 192.4
printf("Enter second student’s height (cm.) : "); Maximum height is : 192.40 cm.
scanf("%f", &height2);
if (height1 > height2)
max = height1;
else
max = height2;
printf("Maximum height is : %.2f cm.", max);
}
รู ปแบบของคำสั่ง if – else if
if (expression)
{
statement A1;
}
else if (expression2)
{
statement B1;
}
else
{
statement n;
}
จริง
คำสั่งที่ 1
เงื่อนไขที่ 1
จริง
คำสั่งที่ 2
เท็จ
เงื่อนไขที่ 2
เท็จ
คำสั่งที่ 3
ตัวอย่ ำง 3_3 เขียนโปรแกรมเพื่อรับข้อมูลคะแนนสอบของนักศึกษำ และ
ให้พิมพ์เกรดที่นกั ศึกษำได้ รับจำกเงื่อนไขกำรให้ลำดับขั้นดังนี้
คะแนนต่ำกว่ำ 50 ได้เกรด F
คะแนนต่ำกว่ำ 60 ได้เกรด D
คะแนนต่ำกว่ำ 70 ได้เกรด C
คะแนนต่ำกว่ำ 85 ได้เกรด B
คะแนนตั้งแต่ 85 ขึ้นไปได้เกรด A
#include <stdio.h>
int main( ) {
float score;
printf("Enter score : ");
scanf("%f", &score);
if (score < 50)
printf("Grade F");
else if (score < 60)
printf("Grade D");
else if (score < 70)
printf("Grade C");
else if (score < 85)
printf("Grade B");
else
printf("Grade A");
}
ผลกำรทำงำนของโปรแกรม
Enter sore: 75
Grade B
รูปแบบคำสัง่
switch (นิพจน์)
{
case label1 : statement1;
case label2 : statement2;
case label3 : statement3;
……………..
default
: statementn;
}
switch(var)
Case value1
Case value2
Case value3
….
default
#include <stdio.h>
int main( ) {
char ch;
printf(“Enter number 1-4 : “);
scanf(“%c”, &ch);
switch (ch)
{
case ‘1’ :
printf(“Red\n”);
case ‘2’ :
printf(“Blue\n”);
case ‘3’ :
printf(“Yellow\n”);
default :
printf(“White\n”);
}
}
ผลกำรทำงำนของโปรแกรม
Enter number: 2
Blue
Yellow
White
switch (ch)
{
case ‘1’ : printf(“Red\n”);
break;
case ‘2’ : printf(“Blue\n”);
break;
case ‘3’ : printf(“Yellow\n”);
break;
default : printf(“White\n”);
}
ผลกำรทำงำนของโปรแกรม
Enter number: 2
Blue
1. จงเขียนโปรแกรมรับข้อมูลอำยุ (age) จำกแป้ นพิมพ์ ถ้ำผูใ้ ช้กรอก
อำยุไม่เกิน 18 ให้แสดง ข้อควำม “You are young”
2. จงเขียนโปรแกรมรับข้อมูลเลขจำนวนเต็ม (num) จำกแป้ นพิมพ์ แล้ว
แสดงผลลัพธ์ทำงจอภำพว่ำจำนวนนั้นเป็ นเลขคู่ หรื อเลขคี่
3.จงเขียนโปรแกรมคำนวณหำค่ำผ่ำนทำงด่วน โดยกำหนดให้คิดค่ำ
บริ กำรตำมจำนวนล้อของรถ โดยใช้คำสัง่ Switch-case
ประเภทของรถ
รถ 4 ล้อ
รถ 6 ล้อ
รถ 8 ล้อ
รถ 10 ล้อ
ค่ำผ่ำนทำง
20
30
40
50
2. จงเขียนโปรแกรมรับข้อมูลเลขจำนวนเต็ม (num) จำกแป้ นพิมพ์ แล้ว
แสดงผลลัพธ์ทำงจอภำพว่ำจำนวนนั้นเป็ นเลขคู่ หรื อเลขคี่
3. จงเขียนโปรแกรมรับข้อมูลชื่อ (name) คะแนน 1 (score1 ช่วงคะแนน
0-25) คะแนน 2 (score2 ช่วงคะแนน 0-25) คะแนน 3 (score3 ช่วง
คะแนน 0-25) คะแนน 4 (score4 ช่วงคะแนน 0-25) แล้วนำคะแนน
มำรวมเพื่อตัดเกรดตำมเกณฑ์ดงั ต่อไปนี้
0 – 49 ได้เกรด F
50 – 79 ได้เกรด P
80 – 100 ได้เกรด G
4. จงเขียนโปรแกรมรับข้อมูลเลขจำนวนเต็ม (num) จำกแป้ นพิมพ์ โดย
ตัวเลขที่ผจู ้ ะกรอกได้คือ 1 , 2 , 3, 4 และ 10 เท่ำนั้น ถ้ำกรอกข้อมูล
อย่ำงอื่นให้แสดงข้อควำม “Enter your number 1 , 2 , 3 , 4 , 10” พร้อม
ทั้งหยุดโชว์ขอ้ ควำมจนกว่ำจะกดแป้ น Spacebar แล้วจึงกลับไปให้ผใู ้ ช้
กรอกใหม่
5. จงเขียนโปรแกรมให้แสดงว่ำตัวเลขในช่วง 1-100 จำนวนใดบ้ำงที่หำร
ด้วย 7 ลงตัว
8. จงเขียนโปรแกรมคำนวณหำค่ำผ่ำนทำงด่วน โดยกำหนดให้คิดค่ำ
บริ กำรตำมจำนวนล้อของรถ โดยใช้คำสัง่ Switch-case
ประเภทของรถ
รถ 4 ล้อ
รถ 6 ล้อ
รถ 8 ล้อ
รถ 10 ล้อ
ค่ ำผ่ ำนทำง
20
30
40
50