หน้าหลัก
แนะนำรายวิชา
แบบทดสอบวัดผลสัมฤทธิ์ก่อนเรียน
บทที่ 1 ภาษาคอมพิวเตอร์
บทที่ 2 แนวคิดการโปรแกรม
บทที่ 3 ผังงาน
บทที่ 4 รหัสเทียม
บทที่ 5 โครงสร้างภาษาซี
บทที่ 6 ติดตั้งโปรแกรม Dev-c
บทที่ 7 ตัวแปรภาษาซี
บทที่ 8 ตัวดำเนินการภาษาซี
บทที่ 9 การแสดงผล
บทที่10 การรับข้อมูล
บทที่ 11 การเลือกทำตามเงื่อนไข
บทที่ 12 คำสั่งวนซ้ำ
แบบทดสอบผลสัมฤทธิ์หลังเรียน
แหล่งศึกษาเพิ่มเติม

 

                   ในภาษาซี การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน scanf() ซึ่งเป็นฟังก์ชันมาตรฐานสำหรับ

รับข้อมูลจากคีย์บอร์ด โดยสามารถรับข้อมูลได้ทุกประเภท ไม่ว่าจะเป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความ โดยมีรูปแบบ

scanf("format",&variable);

โดยที่

control string คือ รหัสรูปแบบข้อมูล (format code) โดยจะต้องเขียนอยู่ภายใต้เครื่องหมายอัญประกาศ “……..”

argument list   คือ  ชื่อตัวแปรที่ใช้เก็บข้อมูลโดยจะต้องใช้เครื่องหมาย  &  (ampersand)  นำหน้าชื่อตัวแปร

ยกเว้นตัวแปรชนิด  string  ไม่ต้องมีเครื่องหมาย  &  นำหน้าชื่อ  ถ้ามีตัวแปรมากกว่า  1  ตัวแปร  

ให้ใช้เครื่องหมาย  ,  (comma)  คั่นระหว่างตัวแปรแต่ละตัว

Library Function เป็นฟังก์ชันสำหรับการทำงานหนึ่งๆ ที่ผู้พัฒนา complier ภาษาซี ได้ทำการพัฒนามาเตรียมไว้ให้เราเรียกใช้

มีผลดีคือลดเวลาในการพัฒนา โปรแกรมคอมพิวเตอร์ บ้างก็เรียกว่าห้องสมุดของภาษาซี

Library Function ของภาษา C จะเก็บอยู่ใน ไฟล์นามสกุล.h (หรือที่เรียกว่า Header File) อย่างเช่น stdio.h math.h

การเรียกใช้ Library Function เราต้องรู้ว่า Function ที่ต้องการอยู่ในไฟล์ใด จากนั้นทำการ #include ไฟล์นั้นไว้ในส่วนหัวของ

โปรแกรมก่อนที่จะเรียกใช้ Function เช่น #include <stdio.h>  #include <math.h> ฟังก์ชั่น scanf( ) เรียกใช้ Libratu Function stdio.h


ตาราง
แสดงรหัสแบบข้อมูลที่สามารถใช้ในฟังก์ชัน  scanf( )
รหัสรูปแบบ 
(format  code)

ความหมาย
%c
ใช้กับข้อมูลชนิดตัวอักขระตัวเดียว  (single  character :  char)
%d
ใช้กับข้อมูลชนิดตัวเลขจำนวนเต็ม (integer : int) โดยสามารถใช้กับ ตัวเลขฐาน  10  เท่านั้น
%e
ใช้กับข้อมูลชนิดตัวเลขจุดทศนิยม  (floating  point : float)
%f, %lf
ใช้กับข้อมูลชนิด  float  และ  double  ตามลำดับ
%g
ใช้กับข้อมูลชนิด  float
%h
ใช้กับข้อมูลชนิด  short  integer
%l
ใช้กับข้อมูลชนิด  int  โดยใช้กับตัวเลขฐาน 8, ฐาน 10 และฐาน 16
%o
ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  8  เท่านั้น
%u
ใช้กับข้อมูลชนิด  unsigned  int  โดยใช้กับตัวเลขฐาน  10  เท่านั้น
%x
ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  16  เท่านั้น
%s
ใช้กับข้อมูลชนิด  string

ที่มา  :  Gottfried, S. Byron, 1990 : 481.

 

ตัวอย่าง

ผลลัพธ์

หน้าจอให้ป้อนตัวเลขอายุ

 

ตัวอย่าง การรับข้อมูลทางคีย์บอร์ดโดยรับข้อมูลแบบ1ค่า(int)

  คำอธิบาย
#include <stdio.h> ==> เป็นการระบุให้นำไฟล์ stdio.h มารวมกับไฟล์นี้ เพื่อที่จะสามารถใช้คำสั่งที่อยู่ในไฟล์นี้มาใช้งานได้
ต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ
main()

==> เริ่มต้นด้วยฟังก์ชัน main () แล้วใส่เครื่องหมายกำหนดขอบเขตเริ่มต้นของตัวโปรแกรมคือ
{ หลังจากนั้นใส่คำสั่งหรือฟังก์ชันต่างๆโดยแต่ล่ะคำสั่งหรือฟังก์ชันนั้นๆ
จะต้องปิดด้วยเครื่องหมาย ;

{  
int A; ==> ประกาศตัวแปร A ชนิดจำนวนเต็ม
scanf("%d",&A); ==> รับค่า A จำนวนเต็มจากคีย์บอร์ด
printf("A = %d",A); ==> แสดงผลค่าจำนวนเต็ม A ทางหน้าจอ
} ==> จบโปรแกรม
   

ผลลัพธ์

 

ตัวอย่าง การรับข้อมูลทางคีย์บอร์ดโดยรับข้อมูลแบบ1ค่า(float)
  คำอธิบาย
#include <stdio.h> ==> เป็นการระบุให้นำไฟล์ stdio.h มารวมกับไฟล์นี้ เพื่อที่จะสามารถใช้คำสั่งที่อยู่ในไฟล์นี้มาใช้งานได้
ต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ

main()
==> เริ่มต้นด้วยฟังก์ชัน main () แล้วใส่เครื่องหมายกำหนดขอบเขตเริ่มต้นของตัวโปรแกรมคือ
{ หลังจากนั้นใส่คำสั่งหรือฟังก์ชันต่างๆโดยแต่ล่ะคำสั่งหรือฟังก์ชันนั้นๆ
จะต้องปิดด้วยเครื่องหมาย ;
{  
float B; ==>  ประกาศตัวแปร B เป็นข้อมูลชนิดตัวเลขที่มีจุดทศนิยม
scanf("%f",&B); ==> รับค่า B ที่เป็นตัวเลขจุดทศนิยมจากคีย์บอร์ด
printf( "B = %f",B); ==> แสดงผลค่าจำนวนเต็ม B ทางหน้าจอ
getch();  
} ==> จบโปรแกรม

ผลลัพธ์

ตัวอย่าง การรับข้อมูลทางคีย์บอร์ดโดยรับข้อมูลแบบ2ค่า(int, float)
  คำอธิบาย
#include <stdio.h>  
main()  
{  
int A; ==> ตัวแปร A ชนิดจำนวนเต็ม
float B; ==> ตัวแปร B ชนิดที่มีจุดทศนิยม
scanf("%d %f",&A,&B); ==> รับค่าตัวแปร A, B
printf( "A = %d , B = %f",A,B); ==> แสดงผล ค่า A เป็นจำนวนเต็ม ค่า B ที่มีจุดทศนิยม
getch();  
}  

ผลลัพธ์