วันอังคารที่ 21 กรกฎาคม พ.ศ. 2552

คำสั่งเบื้องต้นของภาษาc

1.ฟังก์ชั่น printf()
รูปแบบ
เป็นฟังก์ชันหนึ่งที่เก็บไว้ในไฟล์ stdio.h ใช้สำหรับแสดงผลข้อมูล เนื่องจาก Turbo C ไม่มีฟังก์ชันเฉพาะในการแสดงผลข้อมูล จึงจำเป็นต้องเรียกใช้ฟังก์ชันที่อยู่ใน Library ออกมาใช้งาน ดังนั้นจึงอาจกล่าวได้ว่า ฟังก์ชัน printf() เป็นโปรแกรมย่อยสำหรับการพิมพ์ข้อมูล ตัวแปร นิพจน์ หรือ ข้อความต่าง ๆ ที่กำหนดไว้ในพารามิเตอร์ภายในวงเล็บ ( ) ออกทางจอภาพ
ตัวอย่าง printf()
เป็นสตริงที่มีข้อความและรูปแบบของการพิมพ์โดยอยู่ในเครื่องหมาย " " แบ่งออกเป็น 2 ส่วน คือ
1. ข้อความที่จะพิมพ์เพื่อแสดงให้ทราบ เช่น printf("Hello");
2. รูปแบบการพิมพ์หรือแสดงผล โดยมีเครื่องหมาย % หรือ \ กำกับไว้หน้าตัวอัขระ เช่น printf("You are %d years old. \n",age);

2.ฟังก์ชัน scanf()
รูปแบบ
เมื่อโปรแกรมทำงานถึงฟังก์ชันนี้จะหยุดเพื่อให้ป้อนข้อมูล โดยข้อมูลที่ป้อนจะแสดงบนจอภาพ เมื่อป้อนข้อมูลเสร็จกด Enter ข้อมูลทั้งหมดจะเก็บในตัวแปร var ชนิดของข้อมูลที่กำหนดให้กับตัวแปร var จะถูกกำหนดโดยตัวกำหนดชนิดข้อมูลซึ่งระบุในส่วนของ format code ตัวกำหนดชนิดข้อมูลของฟังก์ชัน scanf() จะเหมือนกับของฟังก์ชันprintf() ฟังก์ชัน scanf() จะทำให้เคอร์เซอร์ ขึ้นบรรทัดใหม่หลังจากกด Enter
ฟังก์ชัน getchar()
รหัสรูปแบบ ชนิดตัวแปร ลักษณะการแสดงผลออกจอภาพ
%d int ใช้แสดงข้อมูลที่เป็นเลขจำนวนเต็มฐานสิบ
%ld long int ใช้แสดงข้อมูลที่เป็นเลขจำนวนเต็มฐานสิบแบบ long
%u unsigned int ใช้แสดงข้อมูลที่เป็นเลขจำนวนเต็มฐานสิบแบบ unsigned
%c char ใช้แสดงข้อมูลที่เป็นตัวอักษร
%s string ใช้แสดงข้อมูลที่เป็นตัวแปรสตริงหรือชุดตัวอักษร
%o int (octal) ใช้แสดงข้อมูลที่เป็นเลขฐานแปด
%x int (hexa) ใช้แสดงข้อมูลที่เป็นเลขฐานสิบหก
%f float ใช้แสดงข้อมูลที่เป็นเลขทศนิยม ที่ไม่มีเลขยกกำลัง
%e float, double ใช้แสดงข้อมูลที่เป็นเลขทศนิยม ที่มีเลขชี้กำลัง
%lf double ใช้แสดงข้อมูลที่เป็นเลขทศนิยมแบบ double
ตัวอย่าง scanf ()
โปรแกรมแสดงการใช้ฟังก์ชัน scanf () และใช้รูปแบบ %dในการรับข้อมูลจากแป้นพิมพ์2 จำนวน
#include
main()
{
int x1, x2 ;
scanf("%d %d",&x1,&x2);
}

เมื่อเครื่องทำฟังก์ชัน scanf() เครื่องจะรอรับค่า 2 ค่าที่เป็นจำนวนเต็มจากแป้นพิมพ์แล้วเก็บลงตัวแปร x1 และ x2 การป้อนข้อมูลจะต้องเป็นชนิดข้อมูลที่สอดคล้องกลับรูปแบบ และต้องมีการเว้นระยะระหว่าง รูปแบบให้สอดคล้องกับส่วนควบคุมด้วย ข้อมูลที่ป้อนจะต้องมีช่องว่าง 1 ช่องระหว่างเลข 2 จำนวนเพื่อให้ สอดคล้องกับที่ได้กำหนดไว้ในส่วนควบคุม ดังเช่น 123 145
และถ้าส่วนควบคุมมีคอมม่าคั่นระหว่างรูปแบบ เช่น
scanf ("%d,%d",&x1,&x2); การป้อนข้อมูลก็จะต้องมีคอมม่าคั่นระหว่างเลข 2 จำนวน ดังเช่น 123,145


3.ฟังก์ชัน getchar()
ใช้สำหรับป้อนตัวอักษรผ่านทางแป้นพิมพ์โดยจะรับตัวอักษรเพียง 1 ตัวเท่านั้น และแสดงตัวอักษรบนจอภาพรูปแบบ ch = getchar(); เมื่อโปรแกรมทำงานถึงคำสั่งนี้จะหยุดเพื่อให้ป้อนตัวอักษร 1 ตัว หลังจากนั้นกด Enter ตัวอักษรที่ป้อนจะถูกเก็บไว้ในตัวแปร ch ซึ่งเป็นชนิดตัวอักษรและเคอร์เซอร์จะขึ้นบรรทัดใหม่ ฟังก์ชัน getchar()กำหนดในไฟล์ stdio.h เช่นเดียวกับฟังก์ชัน scanf()
ฟังก์ชัน getchar() ใช้สำหรับป้อนตัวอักษรผ่านทางแป้นพิมพ์โดยจะรับตัวอักษรเพียง 1 ตัวเท่านั้น และแสดงตัวอักษรบนจอภาพ
รูปแบบ

กำหนดในไฟล์ stdio.h เช่นเดียวกับฟังก์ชัน scanf()

ตัวอย่างฟังก์ชัน getchar()
#include
#include
main()
{
clrscr()
int itsaret
printf("itsaret);
getchar();
getchar();
}

4.ฟังก์ชัน getche() และ getch()
รูปแบบ


ฟังก์ชัน getche() จะรับตัวอักษร 1 ตัวที่ป้อนทางแป้นพิมพ์ และจะแสดงตัวอักษรบนจอภาพ เมื่อป้อนข้อมูลเสร็จไม่ต้องกด Enter และเคอร์เซอร์จะไม่ขึ้นบรรทัดใหม่ ฟังก์ชัน getch() จะคล้ายกับฟังก์ชัน getche() ต่างกันตรงที่จะไม่แสดงตัวอักษรขณะป้อนข้อมูล ฟังก์ชัน getche() และ getch() กำหนดในไฟล์ conio.h ดังนั้นจะต้องระบุไฟล์ดังกล่าวในโปรแกรม
ตัวอย่างฟังก์ชัน eetche() และgetch()
#include
#include
main()
{
clrscr()
int itsaret
printf("itsaret);
getch();
}

5.ฟังก์ชัน gets
ฟังก์ชัน gets() ใช้สำหรับข้อมูลชนิดสตริงก์หรือข้อความซึ่งป้อนทางแป้นพิมพ์
รูปแบบ


เมื่อโปรแกรมทำงานถึงคำสั่งนี้จะหยุดเพื่อให้ป้อนข้อความ เมื่อป้อนเสร็จแล้วกด Enter ข้อความ ทั้งหมดจะถูกเก็บไว้ในอาร์เรย์สตริงก์ str โดย carriage return (จากการกด Enter) จะแทนด้วยสตริงก์ศูนย์ ฟังก์ชัน gets() จะทำให้เคอร์เซอร์ขึ้นบรรทัดใหม่ หลังจากกด Enter กำหนดในไฟล์ stdio.h
ตัวอย่างฟังก์ชัน gets
char ตัวแปร[จำนวนตัวอักษร];
get(ตัวแปร);

วันพุธที่ 8 กรกฎาคม พ.ศ. 2552

ประวัติภาษาซี

ประวัติภาษาซี

ภาษาซีเป็นภาษาที่ถือว่าเป็นทั้งภาษาระดับสูงและระดับต่ำ ถูกพัฒนาโดยเดนนิส ริดชี (Dennis ritche) แห่งห้องทดลองเบลล์ (Bell laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซี่ โดยเดนนิสได้ใช้หลักการของภาษาบีซีพีแอล (BCPL : Basic Combine Programming Language) ซึ่งพัฒนาขึ้นโดยเคน ทอมสัน (Ken tomson) การออกแบบและพัฒนาภาษาซีของเดนนิส ริดชี มีจุดมุ่งหมายให้เป็นภาษาสำหรับใช้เขียนโปรแกรมปฏิบัติการระบบยูนิกซ์ และได้ตั้งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็นตัวอักษรต่อจากบี (B) ของภาษา BCPL ภาษาซีถือว่าเป็นภาษาระดับสูงและภาษาระดับต่ำ ทั้งนี้เพราะ ภาษาซีมีวิธีใช้ข้อมูลและมีโครงสร้างการควบคุมการทำงานของโปรแกรมเป็นอย่างเดียวกับภาษาของโปรแกรมระดับสูงอื่นๆ จึงถือว่าเป็นภาษาระดับสูง ในด้านที่ถือว่าภาษาซีเป็นภาษาระดับต่ำ เพราะภาษาซีมีวิธีการเข้าถึงในระดับต่ำที่สุดของฮาร์ดแวร์ ความสามารถทั้งสองด้านของภาษานี้เป็นสิ่งที่เกื้อหนุนซึ่งกันและกัน ความสามารถระดับต่ำทำให้ภาษาซีสามารถใช้เฉพาะเครื่องได้ และความสามารถระดับสูง ทำให้ภาษาซีเป็นอิสระจากฮาร์ดแวร์ ภาษาซีสามารถสร้างรหัสภาษาเครื่องซึ่งตรงกับชนิดของข้อมูลนั้นได้เอง ทำให้โปรแกรมที่เขียนด้วยภาษาซีที่เขียนบนเครื่องหนึ่ง สามารถนำไปใช้กับอีกเครื่องหนึ่งได้ ประกอบกับการใช้พอยน์เตอร์ในภาษาซี นับได้ว่าเป็นตัวอย่างที่ดีของการเป็นอิสระจากฮาร์ดแวร

ภาษาซีเป็นภาษาที่มีลักษณะเด่นพอสรุปได้ดังนี้
- เป็นภาษาคอมพิวเตอร์ที่มีการพัฒนาขึ้นใช้งานเพื่อเป็นภาษามาตรฐานที่ไม่ขึ้นกับโปรแกรมจัดระบบงานและไม่ขึ้นกับฮาร์ดแวร์
- เป็นภาษาคอมพิวเตอร์ที่อาศัยหลักการที่เรียกว่า "โปรแกรมโครงสร้าง" จึงเป็นภาษาที่เหมาะกับการพัฒนาโปรแกรมระบบ
- เป็นคอมไพเลอร์ที่มีประสิทธิภาพสูง ให้รหัสออบเจ็กต์สั้น ทำงานได้รวดเร็ว เหมาะกับงานที่ต้องการ ความรวดเร็วเป็นสำคัญ
- มีความคล่องตัวคล้ายภาษาแอสแซมบลี ภาษาซีสามารถเขียนแทนภาษาแอสแซมบลีได้ดี ค้นหาที่ผิดหรือ แก้โปรแกรมได้ง่าย ภาษาซีจึงเป็นภาษาระดับสูงที่ทำงานเหมือนภาษาระดับต่ำ
- มีความคล่องตัวที่จะประยุกต์เข้ากับงานต่างๆ ได้เป็นอย่างดี การพัฒนาโปรแกรม เช่น เวิร์ดโพรเซสซิ่ง สเปรดชีต ดาตาเบส ฯลฯ มักใช้ภาษาซีเป็นภาษาสำหรับการพัฒนา
- เป็นภาษาที่มีอยู่บนเกือบทุกโปรแกรมจัดระบบงาน มีในเครื่องไมโครคอมพิวเตอร์ตั้งแต่ 8 บิต ไปจนถึง 32 บิต เครื่องมินิคอมพิวเตอร์ และเมนเฟรม
- เป็นภาษาที่รวมข้อดีเด่นในเรื่องการพัฒนา จนทำให้ป็นภาษาที่มีผู้สนใจมากมายที่จะเรียนรู้หลักการของภาษา และวิธีการเขียนโปรแกรม ตลอดจนการพัฒนางานบนภาษานี้