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

คำสั่งภาษาซี 5 คำสั่ง

ฟังก์ชันรับข้อมูล scanf()
ความหมายเป็นฟังก์ชันที่รับค่าจากอุปกรณ์นำเข้ามาตรฐาน และนำค่าที่ได้เก็บไว้ในตัวแปรในโปรแกรม ฟังก์ชันรับข้อมูลโดยกำหนดรูปแบบ ฟังก์ชันรับข้อมูลโดยกำหนดรูปแบบนั้นได้แก่ ฟังก์ชัน scanf() ฟังก์ชัน scanf() เป็นฟังก์ชันที่รับข้อมูลจากแป้นพิมพ์เข้ามาเก็บไว้ในตัวแปร โดยตัวแปรเหล่านี้ต้องเป็นพอยน์เตอร์ที่ชี้ไปยังข้อมูล ที่มีชนิดสอดคล้องกับรูปแบบการรับข้อมูลที่ได้กำหนดไว้ในฟังก์ชัน scanf() การรับข้อมูลของฟังก์ชัน scanf () นี้เป็นการอ่านจากอินพุตบัฟเฟอร์ (Input buffer) ซึ่งต้องเคาะปุ่ม Enter เพื่อบอกการสิ้นสุดของข้อมูล และค่าที่ส่งกลับมายังฟังก์ชัน scanf () จะมีค่าเท่ากับจำนวนข้อมูลที่ฟังก์ชันนี้รับได้ การรับข้อมูลจะต้องใช้เครื่องหมาย & นำหน้าตัวแปร ยกเว้นตัวแปรที่เป็นตำแหน่งที่อยู่ เช่น ตัวแปรสตริง หรือตัวแปรชุด ฟังก์ชัน scanf () นี้ถูกนิยามในแฟ้ม stdio.h มีรูปแบบดังนี้รูปแบบคำสั่ง
รูปแบบ scanf (control,argument-list) ;
argument-list
หมายถึง ตำแหน่งที่อยู่ของตัวแปรที่จะรับค่าจากแป้นพิมพ์ ถ้ามีมากกว่า 1 ค่าจะต้องแยกด้วยเครื่องหมายคอมม่า ( , )
control
หมายถึง รูปแบบที่ใช้ในการรับข้อมูล ซึ่งจะต้องเขียนภายใต้เครื่องหมายคำพูด (" ") และมีรูปแบบชนิดข้อมูลที่รับ โดยใช้สัญลักษณ์ดังตารางที่5.2 และแต่ละสัญลักษณ์จะต้องมีเครื่องหมาย % นำหน้า
รูปแบบการพิมพ์
เครื่องหมาย
ความหมาย
%d
พิมพ์ด้วยตัวเลขฐานสิบ
%f
พิมพ์ตัวเลขมีจุดทศนิยม
%c
พิมพ์ด้วยตัวอักษรตัวเดียว
%s
พิมพ์ด้วยข้อความ
%u
พิมพ์ด้วยตัวเลขไม่คิดเครื่องหมาย
ตัวอย่างคำสั่งscanf ("LKS isLumpang %s School",name);อธิบายตัวอย่างคำสั่งคำสั่ง scanf จะรับค่าจากแป้นพิมพ์ โดยค่าที่ได้จะเก็บไว้ในตัวแปร nameสังเกตว่าจะไม่มีผลลัพธ์ปรากฏบนจอภาพ เนื่องจากฟังก์ชัน scanf เป็นเพียงเก็บค่าไว้ในตัวแปรเท่านั้นและจะนำตัวแปร name ไปใช้งานอย่างไรนั้น ขึ้นอยู่กับนักเขียนโปรแกรมอีกที 1

2.ฟังก์ชัน scanf()
ฟังก์ชัน scanf() มีรูปแบบดังนี้
scanf(“format code”, &var);
เมื่อโปรแกรมทำงานถึงฟังก์ชันนี้จะหยุดเพื่อให้ป้อนข้อมูล โดยข้อมูลที่ป้อนจะแสดงบนจอภาพ เมื่อป้อนข้อมูลเสร็จกด Enter ข้อมูลทั้งหมดจะเก็บในตัวแปร var ชนิดของข้อมูลที่กำหนดให้กับตัวแปร var จะถูกกำหนดโดยตัวกำหนดชนิดข้อมูลซึ่งระบุในส่วนของ format code ตัวกำหนดชนิดข้อมูลของฟังก์ชัน scanf() จะเหมือนกับของฟังก์ชัน printf() ซึ่งได้กล่าวมาแล้ว ฟังก์ชัน scanf() จะทำให้เคอร์เซอร์ขึ้นบรรทัดใหม่หลังจากกด Enter
โมดิฟายเออร์ซึ่งได้กล่าวมาแล้ว สามารถนำมาใช้กับฟังก์ชัน scanf() ได้ในลักษณะเดียวกัน
ตัวอย่าง โปรแกรมที่ 1
#include”stdio.h”
main()
{
int num;
float x;
double y;
printf(“ Enter integer number “);
scanf(“%d”,&num);
printf(“ Enter floating point number “);
scanf(“%f”,&x);
scanf(“%f”,&x);
printf(“ Enter double precision floating point number “);
scanf(“%lf”,&y);
printf(“\n”);
printf(“ Integer number %d\n”,num);
printf(“ Floating point number %10.4f\n,x);
printf(“ Double precision floating point number %10.4f\n”,y);
}

3.ฟังก์ชัน getchar()
ฟังก์ชัน getchar() ใช้สำหรับป้อนตัวอักษรผ่านทางแป้นพิมพ์โดยจะรับตัวอักษรเพียง 1 ตัวเท่านั้น และแสดงตัวอักษรบนจอภาพ
ch = getchar();
เมื่อโปรแกรมทำงานถึงคำสั่งนี้จะหยุดเพื่อให้ป้อนตัวอักษร 1 ตัว หลังจากนั้นกด Enter ตัวอักษรที่ป้อนจะถูกเก็บไว้ในตัวแปร ch ซึ่งเป็นชนิดตัวอักษรและเคอร์เซอร์จะขึ้นบรรทัดใหม่ ฟังก์ชัน getchar() กำหนดในไฟล์ stdio.h เช่นเดียวกับฟังก์ชัน scanf()
ตัวอย่าง โปรแกรมที่ 9
#include”stdio.h”
main()
{
char ch;
printf(“ Type one character “);
ch = getchar();
printf(“ The character you typed is %c\n”,ch);
}

4.ฟังก์ชัน getche() และ getch()
ฟังก์ชัน getche() และ getch() มีรูปแบบดังนี้
ch = getche();
ch = getch();
ฟังก์ชัน getche() จะรับตัวอักษร 1 ตัวที่ป้อนทางแป้นพิมพ์ และจะแสดงตัวอักษรบนจอภาพ เมื่อป้อนข้อมูลเสร็จไม่ต้องกด Enter และเคอร์เซอร์จะไม่ขึ้นบรรทัดใหม่
ฟังก์ชัน getch() จะคล้ายกับฟังก์ชัน getche() ต่างกันตรงที่จะไม่แสดงตัวอักษรขณะป้อนข้อมูล
ฟังก์ชัน getche() และ getch() กำหนดในไฟล์ conio.h ดังนั้นจะต้องระบไฟล์ดังกล่าวในโปรแกรม
ตัวอย่าง โปรแกรมที่ 11
#include”stdio.h”
#include”conio.h”
main()
{
char ch;
printf(“ Type one character “);
ch = getche();
printf(“\n”);
printf(“ The character you typed is “);
putchar(ch);
}

5. ฟังก์ชัน gets
ฟังก์ชัน gets() ใช้สำหรับข้อมูลชนิดสตริงก์หรือข้อความซึ่งป้อนทางแป้นพิมพ์โดยมีรูปแบบดังนี้
gets(str);
เมื่อโปรแกรมทำงานถึงคำสั่งนี้จะหยุดเพื่อให้ป้อนข้อความ เมื่อป้อนเสร็จแล้วกด Enter ข้อความทั้งหมดจะถูกเก็บไว้ในอาร์เรย์สตริงก์ str โดย carriage return ( จากการกด Enter) จะแทนด้วยสตริงก์ศูนย์ดังได้กล่าว ฟังก์ชัน gets() จะทำให้เคอร์เซอร์ขึ้นบรรทัดใหม่หลังจากกด Enter และกำหนดในไฟล์ stdio.h
ตัวอย่าง โปรแกรมที่ 13
#include”stdio.h”
main()
{
char message[50];
printf(“ Enter a message(less than 49 characters)\n”);
gets(message);
printf(“ The message you entered is %s\n”,message);
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็น