วันเสาร์ที่ 28 กรกฎาคม พ.ศ. 2555

Code ตัวอย่างโปรแกรม และหน้าตาโปรแกรมภาษาซี


Code ตัวอย่างโปรแกรม
และหน้าตาโปรแกรมภาษาซี
ตัวอย่างที่ แสดงตัวอย่างโปรแกรมภาษาซีเบื้องต้น
#include <stdio.h>
void main( ) {
/* Display message to standard output */
printf(“My first program.”);

ตัวอย่างที่ 2 แสดงตัวอย่างโปรแกรมภาษาซีเบื้องต้น
#include <stdio.h> void main( ) { /* Display message to standard output */ printf
(“My first program.”); }

ตัวอย่างที่ 3 แสดงตัวอย่างโปรแกรมภาษาซีเบื้องต้น
#include
<stdio.h>
void
main
()
{
/* Display message
to standard
output */
printf
(
My first program.”
)
;
}

ตัวอย่างที่ 4 แสดงตัวอย่างการใช้ค่าของตัวแปรชนิด char
#include <stdio.h>
void main( ) {
int no;
char ch;
ch = ‘J’;
printf(“char : %c, dec : %d, oct : %o, hex : %x”, ch, ch, ch, ch);
no = ch;
printf(“\nno : %d, ch : %c”, no, ch);
no = 68;
ch = no;
printf(“\nno : %d, ch : %c”, no, ch);
}
ผลการทำงานของโปรแกรม
char : J, dec : 74, oct : 112, hex : 4a
no : 74, ch : J
no : 68, ch : D

ตัวอย่างที่ 5 แสดงตัวอย่างการรับข้อมูลเพื่อนำมาแสดงผล
#include <stdio.h>
void main( ) {
char name[100];
printf("What is your name ?\n");
scanf("%s", name);
printf("Very glad to know you, ");
printf("%s.",name);
}
ผลลัพธ์ของการทำงาน
What is your name ?
Willy
Very glad to know you, Willy.

ตัวอย่างที่ 6 แสดงการกำหนดค่าจำนวนจริงให้กับตัวแปรจำนวนเต็ม
#include <stdio.h>
void main( ) {
int x;
x = 14.8328;
printf(“x value is %d”, x);
}
ผลการทำงานของโปรแกรม
x value is 14

ตัวอย่างที่ 7 โปรแกรมหาผลรวมของเลขจำนวนเต็ม 2 จำนวนที่รับข้อมูลจากผู้ใช้
#include <stdio.h>
void main( ) {
int x, y, z;
printf(“Enter X value : “);
scanf(“%d”, &x);
printf(“Enter Y value : “);
scanf(“%d”, &y);
z = x + y;
printf(“Summary of X and Y is %d”, z);
}
ผลการทำงานของโปรแกรม
Enter X value : 15
Enter Y value : 20
Summary of X and Y is 35

ตัวอย่างที่ 8 แสดงการใช้ตัวดำเนินการเพิ่มค่า
#include <stdio.h>
void main( ) {
int y, count;
count = 1;
y = count++;
printf(“y = %d, count = %d”, y, count);
count = 1;
y = ++count;
printf(“\ny = %d, count = %d”, y, count);
}
ผลการทำงานของโปรแกรม
y = 1, count = 2
y = 2, count = 2

ตัวอย่างที่ 9 แสดงการใช้ตัวดำเนินการเปลี่ยนชนิดข้อมูล
#include <stdio.h>
void main( ) {
int x;
x = 2.5 * 2;
printf(“x value is %d”, x);
x = (int)2.5 * 2;
printf(“\nx value is %d”, x);
x = (int)(2.5 * 2);
printf(“\nx value is %d”, x);
}
ผลการทำงานของโปรแกรม
x value is 5
x value is 4
x value is 5

ตัวอย่างที่ 10 แสดงของการเปรียบเทียบด้วยตัวกาํเนินการความสัมพันธ์
#include <stdio.h>
void main( ) {
int x, y
printf(“Enter X : “);
scanf(“%d”, &x);
printf(“Enter Y : “);
scanf(“%d”, &y);
printf(“X > Y is %d”, x>y);
}

ผลการทำงานของโปรแกรม
Enter X : 32
Enter Y : 24
X > Y is 1
____________________________________________________________

โปรแกรมแบบวนซ้ำ (คำสั่งประเภท For while do while)

โปรแกรมแบบวนซ้ำ
(คำสั่งประเภท For , while, do while)

คำสั่งควบคุมการทำงาน แบบ for               
คำสั่ง For เป็นคำสั่งควบคุมการทำงานและกำหนดการทำงานวนรอบคล้าย ๆ กับคำสั่ง while จะมีรูปแบบแตกต่างกับคำสั่งควบคุมการทำงานอืน ๆ
คำสั่ง for เป็นเป็นคำสั่งสั่งควบคุมการทำงานและกำหนดการทำงานวนรอบ โดยตั้งค่าก่อน แล้วจึงทำการพิจารณาเงื่อนไข ถ้าเงื่อนไขเป็นจริง ก็จะทำคำสั่งและวนรอบต่อไป
รูปแบบการเขียน คำสั่ง for
for (ค่าเริ่มต้น;เงื่อนไข;การเพิ่มหรือลดค่า)
ตัวอย่างการโปรแกรม
                     
ผลลัพธ์ของโปรแกรม

การเขียนโดยใช้คำสั่ง for จะเห็นได้ว่ามีความกระชับเขียนได้สั้นกว่าคำสั่ง while เพราะสามารถกำหนดได้ในครั้งเดียว แต่การทำงานก็จะได้ผลเหมือนกันกับคำสั่งwhile
ลักษณะการทำงานก็คือโปรแกรมจะทำการเช็คในส่วนของเงื่อนไข หากเงื่อนไขเป็นจริงก็จะเพิ่มค่าของตัวแปรไป 1 และทำคำสั่งในลูป
จากนั้นก็ทำการตรวจสอบเงื่อนไขอีก หากเงื่อนไขเป็นจริงก็จะทำงานซ้ำ ๆ แบบนี้ไปเรื่อย ๆ จนกว่าเงื่อนไขเป็นเท็จ การทำงานของโปรแกรมก็จะหลุดจากลูป และจบการทำงาน
___________________________________________________________
คำสั่งควบคุมการทำงาน แบบ While  
คำสั่ง While เป็นคำสั่งสำหรับใช้ควบคุมการทำงานแบบมีเงือนไข อีกแบบหนึ่ง ซึ่งแตกต่างออกไปจากการใช้งานคำสั่ง if และ elseif ก่อนหน้านี้ ซึ่งคำสั่ง While เป็นคำสั่งที่จำเป็นในการนำไปใช้เขียนโปรแกรม ลองเข้ามาดูค่ะ ว่ามีรูปแบบการเขียนและวิธีเขียนอย่างไร
คำสั่ง While เป็นคำสั่งสำหรับใช้ควบคุมการทำงานแบบมีเงือนไข ในการกำหนดคำสั่งให้มีการทำงานแบบวนรอบ โดยพิจารณาเงื่อนไขก่อน หากค่าที่ได้เป็นจริงตามเงื่อนไข จึงจะประมวลผลตามคำสั่งที่กำหนดไว้
รูปแบบการเขียน คำสั่ง While
While (...เงื่อนไข...) {คำสั่งที่ต้องการให้ทำงาน เมื่อเงื่อนไขเป็นจริง
ตัวอย่างการโปรแกรม

ผลลัพธ์ของโปรแกรม

การเขียนโดยใช้คำสั่ง for จะเห็นได้ว่ามีความกระชับเขียนได้สั้นกว่าคำสั่ง while เพราะสามารถกำหนดได้ในครั้งเดียว แต่การทำงานก็จะได้ผลเหมือนกันกับคำสั่ง while
ลักษณะการทำงานก็คือโปรแกรมจะทำการเช็คในส่วนของเงื่อนไข หากเงื่อนไขเป็นจริงก็จะเพิ่มค่าของตัวแปรไป 1 และทำคำสั่งในลูป
จากนั้นก็ทำการตรวจสอบเงื่อนไขอีก หากเงื่อนไขเป็นจริงก็จะทำงานซ้ำ ๆ แบบนี้ไปเรื่อย ๆ จนกว่าเงื่อนไขเป็นเท็จ การทำงานของโปรแกรมก็จะหลุดจากลูป และจบการทำงาน
___________________________________________________________
คำสั่งควบคุมการทำงาน แบบ Do...While             
คำสั่งนี้มีลักษณะการทำงานคล้ายกับคำสั่ง While แต่มีส่วนแตกต่างอยู่เล็ก ๆ น้อย ๆ ที่มี Do เพิ่มเข้ามานี่ดิ แล้วไอ้ Do นี่จะทำให้แตกต่างจาก While เดี่ยว ๆ
คำสั่ง do while เป็นคำสั่งที่กำหนดให้มีการทำงานวนรอบ คล้าย ๆ คำสั่ง While แต่แตกต่างกันที่คำสั่ง do while จะให้ทำคำสั่งในลูป do ก่อน แล้วค่อยพิจารณาเงื่อนไขใน while ถ้าค่าเงื่อนไขใน while เป็นจริง จึงจะวนรอบทำคำสั่งในลูป do ต่อไป
รูปแบบการใช้คำสั่ง do while
do {คำสั่ง} while (เงื่อนไข)
ตัวอย่างการโปรแกรม

ผลลัพธ์ของโปรแกรม

จากตัวอย่างการโปรแกรม เราได้ทำการเขียนโปรแกรม โดยสร้างตัวแปร $i แล้วให้มีค่าเท่ากับ 5 หลังจากนั้น ตรงนี้ละที่จะทำงานต่างจาก while เราะจะเจอกับคำสั่ง do เมื่อเจอคำสั่ง do โปรแกรมจะทำเลยทันที (do แปลว่าทำนี่น่า) ซึ่งก็คือแสดงผลค่าตัวแปร i คือ แสดงเลข 5 ออกมา และขึ้นบรรทัดใหม่ แล้วเมื่อเจอคำสั่ง $i-- จำกันได้ไหมเพิ่งผ่านไปในบทความที่แล้ว มีความหมายว่าลบค่า $i ไป 1 ดังนั้นตอนนี้ $i=4 แล้วนะ
จากนั้นโปรแกรมจะเจอคำสั่ง while ซึ่งจะทำการเช็คค่าในตัวแปร i คือ หากตัวแปร i มีค่ามากกว่าหรือเท่ากับ 1 โปรแกรมจะวนลูปทำคำสั่งในลูป do อีกครั้ง การทำงานก็เหมือนคำสั่ง while ก็คือเช็คจนเงื่อนไขเป็นเท็จจึงจะหลุดลูปและจบการทำงาน
คำถามคือ แล้วเมื่อไหร่ละจะหลุดลูป คำตอบก็คือเมื่อมันลดค่า $i ลงรอบละ 1 เรื่อย ๆ จนเมื่อ $i=0 ก็จะหลุดลูปและจบการทำงานค่ะ
ในการทำงานจริง ๆ การเขียนโดยใช้เงือนไขจำพวก while เราจะเอาไปใช้ประโยชน์ในการทำซ้ำ ๆ เช่น การดึงขอมูลจากดาต้าเบสมาแสดง การวนรอบแสดงคำสั่งเซลล์ต่าง ๆ ของตารางเป็นต้น ซึ่งเราจะให้อะไรแสดงผลออกทางหน้าจอ เราก็เอาสิ่งเหล่านั้น มาใส่ไว้ในลูปที่ต้องการให้ทำงานค่ะ แล้วจะแสดงเท่าไหร่ ก็ขึ้นอยู่กับเงื่อนไขค่ะ
___________________________________________________________
เครดิต :
http://www.thainextstep.com/php/php_article.php?articlecat=3&articleid=53
http://www.thainextstep.com/php/php_article.php?articlecat=3&articleid=50
http://www.thainextstep.com/php/php_article.php?articlecat=3&articleid=52

วันศุกร์ที่ 27 กรกฎาคม พ.ศ. 2555

การเลือกทำงานตามเงื่อนไข (คำสั่ง IF ELSE SWITCH)

การเลือกทำงานตามเงื่อนไข
(คำสั่ง IF ELSE SWITCH)
รูปแบบการใช้คำสั่งควบคุมทิศทาง
          คำสั่งควบคุมทิศทางการทำงานของโปรแกรม  จะใช้ในกรณีที่เราพบโจทย์ปัญหาในลักษณะที่มีทางเลือก  หรือมีเงื่อนไขในการเลือกทำงาน  ยกตัวอย่างเช่น ถ้าสถานการณ์เป็น  ก  ให้ทำงานอย่างหนึ่ง  ส่วนถ้าสถานการณ์เป็น ข ให้ทำงานอีกอย่างหนึ่งแทน  หรือถ้าตัวเลขที่รับเข้ามาเป็นจำนวนคี่  ให้คูณจำนวนนั้นด้วย 2  แต้าถ้าตัวเลขที่รับเข้ามาเป็นจำนวนคู่  ให้เปลี่ยนเป็นหารจำนวนนั้นด้วย 2 เป็นต้น
____________________________________________________
คำสั่งควบคุม (Control Statement)
          คำสั่งควบคุมเป็นคำสั่งที่สำคัญในการเขียนโปรแกรม คือ ช่วยควบคุมทิศทางการทำงานของโปรแกรมให้เป็นไปตามที่ต้องการ  โดยแบ่งออกเป็น  2  ประเภท  คือ  คำสั่งเงื่อนไข (Condition Sratement) ได้แก่ if,if-else , switch-case  และคำสั่งทำซ้ำ (Iteration Statement) ได้แก่ for,while,do-while   
____________________________________________________
คำสั่ง if
        คำสั่ง if  จะใช้ในกรณีที่มีทางเลือกให้ทำงานอยู่เพียงทางเลือกเดียว  โดยถ้าตรวจสอบเงื่อนไขแล้วเป็นจริง  จึงจะทำงานตามคำสั่ง
รูปแบบคำสั่ง if
if  (เงื่อนไข )
   {
     คำสั่งที่ 1;
   }
คำสั่งที่ 2;


หากเงื่อนไขที่กำหนดเป็นจริงแล้ว  คำสั่งต่าง ๆ ที่อยู่ภายในบล๊อคของเงื่อนไข if ก็จะได้รับการประมวลผล (ซึ่งมากกว่า 1 คำสั่ง)  แต่ถ้าตรวจสอบแล้วพบว่า  เงื่อนไขเป็นเท็จ  คำสั่งที่อยู่ภายในบล๊อคของเงื่อนไข  if ก็จะไม่ได้รับการประมวลผล คือ จะข้ามไปทำการประมวลผลคำสั่งที่อยู่ถัดจากบล๊อคของ if ทันที
โฟลวชาร์ตแสดงการทำงานของคำสั่งเงื่อนไข if

ตัวอย่างที่  1  โปรแกรมแสดงการทำงานของคำสังเงื่อนไข if
1 :
#include <stdio.h>
2 :
#include <conio.h>
3 :
void main()
4 :
}
5 :
   clrscr();
6 :
   int age;
7 :
   printf("How old are you = ");
8 :
   scanf ("%d",&age);
9 :
   if(age<18)
10 :
           printf(" Your are young\n");
11 :
   printf("You are %d years old");
12 :
getch();
13 :
{


ผลลัพธ์ของโปรแกรม

ผลการรันครั้งที่ 1
How old are you = 15
Your are young
You are 15 years old

ผลการรันครั้งที่ 2
How old are you = 18
You are 18 years old

อธิบายโปรแกรม
          โปรแกรมทำการตรวจสอบเงื่อนไขว่า  หากอายุน้อยกว่า  18 ปี  ให้พิมพ์คำข้อความ Your are young ซึ่งสังเกตโปรแกรมบรรทัดที่ 9 เท่านั้นที่เป็นคำสั่งภายในบล๊อคของคำสั่ง if  ส่วนบรรทัดที่  10  เป็นคำสั่งนอกบล๊อคของ if ดังจะเห็นได้จากผลลัพธ์ที่แสดง
          >> หากเงื่อนไขที่ตรวจสอบเป็นจริง  ข้อความในบรรทัดที่  9  จะถูกพิมพ์  หลังจากนั้นก้จะทำคำสั่งที่อยู่นอกเงื่อนไข if ต่อไป  คือพิมพ์ข้อความในบรรทัดที่  10         
          >> แต่หากเงื่อนไขที่ตรวจสอบเป็นเท็จ  ข้อความในบรรทัดที่  9  ที่เป็นคำสั่งในส่วนของเงื่อนไข if ก็จะไม่ถูกประมวลผล  แต่จะข้ามการทำงานไปประมวลผลในบรรทัดที่ 10 เลย
ตัวอย่างที่  2  โปรแกรมแสดงการทำงานของคำสังเงื่อนไข if
1 :
#include<stdio.h>
2 :
#include<conio.h>
3 :
void main()
4 :
{
5 :
clrscr();
6 :
int age;
7 :
printf("How old are you : ");
8 :
scanf ("%d",&age);
9 :
if(age<18) {
10 :
printf("Your age less than 18 years old\n");
11 :
printf("You are young\n");
12 :
}
13 :
printf("You are %d years old",age);
14 :
getch();
15 :
}
ผลลัพธ์ของโปรแกรม
ผลการรันครั้งที่ 1
How old are you : 15
Your age less than 18 years old
You are young
You are 15 years old

ผลการรันครั้งที่ 2
How old are you : 18
You are 18 years old

อธิบายโปรแกรม
          โปรแกรมที่  2  ต่างจากโปรแกรมที่ 1 ตรงที่มีการนำเครื่องหมาย { } มาใช้คลุมคำสั่งที่อยู่ภายในบล๊อคของเงื่อนไข if  มีคำสั่งที่ต้องทำงานเพียง 1 คำสั่งเหมือนโปรแกรมที่ 1 ก็ไม่จำเป็นต้องใน { } ให้กับบล๊อคของ if (แต่ถ้าจะใส่ก็ไม่ผิด) แต่สำหรับโปรแกรมที่ 2 เมื่อตรวจสอบว่าอายุน้อยกว่า 18 แล้ว  จะมี 2 คำสั่งที่ต้องทำ คือ บรรทัดที่ 9 และ 10 ดังนั้นต้องใส่ { } คลุมด้วย (เมื่อบรรทัดที่ 9 และ 10 เรียบร้อยแล้ว ก็จะไปทำงานในบรรทัดที่ 12 ต่อไป) และหากอายุมากกว่าหรือเท่ากับ 18 ก็จะข้ามการทำงานในบล๊อคของ if ไปทำบรรทัดที่ 12 ทันที
____________________________________________________
คำสั่ง  if-else 
          คำสั่ง  if-else  จะใช้ในกรณีที่มีทางเลือกให้ทำงาน  2  ทางเลือกขึ้นไป  โดยการทำงานของคำสั่ง if-else  จะเริ่มจากการตรวจสอบเงื่อนไข  หถ้าผลออกมาเป็นจริงจะทำงานตามคำสั่งที่อยู่หลัง if แต่ถ้าการตรวจสอบเงื่อนไผลออกมาเป็นเท็จ  ให้ทำงานตามคำสั่งที่อยู่หลัง else  แทน

รูปแบบคำสั่ง  if-else
if (เงื่อนไข)
  {
    คำสั่งที่ 1;
  }
else
  {
    คำสั่งที่ 2;
  }
  คำสั่งที่ 3;


เป็นคำสั่งที่ช่วยให้การตรวจสอบเงื่อนไขสมบูรณ์ขึ้น  โดยหากตรวจสอบเงื่อนไขของคำสั่ง if แล้วเป็นเท็จ  ก็จะเข้ามาทำงานภายบล๊อกของคำสั่ง else แทน  กล่าวคือ  หากตรวจสอบเงื่อนไขแล้วเป็นจริง  ก็จะประมวลผลคำสั่งในบล๊อกของ if  แต่หากเงื่อนไขและประมวลผลตามคำสั่งเงื่อนไข if-else เรียบร้อบแล้ว  ก็จะทำงานตามคำสั่งที่อยู่ถัดจาก if-else นั้นต่อไป

โฟลวชาร์ตแสดงการทำงานของคำสั่งเงื่อนไข if-else
ตัวอย่างโปรแกรมที่ 1
if (a % 2 = = 0)

printf ("Even number");
ถ้าค่าของ a หารด้วย 2 ลงตัว (เหลือเศา 0) ให้แสดงข้อความ Even number
else

printf("Odd number");
แต่ถ้าเงื่อนไขของ if เป็นเท็จ (a หารด้วย 2 ไม่ลงตัว) ให้แสดงข้อความ Odd number
ตัวอย่างโปรแกรมที่  2  โปรแกรมแสดงการรับข้อมูลเข้าทางแป้นพิมพ์  แล้วทำการตรวจสอบว่าถ้าค่าที่เรับเข้ามานั้นเท่ากับศูนย์  ให้พิพม์คำว่า "ZERO"  แต่ถ้าไม่เท่ากับศูนย์ให้พิมพ์คำว่า "NON-ZERO"
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr():
int i;
printf(" Enter your number = ");
scanf("%d",&i);
    if (i= = 0)
    {
      prinft("ZERO");
    }
  else
      printf("NON-ZERO");

}
____________________________________________________
switch-case Statement (cont.)
• expression ของ switch เป็นตัวแปรนิพจน์ที่ใช้เปรียบเทียบค่าว่าตรง
กับ constant ของ case ใด
ส่วนค าสั่ง break; จะเป็นค าสั่งให้ออกจากค าสั่ง switch ในกรณีที่ไม่
มีค าสั่ง break; โปรแกรมจะปฏิบัติเรียงตามล าดับตลอดทุกค าสั่งใน
ทุก case ที่อยู่ต่อกัน
ในกรณีที่ค่าของ expression ของ switch ไม่ตรง
กับ constant ของ case ใด โปรแกรมจะปฏิบัติตามค าสั่ง
ใน default
ในแต่ละ case อาจมีค าสั่งหลายค าสั่งไม่ต้องใช้เครื่องหมาย { } ล้อม
และที่case ต่าง ๆ และ default จะต้องมี: (colon) ต่อท้าย
ดังนี้case (constant) :  และ default :
Principle of Programming 20ตัวอย่าง
#include <stdio.h>
main() {
int color = 1;
printf("Please choose a color(1: red,2: green,3: blue):\n");
scanf("%d", &color);
switch (color) {
case 1:
printf("you chose red color\n");
break;
case 2:
printf("you chose green color\n");
break;
case 3:
printf("you chose blue color\n");
break;
default:
printf("you did not choose any color\n");
}
____________________________________________________
เครดิต:
http://158.108.103.7:12222/~boonchoo/images/stories/resources/pp254/4_condition.pdf