วันพุธที่ 17 พฤษภาคม พ.ศ. 2560

ใบงานที่1เรื่องภาษาซี





ภาษาซี


ภาษาซี (C Programming Language)

คือ ภาษาคอมพิวเตอร์ใช้สำหรับพัฒนาโปรแกรมทั่วไป ถูกพัฒนาครั้งแรกเพื่อใช้เป็นภาษาสำหรับพัฒนาระบบปฏิบัติการยูนิกซ์ ( Unix Opearating System) แทนภาษาแอสเซมบลี ซึ่งเป็นภาษาระดับต่ำที่สามารถกระทำในระบบฮาร์ดแวร์ได้ด้วยความรวดเร็ว แต่จุดอ่อนของภาษาแอซเซมบลีก็คือความยุ่งยากในการโปรแกรม ความเป็นเฉพาะตัว และความแตกต่างกันไปในแต่ละเครื่อง เดนนิส ริตชี (Dennis Ritchie) จึงได้คิดค้นพัฒนาภาษาใหม่นี้ขึ้นมาเมื่อประมาณต้นปี ค.ศ. 1970 โดยการรวบรวมเอาจุดเด่นของแต่ละภาษาระดับสูงผนวกเข้ากับภาษาระดับต่ำ เรียกชื่อว่า ภาษาซี



โครงสร้างของโปรแกรมภาษาซี และตัวอย่าง


โปรแกรมในภาษาซีทุกโปรแกรมจะประกอบด้วยฟังก์ชันอย่างน้อย หนึ่งฟังก์ชัน คือ ฟังก์ชัน main โดยโปรแกรมภาษาซีจะเริ่มทำงานที่ฟังก์ชัน main ก่อน ในแต่ละฟังก์ชันจะประกอบด้วย


1. Function Heading ประกอบด้วยชื่อฟังก์ชัน และอาจมีรายการของ argument (บางคนเรียก parameter) อยู่ในวงเล็บ


2. Variable Declaration ส่วนประกาศตัวแปร สำหรับภาษาซี ตัวแปรหรือค่าคงที่ทุกตัว ที่ใช้ในโปรแกรมจะต้องมีการประกาศก่อนว่าจะใช้งานอย่างไร จะเก็บค่าในรูปแบบใดเช่น interger หรือ real number


3. Compound Statements ส่วนของประโยคคำสั่งต่างๆ ซึ่งแบ่งเป็นประโยคเชิงซ้อน (compound statement) กับ ประโยคนิพจน์ (expression statment) โดยประโยคเชิงซ้อนจะอยู่ภายในวงเล็บปีกกาคู่หนึ่ง { และ } โดยในหนึ่งประโยคเชิงซ้อน จะมีประโยคนิพจน์ที่แยกจากกันด้วยเครื่องหมาย semicolon (;) หลายๆ ประโยครวมกัน และ อาจมีวงเล็บปีกกาใส่ประโยคเชิงซ้อนย่อยเข้าไปอีกได้




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


รับตัวเลขที่กรอกเข้ามาเป็นชนิด int แล้วเก็บค่าไว้ในตัวแปร input จากนั้นนำค่าที่ได้ เป็น index (ตำแหน่งใน *month[]) โดยจะต้องลบด้วย 1(หนึ่ง) เนื่องจาก array ของ month เริ่มต้น index ที่ 0 (ศูนย์)




ตัวอย่างโค้ด


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/***************************************************
 * Author    : CS Developers
 * Author URI: http://www.comscidev.com
 ***************************************************/
   
#include<stdio.h>
 
int main()
{  
    char *month[] = {"January", "February", "March", "April", "May", "June","July",
                     "August", "September", "October", "November", "December"};
     
    int input;
 
    printf("\n Enter number 1-12 of Month : ");
    scanf("%d", &input);
     
    printf("\n Month name is %s \n\n", month[input-1]);
     
    return 0;
}



ผลลัพธ์