การเขียนคำสั่งควบคุมขั้นพื้นฐาน

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 11

การเขียนคำสั่ งควบคุมขั้นพืน้ ฐาน

ตัวแปรในภาษาซี

          ตัวแปร (Variable) คือ การจองพื้นที่ในหน่วยความจำของคอมพิวเตอร์ สำหรับเก็บข้อมูลที่ตอ้ งใช้ในการ


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

ชนิดของข้ อมูล

           ภาษาซีเป็ นอีกภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน ซึ่งชนิดของข้อมูลแต่ละอย่างมี


ขนาดเนื้ อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน และเนื่องจากการที่มีขนาดที่แตกต่างกันไป ดังนั้นในการเลือกใช้
งานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็ นในการใช้งานด้วย สำหรับประเภทของข้อมูลมีดงั นี้ คือ

ขนาดความ
ชนิด ช่ วงของค่ า การใช้ งาน
กว้ าง
char 8 บิต ASCII character (-128 ถึง 127) เก็บข้อมูลชนิดอักขระ
Unsigned char 8 บิต 0-255 เก็บข้อมูลอักขระแบบไม่คิดเครื่ องหมาย
int 16 บิต -32768 ถึง 32767 เก็บข้อมูลชนิดจำนวนเต็ม
long 32 บิต -2147483648 ถึง 2147483649 เก็บข้อมูลชนิดจำนวนเต็มแบบยาว
3.4E-38 ถึง 3.4E+38 หรื อ ทศนิยม
Float 32 บิต เก็บข้อมูลชนิดเลขทศนิยม
6 ตำแหน่ง
1.7E-308 ถึง 1.7E+308 หรื อ
Double 64 บิต เก็บข้อมูลชนิดเลขทศนิยม
ทศนิยม 12 ตำแหน่ง
เก็บข้อมูลชนิดจำนวนเต็ม ไม่คิด
Unsigned int 16 บิต 0 ถึง 65535
เครื่ องหมาย
เก็บข้อมูลชนิดจำนวนเต็มแบบยาว ไม่คิด
Unsigned long 32 บิต 0 ถึง 4294967296
เครื่ องหมาย

รูปแบบในการประกาศตัวแปรในภาษา C

          การสร้างตัวแปรขึ้นมาใช้งานจะเรี ยกว่า การประกาศตัวแปร (Variable Declaration) โดยเขียนคำสัง่ ให้ถูก


ต้องตามแบบการประกาศตัวแปร แสดงดังนี้
type name;
type : ชนิดของตัวแปร
name : ชื่อของตัวแปร ซึ่งต้องตั้งให้ถูกต้องตามหลักของภาษา C

การเขียนคำสัง่ เพื่อประกาศตัวแปร ส่ วนใหญ่แล้วจะเขียนไว้ในส่ วนหัวของโปรแกรมก่อนฟังก์ชนั่ Main ซึ่งการ


เขียนไว้ในตำแหน่งดังกล่าว จะทำให้ตวั แปรเหล่านั้นสามารถเรี ยกใช้จากที่ใดก็ได้ในโปรแกรม

หลักการตั้งชื่อตัวแปร

          ในการประกาศสร้างตัวแปรต้องมีการกำหนดชื่อ ซึ่งชื่อนั้นไม่ใช่วา่ จะตั้งให้สื่อความหมายถึงข้อมูลที่เก็บ


อย่างเดียว โดยไม่คำนึงถึงอย่างอื่น เนื่องจากภาษา C มีขอ้ กำหนดในการตั้งชื่อตัวแปรเอาไว้ แล้วถ้าตั้งชื่อผิดหลัก
การเหล่านี้ โปรแกรมจะไม่สามารถทำงานได้ หลักการตั้งชื่อตัวแปรในภาษา C แสดงไว้ดงั นี้

1. ต้องขึ้นต้นด้วยตัวอักษร A-Z หรื อ a-z หรื อเครื่ องหมาย _(Underscore) เท่านั้น


2. ภายในชื่อตัวแปรสามารถใช้ตวั อักษร A-Z หรื อ a-z หรื อตัวเลข 0-9 หรื อเครื่ องหมาย _
3. ภายในชื่อห้ามเว้นช่องว่าง หรื อใช้สญ
ั ลักษณ์นอกเหนือจากข้อ 2
4. ตัวอักษรเล็กหรื อใหญ่มีความหมายแตกต่างกัน
5. ห้ามตั้งชื่อซ้ำกับคำสงวน (Reserved Word) ดังนี้

คำสงวนใน C มาตรฐาน ( ANSI Standard C)


auto default float register struct volatile break
do far return switch while case double
goto short typedef char else if signed
union const enum int sizeof unsigned continue
extern long static void      
คำสงวนที่มีเพิ่มใน Borland C
asm _cs _ds _es _ss cdecl far
huge interrupt near pascal _export    

ตัวอย่างการตั้งชื่อตัวแปรในภาษา C ทั้งที่ถูกต้องและไม่ถูกต้องตามหลักการ แสดงดังนี้

bath_room ถูกต้อง
n-sync ผิดหลักการ เนื่องจากมีเครื่ องหมาย - ปรากฏในชื่อ
108dots ผิดหลักการ เนื่องจากขึ้นต้นด้วยตัวเลข
Year# ผิดหลักการ เนื่องจากมีเครื่ องหมาย # อยูใ่ นชื่อ
_good ถูกต้อง
goto ผิดหลักการ เนื่องจากเป็ นคำสงวน
work ถูกต้อง
break ผิดหลักการ เนื่องจากเป็ นคำสงวน

ตัวแปรสำหรับข้ อความ

          ในภาษา C ไม่มีการกำหนดชนิดของตัวแปรสำหรับข้อความโดยตรง แต่จะใช้การกำหนดชนิดของตัวแปร


อักขระ (char) ร่ วมกับการกำหนดขนาดแทน และจะเรี ยกตัวแปรสำหรับเก็บข้อความว่า ตัวแปรสตริ ง (string) รู ป
แบบการประกาศตัวแปรสตริ งแสดงได้ดงั นี้

char name[n] = "str";


name : ชื่อของตัวแปร
n : ขนาดของข้อความ หรื อจำนวนอักขระในข้อความ
str : ข้อความเริ่ มต้นที่จะกำหนดให้กบั ตัวแปรซึ่งต้องเขียนไว้ภายในเครื่ องหมาย " "

ตัวอย่างการประกาศตัวแปรสำหรับเก็บข้อความ แสดงได้ดงั นี้


สร้างตัวแปร name สำหรับเก็บ ข้อความ kwan ซึ่งมี 4 ตัวอักษร ดังนั้น name ต้อง
char name[5] = "kwan" ;
มีขนาด 5
สร้างตัวแปร year สำหรับเก็บ ข้อความ 2549 ซึ่งมี 4 ตัวอักษร ดังนั้น year ต้องมี
char year[5] = "2549";
ขนาด 5
สร้างตัวแปร product_id สำหรับเก็บ ข้อความ A01 ซึ่งมี 3 ตัวอักษร ดังนั้น
char product_id[4] = "A01";
product_id ต้องมีขนาด 4

เครื่องหมายและตัวดำเนินการในภาษา C

          ตัวดำเนินการในการเขียนโปรแกรมภาษา C มีอยู่ 3 ประเภท   คือ   การคำนวณทางคณิ ตศาสตร์   การดำเนิน


การทางตรรกศาสตร์   และการเปรี ยบเทียบ   ซึ่งการดำเนินการแต่ละประเภทจะมีเครื่ องหมายที่ตอ้ งใช้เพื่อเขียนคำ
สัง่ สำหรับการดำเนินการประเภทนั้น ๆ ดังรายละเอียด

เครื่องหมายการคำนวณทางคณิตศาสตร์

     เครื่ องหมายที่ใช้สำหรับการคำนวณทางคณิ ตศาสตร์ใช้ภาษา C  สรุ ปดังนี้

เครื่องหมาย ความหมาย ตัวอย่าง


+ บวก 3+2  การบวกเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 5
- ลบ 3 - 2 การลบเลข 3 ลบกับ 2 ได้ผลลัพธ์คือ 1
* คูณ 2*3   การคูณเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 6
/ หาร 15/2  การหาร 15 หารกับ 2 ได้ผลลัพธ์คือ 7
% หารเอาเศษ 15%2 การหารเอาเศษ 15 หารกับ 2 ได้ผลลัพธ์คือ 1

ตัวดำเนินการเปรียบเทียบ

     ใช้เปรี ยบเทียบค่า 2 ค่าเพื่อแสดงการเลือก ซึ่งโปรแกรมโดยทัว่ ไปใช้ในการทดสอบเงื่อนไขตามที่กำหนดการ


เปรี ยบเทียบโดยการเท่ากันของ 2 ค่าจะใช้เครื่ องหมาย ==

เครื่องหมาย ความหมาย ตัวอย่าง


>  มากกว่า a > b   a มากกว่า b
>== มากกว่าหรื อเท่ากับ a >= b a มากกว่าหรื อเท่ากับ b
<  น้อยกว่า a < b   a น้อยกว่า b
<== น้อยกว่าหรื อเท่ากับ a <= b a น้อยกว่าหรื อเท่ากับ b
== เท่ากับ a == b a เท่ากับ b
!= ไม่เท่ากับ a != b  a ไม่เท่ากับ b

ตัวดำเนินการตรรกะ

          การดำเนินการเปรี ยบเทียบค่าทางตรรกะ ( และ หรื อ ไม่ )

เครื่องหมาย ความหมาย ตัวอย่ าง


&& และ x < 60 && x > 50   กำหนดให้ x มีค่าในช่วง 50 ถึง 60
|| หรื อ x == 10 || x == 15   กำหนดให้ x มีค่าเท่ากับตัวเลข 2 ค่า คือ 10 หรื อ 15
! ไม่ x = 10  !x  กำหนดให้ x ไม่เท่ากับ 10

การเขียนนิพจน์ ในภาษา C

     นิพจน์ในภาษา C ก็คือ การนำข้อมูลและตัวแปรในภาษา C มาดำเนินการด้วยเครื่ องหมายทางคณิ ตศาสตร์  


ตรรกศาสตร์   หรื อเครื่ องหมายเปรี ยบเทียบในภาษา C เป็ นตัวสัง่ งาน ดังตัวอย่าง
ลำดับความสำคัญของเครื่องหมาย

          ส่วนใหญ่นิพจน์ที่เขียนขึ้นในโปรแกรมมักจะซับซ้อน   มีการดำเนินการหลายอย่างปะปนอยูภ่ ายในนิพจน์


เดียวกัน  

ลำดับความสำคัญ ลำดับความสำคัญจากสู งไปต่ำ


1 ()
2 *,/,%
3 +,-

ตัวอย่างการทำงานของโอเปอเรเตอร์

จงหาค่าของนิพจน์   8 + 7 * 6

วิธีทำ

1.  ให้สงั เกตที่ตวั โอเปอเรเตอร์ก่อนเสมอว่ามีโอเปอเรเตอร์อะไรบ้าง   ในที่น้ ี มี + และ *


2.  ทำการไล่ลำดับความสำคัญของโอเปอเรเตอร์ท้ งั หมดเปรี ยบเทียบกัน จากตัวที่มีลำดับความสำคัญสูงสุ ดไปยัง
ตัวที่มีลำดับสำคับต่ำสุ ด
การแสดงผลและรับข้ อมูล
แสดงผลออกทางหน้ าจอ

          การทำงานพื้นฐานที่สุดหรื อเรี ยกได้วา่ เป็ นส่วนหนึ่งในการทำงานของทุกโปรแกรมคือ  การแสดงผลข้อมูล


ออกทางจอภาพ  โดยในภาษา C  นั้น  การแสดงผลข้อมูลออกทางจอสามารถทำได้ดงั นี้

คำสั่ ง printf

          คำสัง่ printf  ถือได้วา่ เป็ นคำสัง่ พื้นฐานที่สุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอไม่วา่ จะเป็ น


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

รูปแบบคำสั่ ง prinft

printf ("format",variable);

format ข้อมูลที่ตอ้ งการแสดงผลออกทางหน้าจอ  โดยข้อมูลนี้ ตอ้ งเขียนไว้ในเครื่ องหมาย " 


"  ข้อมูลที่สามารถแสดงผลได้มีอยู่ 2 ประเภท คือ  ข้อความธรรมดา  และค่าที่เก็บไว้
ในตัวแปร  ซึ่งถ้าเป็ นค่าที่เก็บไว้ในตัวแปรต้องใส่ รหัสควบคุมรู ปแบบให้ตรงกับชนิด
ของข้อมูลที่เก็บไว้ในตัวแปรนั้นด้วย
variable ตัวแปรหรื อนิพจน์ที่ตอ้ งการนำค่าไปแสดงผลให้ตรงกับรหัสควบคุมรู ปแบบที่
กำหนดไว้

รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้ าจอ  แสดงได้ดงั นี้

รหัสควบคุมรูปแบบ การนำไปใช้ งาน

%d แสดงผลค่าของตัวแปรชนิดจำนวนเต็ม

%u แสดงผลค่าของตัวแปรชนิดจำนวนเต็มบวก

%f แสดงผลค่าของตัวแปรชนิดจำนวนทศนิยม

%c แสดงผลอักขระ 1 ตัว

%s แสดงผลข้อความ หรื ออักขระมากกว่า 1 ตัว


ตัวอย่างการใช้ คำสั่ ง printf  แสดงผลข้ อความธรรมดาออกทางหน้ าจอ ดังนี้

#include <stdio.h>
#include <conio.h>
void main()
{
   clrscr();
   prinft('Lampang Kunlayanee School\n");
   printf("Program C\n");
getch();
}

ผลลัพธ์ โปรแกรม

Lampang Kunlayanee School


Program C

ส่วนตัวอย่างการใช้คำสัง่   printf  แสดงผลจากค่าของตัวแปรหรื อนิพจน์ การคำนวณออกทางหน้าจอ  แสดงได้


ดังนี้   โดยกำหนดให้

ตัวแปร  x  เก็บจำนวนเต็ม  45

printf("total value = %d",x);   แสดงข้อความ total value = 45 ออกทางจอภาพ

แสดงผลให้ เป็ นระเบียบด้ วยอักขระควบคุมการแสดงผล

          นอกจากนี้เรายังสามารถจัดรู ปแบบการแสดงผลให้ดูเป็ นระเบียบมากขึ้น  อย่างเช่นขึ้นบรรทัดใหม่  หลัง


แสดงข้อความ  หรื อเว้นระยะแท็บระหว่างข้อความ  โดยใช้อกั ขระควบคุมการแสดงผลร่ วมกับคำสัง่ printf

อ ักขระควบคุม ความหมาย
การแสดงผล
\n ขึน
้ บรรทัดใหม่
\t เว้นช่องว่างเป็ นระยะ 1 แท็บ (6 ตัวอักษร)
\r เว้นช่องว่างเป็ นระยะ 1 แท็บ (6 ตัวอักษร)
\f เว้นช่องว่างเป็ นระยะ 1 หน้าจอ
\b ลบอักขระสุดท้ายออก 1 ตัว
คำสั่ งรับข้ อมูลจากคีย์บอร์ ด

          การทำงานของโปรแกรมส่ วนใหญ่มกั จะเป้ นการเชื่อมโยงกับผูใ้ ช้แบบ  2  ทิศทาง  คือ  ทั้งภาคของการ


แสดงผลการทำงานออกทางหน้าจอ  และภาคของการรับข้อมูลจากผูใ้ ช้เข้ามาทางคียบ์ อร์ด  เพื่อร่ วมในการ
ประมวลผลของโปรแกรม 

คำสั่ ง  scanf()

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


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

รูปแบบคำสั่ ง  scanf()

scanf("format",&variable);

format การใช้รหัสควบคุมรูปแบบ  เพื่อกำหนดชนิดของ


ข้อมูลที่จะรับเข้ามาจากคีย์บอร์ด โดยรหัสควบคุมรูป
แบบใช้ชุดเดียวกับคำสั่ง printf()
variable   ตัวแปรที่จะใช้เก็บค่าข้อมูลที่รับเข้ามาจากคีย์บอร์ด 
โดยชนิดของตัวแปรจะต้องตรงกับรหัสควบคุมรูป
แบบทีกำ่ หนดไว้  นอกจากนีห ้ น้าชื่อของตัวแปรจะ
ต้องนำหน้าด้วยเครื่องหมาย  &  ยกเว้นตัวแปรสตริง 
สำหรับเก็บข้อความเท่านัน ้ ที่ไม่ต้องนำหน้าด้วย
เครื่องหมาย &

ตัวอย่างการใช้ งานคำสั่ ง  scanf()  เพือ่ รับข้อมูลจากคีย์บอร์ ด

#include <stdio.h>
#include <conio.h>
void main()
{
  clrscr();
  int x,y,sum;
  printf("Enter The Length is : ");
  scanf ("%d",&x);
  printf("Enter The Width is : ");
  scanf ("%d",&y);
  sum = x*y;
  printf("The area is :%d",sum);
getch();
}
ผลลัพธ์ โปรแกรม

Enter The Length is   : 15


Enter The Width is     : 5
The area is             : 75

การเขียนโปรแกรมคำนวณ
ื     เราสามารถคำนวณหาผลลัพทธ์ของนิพจน์คณิ ตศาสตร์ดว้ ยการเขียนโปรแกรมภาษาซี    ตัวอย่างต่อไปนี้
เป็ นการแสดงลำดับการประมวลผลทางคณิ ตศาสตร์ของนิพจน์ต่าง ๆ

#include <stdio.h>
#include <conio.h>
void main()
{
  clrscr();
  int a,b,c,d;
  a=(3+4)*5;
  b=3+4*5;
  c=(2+7)*4%10;
  d=2+7*4%10;
  e=10+2*8/4*3-5;
  printf("(3+4)*5 =%d\n",a);
  printf("3+4*5 =%d\n",b);
  printf("(2+7)*4%10 =%d\n",c);
  printf("(2+7)*4%10 =%d\n",d);
  printf("10+2*8/4*3-5 =%d\n",e);
  getch();
}

ผลลัพธ์ โปรแกรม

  (3+4)*5=35
  3+4*5=23
  (2+7)*4%10=6
  2+7*4%10=10
  10+2*8/4*3-5=17

ตัวอย่างโปรแกรมคำนวณหาผลลัพธ์จากการหาร
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int a,b;
float c;
a=20;
b=6;
c=6;
printf("20/6 =%d\n",a/b);      /*หารเอาเฉพาะส่ วน*/
printf("20%6 =%d\n",a%b); /*หารเอาเฉพาะเศษ*/
printf("20/6 =%f\n",a/c);       /*หารเอาทั้งเศษและส่วน*/
printf("20/6 =%.2f\n",a/c);   /*แสดงผลทศนิยม  2 ตำแหน่ง*/
  getch();
}

ผลลัพธ์ โปรแกรม

20/6=3
20%6=2
20/6=3.333333
20/6=3.33

You might also like