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

คำสั่งในภาษาซี
ฟังก์ชั่น printf()
ฟังก์ชั้นนี้เราได้ทดลองใช้อย่างง่ายๆ มาแล้ว โดยใช้สำหรับแสดงข้อความหรือตัวแปร
ฟังก์ชั่น printf() มีชื่อเต็มว่า print format เป็นฟังชั่นใช้พิมพ์ข้อความต่างๆออกทางจอภาพโดยมีรูปแบบดังนี้รูปแบบคำสั่ง printf
ตัวกำหนดชนิดข้อมูล%c แทนตัวอักษร%d แทนเลขจำนวนเต็ม%e แทนเลขในรูปเอกซ์โพเนนเชียล (exponential form)%f แทนเลขทศนิยม%0 แทนเลขฐานแปด%s แทนสตริงก์%u แทนเลขจำนวนเต็มไม่คิดเครื่องหมาย%x แทนเลขฐานสิบหก%p แทนข้อมูลแบบพอยน์เตอร์ (pointer)
สามารถดัดแปลงเพื่อใช้เป็นตัวกำหนดชนิดข้อมูลอื่นๆได้โดย โมดิฟายเออร์ (modifier) l,h และL โมดิฟายเออร์ l จะสามารถใช้กับตัวกำหนดชนิดข้อมูล %d, %o , %u และ %x เพื่อใช้กับข้อมูลชนิดยาวเช่น %ld หมายถึงข้อมูลชนิดเลขจำนวนเต็มยาวโมดิฟายเออร์ h จะใช้ในลักษณะเดียวกันกับข้อมูลชนิดสั้น เช่น %hd หมายถึง ข้อมูลชนิดเลขจำนวนเต็มสั้นสำหรับข้อมูลชนิดทศนิยมจะมีโมดิฟายเออร์ l และ L โดย l จะหมายถึงข้อมูลชนิดเลขจำนวนจริงละเอียด 2 เท่า ส่วน L จะหมายถึงข้อมูลชนิดเลขจำนวนจริงรายละเอียด 2 เท่า เช่น %lf หมายถึงข้อมูลชนิดเลขจำนวนจริงละเอียด 2 เท่า
ตัวอย่าง#include#includemain(){int x,y;x=5;y=6;printf("%d\n",x);printf("%c\n",x);printf("%d %d\n",x,y);printf("%d\n"125);printf("%c\n"125);printf("The total is $ %6.2f\n",12.5);printf("The total is $ %6.3f\n",12.5);}ฟังก์ชัน scanf()
ฟังก์ชั่นนี้จะตรงข้ามกับฟังก์ชั่น printf() โดยจะใช้อ่านค่าจากการกดป้นพิมพ์ที่อยู่ในรูปรหัส ASCII ไปเก็บในตัวแปรที่กำหนด และสามารถใช้เป็นรหัสควบคุมหรือ Control stringระบุชนิดของข้อมูลที่จะเก็บในตัวแปรได้
รูปแบบของคำสั่งนี้เป็นดังนี้
#include#includemain{int feet,inches;printf("Enter number of feet");scanf("%d",&feet);inches = feet*12;printf("%d inches ",inches);}
ฟังก์ชัน getchar()
getchar() รับข้อมูลตัวอักขระหนึ่งตัวเมื่อป้อนข้อมูลแล้วต้องกด รูปแบบของคำสั่งเป็นดังนี้
เมื่อโปรแกรมทำงานถึงคำสั่งนี้จะหยุดเพื่อให้ป้อนตัวอักษร 1 ตัว หลังจากนั้นกด Enter ตัวอักษรที่ป้อนจะถูกเก็บไว้ในตัวแปร ch ซึ่งเป็นชนิดตัวอักษรและเคอร์เซอร์จะขึ้นบรรทัดใหม่ ฟังก์ชัน getchar() กำหนดในไฟล์ stdio.h เช่นเดียวกับฟังก์ชัน scanf()
ตัวอย่าง
#include
#include
main()
{
int number1,number2;
printf("please input number1:");
scanf("%d",&number1:);
printf("please input number2:");
scanf("%d",&number2:);
printf("%d+%d=%d",number1,number2,number1+number2);
getchar();
getchar();
}
ฟังก์ชัน getche() และ getch()
รูปแบบของฟังก์ชั่น
ch = getche(); ch = getch();ฟังก์ชัน getche() จะรับตัวอักษร 1 ตัวที่ป้อนทางแป้นพิมพ์ และจะแสดงตัวอักษรบนจอภาพ เมื่อป้อนข้อมูลเสร็จไม่ต้องกด Enter และเคอร์เซอร์จะไม่ขึ้นบรรทัดใหม่ ฟังก์ชัน getch() จะคล้ายกับฟังก์ชัน getche() ต่างกันตรงที่จะไม่แสดงตัวอักษรขณะป้อนข้อมูล ฟังก์ชัน getche() และ getch() กำหนดในไฟล์ conio.h ดังนั้นจะต้องระบุไฟล์ดังกล่าวในโปรแกรม

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

ประวัติภาษาซี
ภาษาซีพัฒนาขึ้นมาในปี 1970 โดย Dennis Ritchie แห่ง Bell Telephone Labora-tories, Inc. (ปัจจุบันคือ AT&T Bell Laboratories) ซึ่งภาษาซีนั้นมีต้นกำเนิดมาจากภาษา 2 ภาษา คือ ภาษา BCPL และ ภาษา B ซึ่งต่างก็เป็นภาษาที่พัฒนาขึ้นมาใน Bell Laboratories เช่นกัน ภาษาซีนั้นถูกใช้งานอยู่เพียงใน Bell Laboratories จนกระทั่งปี 1978 Brian Kernighan และ Ritchieนั้นเป็นที่รู้จักกันในชื่อของ"K&R C"หลังจากที่ตีพิมพ์ข้อกำหนดของ K&R นักคอมพิวเตอร์มืออาชีพรู้สึกประทับใจกับคุณสมบัติที่น่าสนใจของภาษาซี และเริ่มส่งเสริมการใช้งานภาษาซีมากขึ้น ในกลางปี 1980 ภาษาซีก็กลายเป็นภาษาที่ได้รับความนิยมโดยทั่วไป มีการพัฒนาตัวแปลโปรแกรม และตัวแปลคำสั่งภาษาซีจำนวนมากสำหรับคอมพิวเตอร์ทุกขนาด และภาษาซีก็ถูกนำมาไปใช้สำหรับพัฒนาโปรแกรมเชิงพาณิชย์เป็นจำนวนมาก ยิ่งไปกว่านั้นโปรแกรมเชิงพาณิชย์ที่เคยพัฒนาขึ้นมาโดยใช้ภาษาอื่น ก็ถูกเขียนขึ้นใหม่โดยใช้ภาษาซี เนื่องจากความต้องการใช้ความได้เปรียบทางด้านประสิทธิภาพ และความสามารถในการเคลื่อนย้ายได้ของภาษาซีตัวแปลโปรแกรมภาษาซีที่ได้รับการพัฒนาขึ้นมาในเชิงพาณิชย์นั้น จะมีความแตกต่างกับข้อกำหนดของ Kernighan และ Ritchie อยู่บ้าง จากจุดนี้เองทำให้เกิดความไม่เข้ากันระหว่างตัวแปลโปรแกรมภาษาซีซึ่งก็ทำให้สูญเสียคุณสมบัติการเคลื่อนย้ายได้ซึ่งเป็นคุณสมบัติที่สำคัญของภาษา ดังนั้นสถาบันมาตรฐานแห่งชาติอเมริกัน (American National Standard Institute) หรือ แอนซี (ANSI) จึงเริ่มจัดทำมาตรฐานของภาษาซีขึ้น (ANSI committee X3J11X ซึ่งกำลังอยู่ในช่วงการดำเนินงาน