C-programming

C Programming : เขียนโปรแกรมภาษา C แบบพื้นฐาน ตอนที่ 1 – Basic

ทำไมต้องเริ่มที่ภาษา C

ภาษา C เป็นรากฐานของหลายๆภาษาในเชิงโปรแกรมมิ่ง จากนั้นก็ขยับไป C++ Java C# รูปการเขียนก็ง่าย ไม่ซับซ้อน แต่ทั้งนี้ทั้งนั้นไม่จำเป็นต้องเริ่มที่ภาษา C ก็ได้ แต่ถ้าใครจะเริ่มหัดเขียนโปรแกรม แนะนำให้เริ่มรู้จักที่ภาษา C ก่อน

รู้จักโปรแกรม Dev C

ดาวน์โหลด

https://sourceforge.net/projects/orwelldevcpp/


ติดตั้งโปรแกรมให้เสร็จ

สร้างไฟล์ ไปที่ New > Source File

จะได้หน้าเปล่าๆขึ้นมา สำหรับเขียน code

ให้ทำการ save ก่อน สังเกตว่า นามสกุลจะมีให้เลือก คือ .c หรือ .cpp

.c คือ สำหรับภาษา C

.cpp คือ สำหรับ ภาษา C++ และเราสามารถใช้ C++ เขียน C ได้

.h คือ สกุลของไลบรารี่

ให้เลือก .c แล้วกด save

การ Compile & Run กด F11 หรือกดปุ่มดังรูป

Compile คือ แปลง code ที่เราเขียนเป็น ภาษาโปรแกรมที่ computer เข้าใจ

Compiler คือ ตัวที่ทำหน้าที่ compile

Run คือ การเปิดโปรแกรมที่ compile แล้วขึ้นมา

เรื่องสำคัญที่ควรทราบ

Syntax

ทุกคำสั่งการทำงานจะต้องปิดท้ายด้วย ; (Semi-colon) เช่น

นอกนั้นก็ + , – , * , / ได้ตามสมการปกติ ใช้วงเล็บได้ ( )

เช่น สมการ (10+5)/5

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

// เพื่อคอมเม้น 1 บรรทัด และ

/* */ แทนหลายๆบรรทัด เช่น

Case sensitive

คือ ชื่อ abc จะไม่เท่ากับ ABC หรือ aBc

Data Type

ชนิดของข้อมูลพื้นฐาน ที่ควรรู้ คือ

char = ตัวหนังสือ

int = ตัวเลข จำนวนเต็ม -1 -2 0 1 2 3 4 ….

long = เลขจำนวนเต็มเยอะๆ

float = ตัวเลขทศนิยม เช่น 1.5

double = ตัวเลขทศนิยมที่มีจำนวนมากๆ

และถ้าเป็น char จะต้องมี (single quote) ปิดหน้าหลังเสมอ

Variable name and Reserve word

การตั้งชื่อ ตัวแปรต่างๆในโปรแกรมมีกฏอยู่เล็กน้อย เช่น ห้ามมีเลขขึ้นต้น ห้ามมีอักษรพิเศษ และห้ามเป็นชื่อเฉพาะ

age_city2 แบบนี้ ถูกต้อง

2age_city แบบนี้ ผิด เพราะ ตัวเลขขึ้นต้นไม่ได้

age฿city แบบนี้ ผิด เพราะ มีอักขระพิเศษ

main แบบนี้ ผิด เพราะ เป็น key word หรือชื่อเฉพาะ

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


รู้จักกับ #include

#include คือการระบุว่า เราจะนำ library หรือ code ที่มีคนเขียนไว้แล้วมาใช้ในโปรแกรมเรา ซึ่งเจ้านี่จะมีนามสกุล .h

เช่น เราต้องการแสดงข้อมูลบนหน้าจอ ก็ต้องอันเชิญ stdio.h (Standard Input/Ouput) เข้ามาในโปรแกรมก่อน โดยจะเขียนไว้ด้านบนสุดของไฟล์

รู้จักกับฟังชันก์ main

main คือชื่อฟังก์ชันที่เป็นจุดเริ่มทำงานของโปรแกรม พูดง่ายๆคือเปิดโปรแกรมขึ้นมา มันจะมาทำงานที่นี่ โดยจะทำงานตั้งแต่ { ปีกกาเปิด ถึง } ปีกกาปิด จึงเขียนได้ว่า


รู้จักฟังชันก์ printf()

printf คือ ฟังชันก์ ใน stdio.h ดังนั้นก่อนใช้ต้องอัญเชิญ stdio.h มาก่อนนะ ความสามารถของมันคือ ปริ้นข้อความ เช่น

เราจะได้ข้อความ “Hello world”

ถ้าเป็นข้อความยาวๆ เราจะใช้ ” (double quote)


รู้จักกับการสร้างตัวแปร

การสร้างตัวแปร โดยทั่วไปในทางการเขียนโปรแกรม จะเรียกว่าการประกาศ (Declaration)

ตัวแปร (variable) คือ ตัวที่เก็บข้อมูลของเราไว้ โดยจะต้องระบุ ประเภทขึ้นต้นก่อน เช่น ต้องการบอกว่า ตอนนี้ มีเงินอยู่ 100 บาท ก็แค่สร้างตัวแปร money ขึ้นมา แล้วระบุด้านหน้า money ว่าเป็น int นะ

เปลี่ยนค่ามันก็สามารถกำหนดอีกครั้งแต่ไม่ต้องมี ประเภท

แล้วลอง run

ขึ้นบรรทัดใหม่และการแท็บ

บางทีเราจะปริ้นข้อความอะไรมันก็จะติดกันยาว ทำให้ไม่สวยงาม ซึ่งใน printf สามารถใช้อักษณะพิเศษได้ดังนี้

\n คือ ขึ้นบรรทัดใหม่

\t คือ แท็บ

นำตัวแปรมาใช้กับ printf

บางทีเราก็ต้องการแสดงค่าจาก ตัวแปร ก็สามารถทำได้ แต่เราต้องรู้ก่อนว่ามันทำงานยังไง

แบบนี้คือแสดง ข้อความ “Money = 100” สังเกตว่า 100 จะมาแทน %d นั่นเอง โดย 100 มาจาก money อีกที

แล้วถ้ามีตัวแปรมากกว่า 1 ตัวล่ะ

ก็ใช้รูปแบบเดิม

ลองรันเพื่อดูผล

สังเกตว่า money จะไปแทน %d และ grade จะไปแทน %c ถ้ามี 3 4 5 ตัวหรือมากกว่านี้ ก็ใช้หลักการนี้

ซึ่งต่าง data type กันก็ใช้ % ต่างกันไป เพื่อแสดงผล

อ้างอิงจาก : https://benzneststudios.com/blog/c-programming/c-programming-basic-1/

#include<stdio.h>

int main( )

{

int score;

printf("input score : "); // input score

scanf("%d",&score);

if(score>100)

printf("Error");

else if(score>=80)

printf("Grade 4");

else if(score>=75)

printf("Grade 3.5");

else if(score>=70)

printf("Grade 3");

else if(score>=65)

printf("Grade 2.5");

else if(score>=60)

printf("Grade 2");

else if(score>=55)

printf("Grade 1.5");

else if(score>=50)

printf("Grade 1");

else

printf("Grade 0");

scanf(" ");

return 0;

}