ตัวอย่างการเขียนโปรแกรมภาษาซี

ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทำการ ใด ๆ ก่อนการแปลผลโปรแกรม ในที่นี่คำสั่ง #include ใช้บอกกับคอมไพเลอร์ให้นำเฮดเดอร์ไฟล์ที่ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกำหนด preprocessing directives นี้จะต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ

คำสั่งที่ใช้ระบุให้คอมไพเลอร์นำเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ

  • #include <ชื่อเฮดเดอร์ไฟล์> คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สำหรับเก็บเฮดเดอร์ไฟล์โดยเฉพาะ (ปกติคือไดเรกทอรีชื่อ include)
  • #include “ชื่อเฮดเดอร์ไฟล์” คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บเฮดเดอร์ไฟล์โดยเฉพาะ

2. ส่วนของฟังก์ชั่นหลัก

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

3. ส่วนคำสั่ง/ชุดคำสั่งภาษาโปรแกรม

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

ตัวอย่างโปรแกรมภาษาซี

#include <stdio.h>

main()
{
    printf("Hello world!\n");
}

โปรแกรมนี้เป็นโปรแกรมเพื่อแสดงข้อความอย่างง่าย “Hello world!” ออกทางหน้าจอ เราได้ใช้ฟังก์ชันต่างๆ จากไลบรารี่ stdio.h ของภาษา C ที่สามารถให้เราทำสิ่งต่างๆ ได้ แสดงข้อความออกทางจอภาพหรือรับค่าจากคีย์บอร์ด

Hello world!

นี่เป็นผลลัพธ์การทำงานของโปรแกรมซึ่งจะแสดงผลข้อความ “Hello world!” ออกทางหน้าจอ คุณสามารถเปลี่ยนเป็นชื่อของคุณเองแล้วดูผลลัพธ์


สิ่งสำคัญที่ควรรู้

Blocks

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

#include <stdio.h>

int sum(int a, int b)
{
    return a + b;
}

main()
{
    int x = 3, y = 4;

    if (x < y)
    {
        printf("%d\n", sum(x, y));
    }

    printf("Summation program\n", sum(x, y));
}

ในตัวอย่าง เป็นการใช้บล็อคในภาษา C

Comment

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

// Multiple lines comment example
#include <stdio.h>

main()
{
    /* This is my comment
    This another line comment */
    printf("Hello C language\n");
}

ในตัวอย่าง การคอมเมนต์แบบหนึ่งบรรทัด เราจะใช้เครื่องหมาย Double slash (//) และตามด้วยสิ่งที่เราต้องการคอมเมนต์ และการคอมเมนต์หลายบรรทัด มันจะละเว้นทุกอย่างหลังจากการปรากฏครั้งแรกของเครื่องหมาย Slash star (/*) และสิ้นสุดที่ Star slash (*/)

Semicolon

เซมิโคลอน (Semicolon) (;) เป็นสัญลักษณ์ที่ใช้เพื่อแบ่งแยกคำสั่งภายในโปรแกรม ซึ่งมันหมายถึงการจบคำสั่งนั้นๆ เซมิโคลอนใช้ในภาษาต่างๆ และมันเป็นสิ่งที่บังคับ เพื่อให้ตัวคอมไพเลอร์ของภาษาสามารถแยกแยะคำสั่งในการทำงานได้

int a;
int b = 5; b = 2;
printf("%d", a + b);

ในตัวอย่างเรามีสี่คำสั่ง บรรทัดแรกเป็นการประกาศตัวแปร บรรทัดที่สองคุณจะเห็นสองคำสังอยู่ในบรรทัดเดียวกันและมันสิ้นสุดด้วยเซมิโคลอน บรรทัดที่สามจะแสดงค่าผลรวมของตัวแปร a และ b


Keyword

เป็นกลุ่มคําที่ถูกสงวนไว้โดยเราไม่สามารถใช้คําเหล่านี้ในการประกาศเป็นชื่อตัวแปร หรือฟังก์ชัน นี่เป็น Keyword มาตราฐานในภาษา C

autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile

Keyword เหล่านี้มีหน้าที่การทำงานที่แน่นอนซึ่งขึ้นกับวัตุประสงค์ของมัน int, short, float, double ใช้เพื่อประกาศตัวแปร ในขณะที่ if for while เป็นคำสังในการควบคุมการทำงานของโปรแกรม

void i(){

printf("Enter your number : ");

scanf("%d",&x); //รับค่าจากผู้ใช้งานเข้าไปเก็บในตัวแปร x

}

char num(int y){

int num = (x%2); //( % คือการหารเอาเศษ )

if(num == 0){ //เป็นการตรวจสอบเงื่อนไข ถ้า num = 0 ให้ทำใน if ถ้าไม่ใช่ให้ทำใน else

printf("Number is even");

}

else{

printf("Number is odd");

}

return num; //คืนค่ากลับไปที่ num

}

ผลการรันของโปรแกรม

ผลการรัน

ผลการรัน

โปรแกรมบวกเลข

โค้ด

#include
int main()
{
int num1, num2 , SUM; //สร้างตัวแปรเพื่อนำมาเก็บค่า
printf("Enter number 1 : "); //รับค่าจากผู้ใช้งานมา 2 ค่า แล้วนำไปเก็บที่ num1 และ num2
scanf("%d", &num1);
printf("Enter number 2 : ");
scanf("%d", &num2);
SUM = num1 + num2; // สูตรการบวก
printf("SUM = %d\n", SUM); //นำผลลัพธ์ที่ได้มาแสดงออกทางหน้าจอ
}