Saturday, January 8, 2011

คำสั่งแสดงผลและรับข้อมูลอื่นๆ

ในภาษาซียังมีคำสั่งแสดงผลและรับข้อมูลที่นอกเหนือจาก printf และ scanf อีกมากคำสั่งที่น่าสนใจก็คือ
  • putchar(ch);
  • puts(str);
  • ch = getchar();
  • ch = getch();
  • gets (str);
คำสั่ง putchar(ch) เป็นคำสั่งที่ใช้แสดงผลข้อมูลชนิดอักขระทีละตัว โดยมีรูปแบบเป็น
putchar(ch);
ch คือตัวแปรชนิดอักขระที่ต้องการแสดงผล

คำสั่ง puts(str); เป็นคำสั่งแสดงผลข้อมูลชนิดสายอักขระ (String) โดยมีรูปแบบเป็น
puts(str);
str คือตัวแปรชนิดสายอักขระหรือข้อความที่ต้องการแสดงผล

ตัวอย่างโปรแกรม

#include <stdio.h>
int main(){
char ch = 'A'; //กำหนดตัวแปร char เป็นอักขระทีค่า 'A'
char str[] = "Computer"; //กำหนดตัวแปรสายอักขระ str มีค่าเป็น "Computer"
putchar(ch); //แสดงผลตัวแปร ch
putchar(' '); //แสดงผลช่องว่าง
putchar(str[1]);//แสดงผลอักขระตัวที่ 2ของสายอักขระ str *อักขระตัวแรกคือ str[0]
putchar('\n'); //แสดงผลอักขระควบคุม \n ซึ่งหมายถึงการขึ้นบรรทัดใหม่
puts(str); //แสดงผลสายอักขระ str
return 0;
};
ผลจากการรันโปรแกรม
คำสั่ง getchar() เป็นคำสั่งที่รับข้อมูลชนิดอักขระจากผู้ใช้เพียงตัวเดียวโดยเมือป้อนข้อมูลแล้วต้องกด Enter มีรูปแบบคำสั่งคือ
ch = getchar();
ch คือ ตัวแปรชนิดอักขระที่นำค่าที่รับมาเก็บไว้

คำสั่ง getch() เป็นคำสั่งที่รับข้อมูลชนิดอักขระเพียงตัวเดียวโดยเมื่อป้อนข้อมูลจะไม่แสดงอักขระที่ป้อนให้เห็นทางจองภาพ ที่สำคัญ getch(); จะต้องใช้พรีโปรเซสเซอร์ไดเรคทีฟชื่อว่า conio.h มีรูปแบบการใช้คำสั่งคือ
ch = getch();
ch คือ ตัวแปรชนิดอักขระที่นำค่าที่นับมาเก็บไว้

คำสั่ง gets(); เป็นคำสั่งที่รับข้อมูลชนิดสายอักขระหรือข้อความจากผู้ใช้งานและสามารถรัยข้อมูที่เว้นวรรคได้เมื่อพิมพ์ข้อความเสร็จแล้วต้องกด Enter โดยมีรูปแบบการใช้งานคือ
gets(str);
str คือชนิดข้อมูลที่เป็นสายอักขระหรือข้อความที่รับค่ามาจากผู้ใ้ช้

ตัวอย่างโปรแกรม

#include <stdio.h>
#include <conio.h> //เป็นพรีโปรเซสเซอร์ไดเรคทีพของคำสั่ง getch();
void main(){
char a, b, c[50]; //กำหนดตัวแปร อักขระ a,b และสายอักขระ c
printf("input your name c : ");
gets(c); //รับค่าสายอักขระ c แล้วกด Enter
printf("input character a : ");
a = getchar(); //รับค่าอักขระเพียงตัวเดียว แล้วกด Enter
printf("input character b : ");
b = getch(); //รับค่าอักขระเพียงตัวเดียวแต่หน้าจอไม่แสดงให้เห็น
printf("a = %c\nb = %c\nc = %s",a,b,c);
}

ผลจากการรันโปรแกรม

No comments:

Featured Post

การแปลภาษาของโปรแกรมภาษาซี

ภาษาซีเป็นภาษาชั้นสูงและเป็นภาษาที่มนุษย์เข้าใจ แต่เครื่องคอมพิวเตอร์เข้าใจเฉพาะภาษาเครื่อง (Machine Language) เท่านั้น ดังนั้นหากต้องการให้...