วันจันทร์ที่ 29 ธันวาคม พ.ศ. 2557

ภาษาซีเบื้องต้น

โครงสร้างของโปรแกรมภาษาซี  แบ่งออกเป็น 3 ส่วน
1. ส่วนหัวของโปรแกรม
         ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทำการ ใด ๆ ก่อนการแปลผลโปรแกรม ในที่นี่คำสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นำเฮดเดอร์ไฟล์ที่ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกำหนด preprocessing directives นี้จะต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ
คำสั่งที่ใช้ระบุให้คอมไพเลอร์นำเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ
- #include <ชื่อเฮดเดอร์ไฟล์> คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สำหรับเก็บเฮดเดอร์ไฟล์โดยเฉพาะ (ปกติคือไดเรกทอรีชื่อ include)
- #include “ชื่อเฮดเดอร์ไฟล์คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บเฮดเดอร์ไฟล์โดยเฉพาะ

2. ส่วนของฟังก์ชั่นหลัก
         ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main() ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า หลักดังนั้น การเขียนโปรแกรมภาษซีจึงขาดฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกำหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทำงานของฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟังก์ชั่น main() สามารถเขียนในรูปแบบของ void main(void) ก็ได้ มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไปจากฟังก์ชั่นด้วย

3. ส่วนรายละเอียดของโปรแกรม
เป็นส่วนของการเขียนคำสั่ง เพื่อให้โปรแกรมทำงานตามที่ได้ออกแบบไว้
คอมเมนต์ในภาษาซี
คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผู้เขียนโปรแกรมใส่ข้อความอธิบายกำกับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ในภาษาซีมี 2 แบบคือ
1 คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย //
2 คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
  


 ตัวแปรในภาษาซี
        ตัวแปร (Variable) คือ การจองพื้นที่ในหน่วยความจำของคอมพิวเตอร์สำหรับเก็บข้อมูลที่ต้องใช้ในการทำงานของโปรแกรม  โดยมีการตั้งชื่อเรียกหน่วยความจำในตำแหน่งนั้นด้วย  เพื่อความสะดวกในการเรียกใช้ข้อมูล  ถ้าจะใช้ข้อมูลใดก็ให้เรียกผ่านชื่อของตัวแปรที่เก็บเอาไว้
ชนิดของข้อมูล
       ภาษาซีเป็นอีกภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน  ซึ่งชนิดของข้อมูลแต่ละอย่างมีขนาดเนื้อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน  และเนื่องจากการที่มีขนาดที่แตกต่างกันไป  ดังนั้นในการเลือกใช้งานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็นในการใช้งานด้วย  สำหรับประเภทของข้อมูลมีดังนี้คือ
1.  ข้อมูลชนิดตัวอักษร (Character) คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็มได้แก่ ตัวอักษร ตัวเลข และกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต์
2. ข้อมูลชนิดจำนวนเต็ม (Integer)  คือข้อมูลที่เป็นเลขจำนวนเต็ม  ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ ศูนย์ ใช้พื้นที่ในการเก็บ 2 ไบต์
3. ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer) คือข้อมูลที่มีเลขเป็นจำนวนเต็ม  ใช้พื้นที่  4 ไบต์
4. ข้อมูลชนิดเลขทศนิยม (Float) คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
5. ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double) คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บ 8 ไบต์                             
ชนิด
ขนาดความกว้าง
ช่วงของค่า
การใช้งาน
Char
8 บิต
ASCII character (-128 ถึง 127)เก็บข้อมูลชนิดอักขระ
Unsignedchar
8 บิต
0-255เก็บข้อมูลอักขระแบบไม่คิดเครื่องหมาย
Int
16 บิต
-32768 ถึง 32767เก็บข้อมูลชนิดจำนวนเต็ม
long
32 บิต
-2147483648 ถึง 2147483649เก็บข้อมูลชนิดจำนวนเต็มแบบยาว
Float
32 บิต
3.4E-38 ถึง 3.4E+38 หรือ ทศนิยม 6
เก็บข้อมูลชนิดเลขทศนิยม
Double
64 บิต
1.7E-308 ถึง 1.7E+308 หรือ ทศนิยม 12เก็บข้อมูลชนิดเลขทศนิยม
Unsigned int
16 บิต
0 ถึง 65535เก็บข้อมูลชนิดจำนวนเต็ม ไม่คิดเครื่องหมาย
Unsigned long
32 บิต
0 ถึง 4294967296เก็บข้อมูลชนิดจำนวนเต็มแบบยาว ไม่คิดเครื่องหมาย
     รูปแบบในการประกาศตัวแปรในภาษา C
     การสร้าวตัวแปรขึ้นมาใช้งานจะเรียกว่า  การประกาศตัวแปร (Variable Declaration) โดยเขียนคำสั่งให้ถูกต้องตามแบบการประกาศตัวแปร  แสดงดังนี้
type name;
type :  ชนิดของตัวแปร
name : ชื่อของตัวแปร  ซึ่งต้องตั้งให้ถูกต้องตามหลักของภาษา C

     การเขียนคำสั่งเพื่อประกาศตัวแปร  ส่วนใหญ่แล้วจะเขียนไว้ในส่วนหัวของโปรแกรมก่อนฟังก์ชัน main ซึ่งการเขียนไว้ในตำแหน่งดังกล่าว  จะทำให้ตัวแปรเหล่านั้นสามารถเรียกใช้จากที่ใดก็ได้ในโปรแกรม  ดังตัวอย่าง
#include <stdio.h>  
int num;       สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิดจำนวนเต็ม
float y; สร้างตัวแปรชื่อ y เพื่อเก็บข้อมูลชนิดเลขทศนิยม
char n; สร้างตัวแปรชื่อ n เพื่อเก็บข้อมูลชนิดตัวอักขระ
void main()   
{      
     printf("Enter number : ")       
     scanf("%d",&num);      
     printf("Enter name : "); 
     scanf("%f",&n);  
     printf("Thank you");    
}                         
       หลักการตั้งชื่อตัวแปร
     ในการประกาศสร้างตัวแปรต้องมีการกำหนดชื่อ ซึ่งชื่อนั้นไม่ใช่ว่าจะตั้งให้สื่อความหมายถึงข้อมูลที่เก็บอย่างเดียว  โดยไม่คำนึงถึงอย่างอื่น   เนื่องจากภาษา C มีข้อกำหนดในการตั้งชื่อตัวแปรเอาไว้  แล้วถ้าตั้งชื่อผิดหลักการเหล่านี้  โปรแกรมจะไม่สามารถทำงานได้  หลักการตั้งชื่อตัวแปรในภาษา C แสดงไว้ดังนี้
1.ต้องขึ้นต้นด้วยตัวอักษร A-Z หรือ a-z หรือเครื่องหมาย _(Underscore) เท่านั้น
2.ภายในชื่อตัวแปรสามารถใช้ตัวอักษร A-Z หรือ a-z หรือตัวเลข0-9 หรือเครื่องหมาย _
3.ภายในชื่อห้ามเว้นชื่องว่าง หรือใช้สัญลักษณ์นอกเหนือจากข้อ 2
4.ตัวอักษรเลขหรือใหญ่มีความหมายแตกต่างกัน
5.ห้ามตั้งชื่อซ้ำกับคำสงวน (Reserved Word) ดังนี้ 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
ตัวอย่างการตั้งชื่อตัวแปรในภาษา C ทั้งที่ถูกต้องและไม่ถูกต้องตามหลักการ  แสดงดังนี้
ตัวแปร
เหตุผลประกอบ
bath_room
ถูกต้องตามหลักการตั้งชื่อ
n-sync
ผิดหลักการ เนื่องจากมีเครื่องหมาย - ปรากฏในชื่อ
108dots
ผิดหลักการ เนื่องจากขึ้นต้นด้วยตัวเลข
Year#
ผิดหลักการ เนื่องจากมีเครื่องหมาย # อยู่ในชื่อ
_good
ถูกต้องตามหลักการตั้งชื่อ

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

     ในภาษา C ไม่มีการกำหนดชนิดของตัวแปรสำหรับข้อความโดยตรง  แต่จะใช้การกำหนดชนิดของตัวแปรอักขระ (char) ร่วมกับการกำหนดขนาดแทน  และจะเรียกตัวแปรสำหรับเก้บข้อความว่า  ตัวแปรสตริง (string) รูปแบบการประกาศตัวแปรสตริงแสดงได้ดังนี้
char name[n] = "str";
name ชื่อของตัวแปร
n ขนาดของข้อความ หรือจำนวนอักขระในข้อความ
str ข้อความเริ่มต้นที่จะกำหนดให้กับตัวแปรซึ่งต้องเขียนไว้ภายในเครื่องหมาย "  "

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

   ค่าคงที่ในภาษาซี
        ค่าคงที่จะต่างจากตัวแปรที่ค่าคงที่จะเก็บค่าเอาไว้เพียงค่าเดียวตลอดทั้งโปรแกรม โดยที่เราสร้างค่าคงที่แล้วจะไม่สามารถเปลี่ยนแปลงค่าของมันได้
        การตั้งชื่อค่าคงที่จะใช้กฎเดียวกันกับการตั้งชื่อตัวแปร แต่นิยมตั้งชื่อค่าคงที่ให้เป็นตัวอักษรพิมพ์ใหญ่ทั้งหมด เพื่อให้เกิดความแตกต่างระหว่างชื่อตัวแปรกับชื่อค่าคงที่
        ค่าคงที่ในภาษาซีมี 2 คำสั่งคือ
        -คำสั่ง const
        -และ #define
การใช้คำสั่ง const สร้างค่าคงที่
Jตัวอย่าง const1.c
#include<stdio.h>
void main()
{
 const double pi=3.14;
 const float K=4;
 const char ch= ‘A’;
 const char company[10]=“INTER”;
 printf(“pi = %d\n”,pi);
 printf(“K = %f\n”,K);
 printf(“ch = %d\n”,ch);
 printf(“company name = %s”,company);
}

การใช้คำสั่ง #define สร้างค่าคงที่
Jตัวอย่าง define2.c
#include<stdio.h>
#define PI 3.14
#define NAME “SASALAK”
#define CH ‘a’
void main()
{
 printf(“PI = %f\n”,PI);
 printf(“NAME = %s\n”,NAME);
 printf(“PI = %c\n”,CH);
}

ตัวอย่าง define3.c
#include<stdio.h>
#define PI 3.14
#define AREA(x) PI*x*x
void main()
{
 int r;
 printf(“R = ?”);
 scanf(“%d”, &r);
 printf(“Area = %f”,AREA(r) );
}
     การแสดงผลและการรับข้อมูล
*   แสดงผลออกทางหน้าจอ
          การทำงานพื้นฐานที่สึดหรือเรียกได้ว่าเป็นส่วนหนึ่งในการทำงานของทุกโปรแกรมคือ  การแสดงผลข้อมูลออกทางจอภาพ  โดยในภาษา นั้น  การแสดงผลข้อมูลออกทางจอสามารถทำได้ดังนี้
Jคำสั่ง printf
          คำสั่ง printf  ถือได้ว่าเป็นคำสั่งพื้นฐานที่สุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอไม่ว่าจะเป็นจำนวนเต็ม int ทศนิยม float ข้อความ string  หรืออักขระ  นอกจากนี้คำสั่งยังมีความยืดหยุ่นสูง  โดยเราสามารถกำหนดหรือจัดรูปแบบการแสดงผลให้มีระเบียบหรือเหมาะสมตามความต้องการได้อีกด้วย
Jรูปแบบคำสั่ง prinft
Format   ข้อมูลที่ต้องการแสดงผลออกทางหน้าจอ  โดยข้อมูลนี้ต้องเขียนไว้ในเครื่องหมาย "  " ข้อมูลที่สามารถแสดงผลได้มีอยู่ 2 ประเภท คือ  ข้อความธรรมดา  และค่าที่เก็บไว้ในตัวแปร  ซึ่งถ้าเป็นค่าที่เก็บไว้ในตัวแปรต้องใส่รหัสควบคุมรูปแบบให้ตรงกับชนิดของข้อมูลที่เก็บไว้ในตัวแปรนั้นด้วย
Variable  ตัวแปรหรือนิพจน์ที่ต้องการนำค่าไปแสดงผลให้ตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้
รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้าจอ  แสดงได้ดังนี้
%d แสดงผลค่าของตัวแปรชนิดจำนวนเต็ม
%u แสดงผลค่าของตัวแปรชนิดจำนวนเต็มบวก
%f แสดงผลค่าของตัวแปรชนิดจำนวนทศนิยม
%c แสดงผลอักขระ 1 ตัว
%s แสดงผลข้อความ หรืออักขระมากกว่า 1 ตัว
  ตัวอย่างการใช้คำสั่ง printf  แสดงผลข้อความธรรมดาออกทางหน้าจอ ดังนี้
printf("Hello Program C");   แสดงข้อความ Hello Program C ออกทางขอภาพ
printf("Suratpittayaschool");  แสดงข้อความ Suratpittayaschool ออกทางจอภาพ
printf("Lampang Thailand");  แสดงข้อความ Lampang Thailand  ออกทางจอภาพ 
เช่น
#include <stdio.h>
#include <conio.h>
void main()
{
   clrscr();
   prinft('SuratpittayaSchool\n");
   printf("Program C\n");
getch();
}
Suratpittaya School  Program C
ส่วนตัวอย่างการใช้คำสั่ง  printf  แสดงผลจากค่าของตัวแปรหรือนิพจน์ การคำนวณออกทางหน้าจอ  แสดงได้ดังนี้ 
โดยกำหนดให้ตัวแปร  เก็บจำนวนเต็ม  45
printf("total value = %d",x);   แสดงข้อความ total value = 45 ออกทางจอภาพ
แสดงผลให้เป็นระเบียบด้วยอักขระควบคุมการแสดงผล
นอกจากนี้เรายังสามารถจัดรูปแบบการแสดงผลให้ดูเป็นระเบียบมากขึ้น  อย่างเช่นขึ้นบรรทัดใหม่  หลังแสดงข้อความ  หรือเว้นระยะแท็บระหว่างข้อความ  โดยใช้อักขระควบคุมการแสดงผลร่วมกับคำสั่ง printf
อักขระควบคุมการแสดงผล
\n ขึ้นบรรทัดใหม่
\t เว้นช่องว่างเป็นระยะ 1 แท็บ (6 ตัวอักษร)
\r กำหนดให้เคอร์เซอร์ไปอยู่ต้นบรรทัด
\f เว้นช่องว่างเป็นระยะ 1 หน้าจอ
\b ลบอักขระสุดท้ายออก 1 ตัว
          การนำอักขระควบคุมการแสดงผลมาใช้  เราต้องเขียนอักขระควบคุมการแสดงผลไว้ภายในเครื่องหมาย "  "  ดังตัวอย่าง

printf("Hello ... \n");  แสดงข้อความ Hello ...  แล้วขึ้นบรรทัดใหม่
printf("Hello...\nSurat\n");    แสดงข้อความ Hello ...แล้วขึ้นบรรทัดใหม่พร้อมกับแสดงข้อความSurat จากนั้นขึ้นบรรทัดใหม่อีกครั้ง
printf("Num1 = %d\tNum2 = %f\n",x,z);    แสดงข้อความ Num1 = 45  ตามด้วยการเว้นช่องว่าง 1 แท็บแล้วต่อด้วยข้อความ Num2 = 20.153
*   คำสั่งรับข้อมูลจากคีย์บอร์ด
          การทำงานของโปรแกรมส่วนใหญ่มักจะเป้นการเชื่อมโยงกับผู้ใช้แบบ  2  ทิศทาง  คือ  ทั้งภาคของการแสดงผลการทำงานออกทางหน้าจอ  และภาคของการรับข้อมูลจากผู้ใช้เข้ามาทางคีย์บอร์ด  เพื่อร่วมในการประมวลผลของโปรแกรม
Jคำสั่ง  scanf()
          ในภาษา การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน  scanf()  ซึ่งเป็นฟังก์ชันมาตรฐานสำหรับรับข้อมูลจากคีย์บอร์ด  โดยสามารถรับข้อมูลได้ทุกประเภท  ไม่ว่าจะเป็นจำนวนเต็ม  ทศนิยม  อักขระ หรือข้อความ
Jรูปแบบคำสั่ง  scanf()
format การใช้รหัสควบคุมรูปแบบ  เพื่อกำหนดชนิดของข้อมูลที่จะรับเข้ามาจากคีย์บอร์ด โดยรหัสควบคุมรูปแบบใช้ชุดเดียวกับคำสั่ง printf()
variable ตัวแปรที่จะใช้เก็บค่าข้อมูลที่รับเข้ามาจากคีย์บอร์ด  โดยชนิดของตัวแปรจะต้องตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้  นอกจากนี้หน้าชื่อของตัวแปรจะต้องนำหน้าด้วยเครื่องหมาย  ยกเว้นตัวแปรสตริง  สำหรับเก็บข้อความเท่านั้นที่ไม่ต้องนำหน้าด้วยเครื่องหมาย &
      ตัวอย่างการใช้งานคำสั่ง  scanf()  เพื่อรับข้อมูลจากคีย์บอร์ด
int speed;     สร้างตัวแปรชนิด int สำหรับเก็บค่าตัวเลขจำนวนเต็ม
printf("Enter wind speef : "); แสดงข้อความให้กรอกค่าความเร็วลมเป็นจำนวนเต็ม
scanf("%d",&speed);  รับค่าความเร็วลมเข้ามาเก็บไว้ในตัวแปร speed
char answer;  สร้างตัวแปรชนิด  char สำหรับเก็บอักขระ
printf("Enter Figure (Y : N)  : ")     แสดงข้อความให้ป้อนอักขระ หรือ N
scanf("%c",&answer  รับอักขระเข้ามาเก็บไว้ในตัวแปร  answer
char name[10];        สร้างตัวแปรสตริงสำหรับเก็บข้อความ
printf("Enter your name = ");       แสดงข้อความให้ป้อนชื่อ
scanf("%s",name      รับชื่อเข้ามาเก็บไว้ในตัวแปร name สังเกตจะไม่ใส่เครื่องหมาย & ตัวแปรชนิดข้อความ
เช่น
#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


นิพจน์ (Expressions)
ในภาษาซี นิพจน์หมายถึง สิ่งที่ประมวลผลแล้วสามารถให้เป็นค่าตัวเลขได้ ซึ่งแต่ละนิพจน์จะมีระดับความยากง่ายในการประมวลผลที่แตกต่างกัน 
นิพจน์ที่มีระดับการประมวลผลแบบง่ายที่สุด จะประกอบด้วย ตัวแปรตัวเดียว หรือ ค่าคงที่ นิพจน์ที่มีลักษณะเป็นค่าคงที่ เช่น  100 ,  ‘g’
¢ นิพจน์ที่เป็นค่าคงที่ ที่เป็นสัญลักษณ์
#define VAT 7
#define PI 3.14159
const int a = 35;
const char ch = ‘m’;
จากตัวอย่างด้านบน VAT, PI a, ch  เป็นนิพจน์ที่เป็นค่าคงที่
¢ นิพจน์ที่มีลักษณะเป็นตัวแปร
int count;
float amount;
char ch;
จากตัวอย่างข้างบน count, amount, ch เป็นนิพจน์ที่เป็นตัวแปร
Jนิพจน์ หมายถึง จำนวนใดจำนวนหนึ่งต่อไปนี้
     จำนวนเต็มจำนวนเดียว
     จำนวนจริงจำนวนเดียว
     ตัวเลขจำนวนเต็ม หรือ ตัวเลขจำนวนจริง หลายจำนวน ที่เชื่อมโยงกันด้วยตัวดำเนินการ +, -, *, / หรือ % ซึ่งเรียนว่าการคำนวณทางคณิตศาสตร์
ข้อความสั่งกำหนดค่า (assignment statement)
ใช้สำหรับกำหนดค่าให้กับตัวแปร มีรูปแบบดังนี้  ตัวแปร = นิพจน์
ข้อความสั่งกำหนดค่า คือข้อความสั่งที่ใช้สำหรับ สั่งให้นำผลลัพธ์ของนิพจน์ที่อยู่ด้านขวาของตัวดำเนินการเท่ากับ (=)  มาเก็บไว้ในตัวแปรที่อยู่ด้านซ้ายของตัวดำเนินการเท่ากับ (=) เช่น
con = 10.5;
result = 25*6;
point = score1*2+score2*5+score3*3
 การคำนวณทางคณิตศาสตร์
เครื่องหมายการดำเนินการทางคณิตศาสตร์
เครื่องหมาย
การดำเนินการ
ตัวอย่างการใช้งาน
ความหมาย
+
บวก
z = x+y
บวกค่าในตัวแปร x กับค่าในตัวแปร y ผลลัพธ์เก็บไว้ที่ตัวแปร z
-
ลบ
z = x-y
ลบค่าในตัวแปร x ด้วยค่าในตัวแปร y ผลลัพธ์เก็บไว้ที่ตัวแปร z
*
คูณ
z = x*y
คูณค่าในตัวแปร x กับค่าในตัวแปร y ผลลัพธ์เก็บไว้ที่ตัวแปร z
/
หาร
z = x/y
หารค่าในตัวแปร x กับค่าในตัวแปร y ผลลัพธ์เก็บไว้ที่ตัวแปร z
%
หารเอาเศษ (มอดูลัส)
z =x%y
หารค่าในตัวแปร x กับค่าในตัวแปร y ผลลัพธ์คือเศษที่ได้จากการหาร โดยเก็บไว้ที่ตัวแปร z

ตัวอย่าง

Cr.https://sites.google.com/site/programingmpp/page-2
Cr.https://sites.google.com/site/krurote/kar-kheiyn-porkaerm-phasa-si/ray-laxeiyd-menu-phasa-si/tawpaer-ni-phasa-si
Cr.https://sites.google.com/site/programdotc/threedotseven
Cr.https://sites.google.com/site/krurote/kar-kheiyn-porkaerm-phasa-si/kar-saedng-phl-laea-kar-rab-khxmul
Cr.http://computerpasac54.blogspot.com/p/4-c.html