โปรแกรมภาษาซี
ประวัติความเป็นมาภาษาซี
ภาษาซีเกิดขึ้นในปี
ค.ศ. 1972 ผู้คิดค้นคือ Dennis Ritchie โดยพัฒนามาจากภาษาB
และ ภาษา BCPL  ในปี 1988 Ritchie ได้กำหนดมาตรฐานของภาษาซีเรียกว่า
ANSI C เพื่อใช้เป็นตัวกำหนดมาตรฐานในการสร้างภาษาซีรุ่นต่อไป
1. โครงสร้างของโปรแกรมภาษาซี
    1.1
ข้อความสั่งตัวประมวลผลก่อน (preprocessor statements)ข้อความสั่งตัวประมวลผลก่อนขึ้นต้นด้วยเครื่องหมาย
# เช่น #include<stdio.h> หมายความว่าให้ตัวประมวลผลก่อนไปอ่านข้อมูลจากแฟ้ม
stdio.h ซึ่งเป็นแฟ้มที่มีอยู่ในคลัง เมื่อโปรแกรมมีการใช้ข้อความสั่งอ่านและบันทึก
ข้อความสั่งตัวประมวลผลก่อนจะต้องเขียนไว้ตอนต้นขอโปรแกรม
     1.2 รหัสต้นฉบับ (source
code) รหัสต้นฉบับ หมายถึง
ตัวโปรแกรมที่ประกอบด้วยข้อความสั่งและตัวฟังก์ชั่นต่างๆ
     1.3 ข้อความสั่งประกาศครอบคลุม
(global declaration statements)ข้อความสั่งประกาศครอบคลุมใช้ประกาศตัวแปรส่วนกลาง
โดยที่ตัวแปรส่วนกลางนั้นจะสามารถถูกเรียกใช้จากทุกส่วนของโปรแกรม
   1.4 ต้นแบบฟังก์ชัน (function
prototype)ต้นแบบฟังก์ชันใช้ประกาศฟังก์ชัน
เพื่อบอกให้ตัวแปลโปรแกรมทราบถึงชนิดของค่าที่ส่งกลับและชนิดของค่าต่างๆ ที่ส่งไปกระทำการในฟังก์ชัน
    1.5 ฟังก์ชันหลัก (main
function) เมื่อสั่งให้กระทำการโปรแกรม ฟังก์ชันหลักจะเป็นจุดเริ่มต้นของการกระทำการ
ภายในฟังก์ชันหลักจะประกอบด้วยข้อความสั่งและข้อความสั่งที่เรียกใช้ฟังก์ชั่น
     1.6 ฟังก์ชัน (function) ฟังก์ชัน หมายถึง กลุ่มของข้อความสั่งที่ทำงานใดงานหนึ่งโดยเป็นอิสระจากฟังก์ชันหลัก
แต่อาจมีการรับส่งค่าระหว่างฟังก์ชันและฟังก์ชันหลัก
    1.7
ข้อความสั่งประกาศตัวแปรเฉพาะที่ (local declaration statements) ข้อความสั่งประกาศตัวแปรเฉพาะที่ ใช้ประกาศตัวแปรเฉพาะที่
โดยที่ตัวแปรเฉพาะที่จะสามารถถูกเรียกใช้เฉพาะภายในฟังก์ชันนั้น
    1.8 การแปลและกระทำการโปรแกรม
(program compilation and execution) เมื่อได้เขียนและป้อนข้อความสั่งตัวประมวลผลก่อนและรหัสต้นฉบับลงในโปรแกรมอิดิเตอร์เสร็จแล้วจะต้องเรียกตัวแปรโปรแกรมมาเพื่อให้แปลภาษาซีให้เป็นภาษาเครื่อง
หากโปรแกรมนั้นเขียนได้ถูกต้องตรงตามกฎของภาษาซี ตัวแปรโปรแกรมจะแปลโปรแกรมภาษาซีให้เป็นภาษาเครื่อง
แล้วนำไปเก็บไว้ในแฟ้มชื่อเดียวกันแต่มีนามสกุลเป็น .obj จากนั้นตัวเชื่อมโยง
(linker) จะต้องนำฟังก์ชันจากคลัง (library function)
ต่างๆที่โปรแกรมได้เรียกใช้มารวมเข้ากับแฟ้ม .obj แล้วนำไปเก็บไว้ในแฟ้มชื่อเดิม แต่มีนามสกุลไฟล์เป็น .exe เมื่อต้องการกระทำการโปรแกรมก็สามารถป้อนข้อมูลเข้า (input data) ให้กับโปรแกรม ซึ่งจะได้ผลการกระทำ (output)
โครงสร้างพื้นฐานของภาษา C
    โครงสร้างพื้นฐานของโปรแกรมภาษา
C ประกอบไปด้วยโปรแกรมย่อย หรือเรียกว่าฟังก์ชัน (function) อย่างน้อย 1 ฟังก์ชัน คือ ฟังก์ชัน main() ซึ่งมีรูปแบบดังนี้
ฟังก์ชัน main() ประกอบด้วย 3 ส่วนหลัก คือ
1. ส่วนหัวของฟังก์ชัน
ประกอบด้วย ชนิดข้อมูล void ชื่อฟังก์ชัน main ตามด้วยเครื่องหมาย () ตามลำดับ
2. ส่วนการประกาศตัวแปร
ใช้สำหรับประกาศตัวแปรชนิดต่างๆ เพื่อเก็บข้อมูลระหว่างการประมวลผล
3. ส่วนคำสั่ง
ประกอบด้วยคำสั่งที่เกี่ยวข้องกับการรับเข้าและการแสดงผลข้อมูล
และคำสั่งประมวลผลอื่นๆ
ส่วนการประกาศตัวแปรและคำสั่งจะต้องเขียนอยู่ระหว่างเครื่องหมาย
{ และ } เสมอ
ทั้งสองส่วนนี้ใช้สำหรับการนิยามการทำงานของฟังก์ชัน main() หรือเป็นการนิยามการทำงานของโปรแกรม
และคำสั่งทุกคำสั่งในภาษาซี จะต้องปิดท้ายด้วยเครื่องหมาย ; เสมอ
การแสดงผลลัพธ์เบื้องต้น
คำสั่งที่ใช้สำหรับแสดงผลคือ
คำสั่ง printf ()
            โปรแกรมพิมพ์ข้อความออกทางจอภาพ
ผลลัพธ์คือ
          the
first output from C
บรรทัดที่ 1
เป็นการใช้คำสั่งของตัวประมวลผลก่อนซีที่มีชื่อว่า include ซึ่งขึ้นต้อนด้วยอักขระ # ในที่นี้คำสั่ง #include จะมีผลให้แฟ้มชื่อ stdio.h
ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งที่เกี่ยวข้องกับการรับ
และการแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรม output1.c
เครื่องหมาย
< > ล้อมรอบชื่อแฟ้ม stdio.h
ใช้บอกตำแหน่งของแฟ้มในเครื่องคอมพิวเตอร์ซึ่งในที่นี้คือในสาระบบ (directory) include
บรรทัดที่ 4
เรียกใช้คำสั่ง printf () ซึ่งเป็นเพียงคำสั่งเดียวของโปรแกรม
output1.c การทำงานของโปรแกรม printf () ได้ถูกนิยามในแฟ้มส่วนหัว stdio.h ตามมาตรฐาน ANSI
C และด้วยเหตุนี้โปรแกรม output1.c
จึงต้องมีคำสั่ง #include <stdio.h> เพื่อให้สามารถประมวลผลคำสั่ง printf () ได้ถูกต้อง
จะเห็นได้ว่าขุดอักขระ
\n ที่ปรากฏเป็นส่วนหนึ่งของสายอักขระในบรรทัดที่4 ไม่ได้แสดงผลออกทางจอภาพ เหตุที่เป็นเช่นนี้เนื่องจากว่าอักขระ \ ซึ่งเรียกว่า อักขระหลีก (escape character) มีผลให้อักขระ 1 ตัวที่ตามมา(ในที่นี้คือ n) มีความหมายเปลี่ยนไปจากปกติ สำหรับชุดอักขระ \n คอมไพเลอร์ภาษาซีได้ กำหนดให้มีความหมายเป็น ขึ้นบรรทัดใหม่ และนอกจาก \n
แล้วยังมีชุดอักขระของอักขระหลีกอื่นที่มีความหมายแตกต่างกันออกไป
เช่น
    
การดำเนินการในการเขียนโปรแกรมภาษา 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 | 
| 
++ | 
เพิ่มค่าขึ้น 1 โดย 
a++ จะนำค่าของ a ไปใช้ก่อนแล้วจึงเพิ่มค่าของ
  a ขึ้น 1 
++a จะเพิ่มค่าของ a ขึ้น 1 ก่อนแล้วจึงนำค่าของ a ไปใช้ | 
b=a++; 
จะมีความหมายเทียบเท่ากับ 2
  บรรทัดต่อไปนี้ 
b=a; 
a=a+1; 
b=++a; 
จะมีความหมายเทียบเท่ากับ 2
  บรรทัดต่อไปนี้ 
a=a+1; 
b=a; | 
| 
-- | 
ลดค่า 1 โดย 
a-- จะนำค่าของ a ไปใช้ก่อน
  แล้วจึงลดค่าของ a ลง 1 
--a จะลดค่าของ a ลง 1 ก่อน แล้วจึงนำค่าของ a ไปใช้ | 
b=a--; 
จะมีความหมายเทียบเท่ากับ 2
  บรรทัดต่อไปนี้ 
b=a; 
a=a-1; 
b=--a; 
จะมีความหมายเทียบเท่ากับ 2
  บรรทัดต่อไปนี้ 
a=a-1; 
b=a; | 
ตัวดำเนินการเปรียบเทียบ
ใช้เปรียบเทียบค่า 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 เป็นตัวสั่งงาน  ดังตัวอย่าง
| 
เครื่องหมาย | 
นิพจน์ทางคณิตศาสตร์ในภาษา
  C | 
| 
+ | 
a + b + c | 
| 
- | 
A – b – c | 
| 
* | 
2 * a * b | 
| 
/ | 
A / B | 
ลำดับความสำคัญของเครื่องหมาย
ส่วนใหญ่นิพจน์ที่เขียนขึ้นในโปรแกรมมักจะซับซ้อน 
มีการดำเนินการหลายอย่างปะปนอยู่ภายในนิพจน์เดียวกัน
| 
ลำดับความสำคัญ | 
ลำดับความสำคัญจากสูงไปต่ำ | 
| 
1 | 
( ) | 
| 
2 | 
!, ++, - - | 
| 
3 | 
*, /, % | 
| 
4 | 
+, - | 
| 
5 | 
<, <=, >, >= | 
| 
6 | 
= =, != | 
| 
7 | 
&& | 
| 
8 | 
|| | 
| 
9 | 
*=, /=, %=, += ,-= | 
คำสั่งเบื้องต้นของภาษา C
ฟังก์ชันรับข้อมูล  (input functions)
ในเนื้อหาฟังก์ชันการับข้อมูลของภาษา  C 
มีฟังก์ชันที่ใช้ในการรับข้อมูลจากคีย์บอร์ด  อยู่หลายฟังก์ชันที่จะกล่าวถึง  ดังนี้คือ ฟังก์ชัน  scanf( ), ฟังก์ชัน  getchar( ), ฟังก์ชัน  getch( ), ฟังก์ชัน  getche( )  และฟังก์ชัน  gets( )  ซึ่งแต่ละฟังก์ชันมีรายละเอียดของการใช้งานดังนี้
ฟังก์ชัน scanf( )
เป็นฟังก์ชันที่ใช้ในการรับข้อมูล จากคีย์บอร์ดเข้าไปเก็บไว้ในตัวแปรที่กำหนดไว้โดยสามารถรับข้อมูลที่เป็นตัวเลขจำนวนเต็ม
ตัวเลขทศนิยม ตัวอักขระตัวเดียว หรือข้อความก็ได้
รูปแบบการใช้งานฟังก์ชัน
scanf(control
string, argument list);
โดยที่ 
control  string 
คือ 
รหัสรูปแบบข้อมูล (format code) 
โดยจะต้องเขียนอยู่ภายใต้เครื่องหมาย  “……..” 
(double  quotation)
argument
list คือ 
ชื่อตัวแปรที่ใช้เก็บข้อมูลโดยจะต้องใช้เครื่องหมาย  & 
(ampersand)  นำหน้าชื่อตัวแปร  ยกเว้นตัวแปรชนิด  string 
ไม่ต้องมีเครื่องหมาย 
&  นำหน้าชื่อ  ถ้ามีตัวแปรมากกว่า  1 
ตัวแปร 
ให้ใช้เครื่องหมาย  ,  (comma) 
คั่นระหว่างตัวแปรแต่ละตัว
ตาราง แสดงรหัสรูปแบบข้อมูลที่สามารถใช้ในฟังก์ชัน
printf()
| 
รหัสรูปแบบ 
(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 | 
| 
%p | 
ใช้แสดงค่า  address  ของตัวแปรพอยเตอร์ | 
ตัวอย่างโปรแกรม
#include<stdio.h>                                                  
void
main(void)                                                      
{                                                                          
      int 
a;                                                                
      scanf("%d", &a);                                             
}   
ฟังก์ชัน  getchar( )
เป็นฟังก์ชันที่ใช้รับข้อมูลจากคีย์บอร์ดเพียง  1 
ตัวอักขระ 
โดยการรับข้อมูลของฟังก์ชันนี้จะต้องกดแป้น  enter 
ทุกครั้งที่ป้อนข้อมูลเสร็จ 
จึงทำให้เห็นข้อมูลที่ป้อนปรากฏบนจอภาพด้วย 
ถ้าต้องการนำข้อมูลที่ป้อนผ่านทางคีย์บอร์ดไปใช้งาน  จะต้องกำหนดตัวแปรชนิด  single 
character  (char)  ขึ้นมา  1 
ตัว 
เพื่อเก็บค่าข้อมูลที่รับผ่านทางคีย์บอร์ด 
ในทางตรงกันข้ามถ้าไม่ต้องการใช้ข้อมูลที่ป้อนผ่านทางคีย์บอร์ดก็ไม่ต้องกำหนดตัวแปรชนิด  char 
ขึ้นมา    
รูปแบบการใช้งานฟังก์ชัน
getchar( );
หรือ  char_var
= getchar( );
โดยที่
getchar( )  คือ  ฟังก์ชันที่ใช้รับข้อมูลเพียง  1  ตัวอักขระจากคีย์บอร์ด  โดยฟังก์ชันนี้จะไม่มี  argument ซึ่งอาจจะใช้ getchar(void)
แทนคำว่า getchar( ) ก็ได้ แต่นิยมใช้ getchar(
) มากกว่า  
char_var  คือ  ตัวแปรชนิด 
char  ซึ่งจะเก็บข้อมูล  1 
ตัวอักขระที่ป้อนผ่านทางคีย์บอร์ด
ตัวอย่างโปรแกรม
 /*         
getchar1.c          */
#include<stdio.h>                                                                        
#include<conio.h>                                                                      
void main(void)                                                                             
{                                                                                                  
     
char  cha;                                                                             
     
clrscr( );                                                          
                      
     
printf("Enter a single character : ");                                  
     
cha = getchar( );                                                                
     
printf("You type a character is ...%c \n",cha); 
}  
ฟังก์ชัน  getch( )
เป็นฟังก์ชันที่ใช้รับข้อมูลเพียง  1 ตัวอักขระเหมือนกับฟังก์ชัน
getchar( )  แตกต่างกันตรงที่เมื่อใช้ฟังก์ชันนี้รับข้อมูล 
ข้อมูลที่ป้อนเข้าไปจะไม่ปรากฏให้เห็นบนจอภาพและไม่ต้องกดแป้น  enter 
ตาม    
รูปแบบการใช้งานฟังก์ชัน
getch( );
หรือ  char_var = getch( );       
โดยที่
getch( )  คือ
ฟังก์ชันที่ใช้รับข้อมูลเพียง  1  ตัวอักขระจากคีย์บอร์ด  โดยฟังก์ชันนี้จะไม่มี  argument  ดังนั้นอาจจะใช้  getch(void)  แทนคำว่า  getch( )  ก็ได้  แต่นิยมใช้ 
getch( )  มากกว่า
char_var  คือ  ตัวแปรชนิด 
char  ซึ่งจะเก็บข้อมูล  1 
ตัวอักขระที่ป้อนผ่านทางคีย์บอร์ด
โปรแกรมตัวอย่าง
แสดงโปรแกรมการใช้ฟังก์ชัน  getch(
) 
 /*         
getch1.c            */
#include<stdio.h>                                                                          
#include<conio.h>                                                                          
void main(void)                                                                              
{                                                                                      
             
     
char  ch;                                                                               
     
clrscr( );                                                                                
     
printf("Enter a single character : ");                                  
     
ch = getch( );                                                                     
     
printf("\nYou type a character is ...%c \n",ch);                
     
getch( );                                               
                             
}
ฟังก์ชัน  gets( )
เป็นฟังก์ชันที่ใช้รับข้อมูลชนิดข้อความ  (string)  จากคีย์บอร์ด 
จากนั้นนำข้อมูลที่รับเข้าไปเก็บไว้ในตัวแปรสตริง  (string  variables) 
ที่กำหนดไว้
รูปแบบการใช้งานฟังก์ชัน
 gets(string_var);
โดย
string_var  คือ  ตัวแปรสตริง 
ซึ่งจะใช้เก็บข้อมูลชนิดข้อความ  (string  constant)
gets( )       คือ  ฟังก์ชันที่ใช้รับข้อความจากคีย์บอร์ด  แล้วไปเก็บไว้ในตัวแปรสตริง
โปรแกรมตัวอย่าง
แสดงโปรแกรมการใช้ฟังก์ชัน  gets( )
/*         
gets1.c              /
#include<stdio.h>                                                                      
#include<conio.h>                                                                         
void main(void)                                                                    
          
{                                                                                                   
     
char pro[50];                                                                       
     
clrscr( );                                                                                
     
printf("Enter your province : ");                                       
     
gets(pro);                                                                            
     
printf("Your province is ...%s\n", pro);                              
     
getch( );                                                                              
}
สรุปข้อแนะนำการใช้ฟังก์ชันรับข้อมูล  (input 
functions)
-
เมื่อต้องการรับค่าข้อมูล  string  ควรใช้ฟังก์ชัน  gets( )  หรือ  scanf( )
- เมื่อต้องการรับตัวเลขหรือตัวอักษรเพียง  1  ตัว 
ที่ไม่ต้องการเห็นบนจอภาพ 
และไม่ต้องกดแป้น  enter  ควรใช้ฟังก์ชัน  getch( ) แต่ถ้าต้องการเห็นบนจอภาพด้วยควรใช้ฟังก์ชัน  getche( )
- เมื่อต้องการรับข้อมูลตัวเลขที่มากกว่า  1  ตัว 
เช่น  ตัวเลขจำนวนเต็มหรือตัวเลขทศนิยม  ควรใช้ฟังก์ชัน  scanf( )
- กรณีที่ใช้ฟังก์ชัน  scanf( )  รับข้อมูลติดต่อกันมากกว่า  2 
ครั้ง 
อาจเกิดความผิดพลาดในการรับข้อมูล 
ดังนั้นจึงควรใช้คำสั่ง  ch
= getchar( );  คั่นก่อนที่จะรับข้อมูลครั้งที่  3 
โดยจะต้องมีคำสั่งประกาศตัวแปร  char 
ch;  ไว้ด้วย          
ที่มา : http://wmcclaguage.blogspot.com/p/4.html     
แสดงผลให้เป็นระเบียบด้วยอักขระควบคุมการแสดงผล
นอกจากนี้เรายังสามารถจัดรูปแบบการแสดงผลให้ดูเป็นระเบียบมากขึ้น เช่น
การขึ้นบรรทัดใหม่หลังแสดงข้อความ หรือเว้นระยะแท็บระหว่างข้อความ
โดยใช้อักขระควบคุมการแสดงผลร่วมกับคำสั่ง printf ในภาษาซีมี
อักขระควบคุมการแสดงผลหลายรูปแบบด้วยกัน ดังแสดงต่อไปนี้
| 
อักขระควบคุมการแสดงผล | 
ความหมาย | 
| 
\n | 
ขึ้นบรรทัดใหม่ | 
| 
\t | 
เว้นช่องว่างเป็นระยะ
  1 แท็บ (6 ตัวอักษร) | 
| 
\r | 
กำหนดให้เคอร์เซอร์ไปอยู่ต้นบรรทัด | 
| 
\f | 
เว้นช่องว่างเป็นระยะ
  1 หน้าจอ | 
| 
\b | 
ลบอักขระสุดท้ายออก
  1 ตัว | 
ตัวแปร (variables)
คอมพิวเตอร์มีส่วนประกอบที่สำคัญส่วนหนึ่งคือ
หน่วยความจำ ซึ่งเปรียบได้กับสมองของมนุษย์ทำหน้าที่เก็บข้อมูลในขณะที่ประมวลผล ในการประมวลผลแต่ละครั้งมักต้องใช้ข้อมูลจำนวนมาก
ซึ่งจำเป็นจะต้องเก็บไว้ในหน่วยความจำ เป็นเก็บแล้วจะต้องทราบตำแหน่งที่นำข้อมูลเข้าไปเก็บไว้ภายในของหน่วยความจำด้วย
เพื่อให้สามารถนำข้อมูลเหล่านั้นกลับมาประมวลผลได้ ดังนั้นตัวแปรจึงมีหน้าที่สำคัญที่ช่วยในการเก็บข้อมูลแต่ละประเภทที่ผู้ใช้ป้อนเข้าสู่โปรแกรม
ชนิดข้อมูล (data
types)
        ข้อมูลที่ใช้ในโปรแกรมมีหลายชนิด
ซึ่งนักเขียนโปรแกรมต้องเลือกใช้ตามความเหมาะสมกับการใช้งาน
ข้อมูลมีขนาดที่แตกต่างกันไปตามชนิดข้อมูล นอกจากนี้แล้ว ชนิดข้อมูลยังอาจมีขนาดที่แตกต่างกันโดยขึ้นกับเครื่องคอมพิวเตอร์และตัวแปลโปรแกรมที่ใช้ในการประมวลผล
แต่โดยทั่วไปแล้วในไมโครคอมพิวเตอร์ ชนิดข้อมูลมีการใช้ในโปรแกรมและขนาดดังนี้
หลักการตั้งชื่อตัวแปร
          1.
ต้องขึ้นต้นด้วยตัวอักษร A-Z หรือ a-z หรือเครื่องหมาย _ (Underscore) เท่านั้น
          2.
ภายในชื่อตัวแปรสามารถใช้ตัวอักษร A-Z หรือ
a-z หรือตัวเลข 0 - 9 หรือเครื่องหมาย
_
          3.
ภายในชื่อห้ามเว้นช่องว่าง หรือใช้สัญลักษณ์นอกเหนือจากข้อ 2
          4.
ตัวอักษรเล็กหรือใหญ่มีความหมายแตกต่างกัน
 ตัวอย่างการตั้งชื่อตัวแปรในภาษา
C ทั้งที่ถูกต้องและไม่ถูกต้องตามหลักการ แสดงดังนี้






