โครงสร้างภาษาซี #include ......... <stdio.h> void main() { statement; ………………………….; } 1
Main () function ส่วนฟังก์ชันหลัก ทุก ๆ โปรแกรมจะต้องมี โปรแกรมเริ่มทำงานจากคำสั่งแรกถัดจาก main() แต่ละประโยคต้องจบด้วย ; เริ่มต้นด้วย main() ตามด้วย { และจบด้วย } 2
คำสั่งการทำงานของโปรแกรม เช่น printf(“My name is”); statement กำหนดค่าคงที่ต่างๆ เช่น a = 0; b = 500; การกำหนดตัวแปรต่างๆ เช่น int a,b; float a,b; คำสั่งการทำงานของโปรแกรม เช่น printf(“My name is”); 3
ชนิดตัวแปร Int = จำนวนเต็ม + , - float = เลขทศนิยม char = ตัวอักษร bool = ค่าลอจิก ถูก/ผิด
ประกาศตัวแปร int stdno; float score; การกำหนดชนิดข้อมูลที่จะใช้ในโปรแกรมซึ่งตัวแปรหรือข้อมูลต่าง ๆ นั้นจะต้องถูกประกาศในส่วนนี้ก่อน จึงจะสามารถนำไปใช้ในโปรแกรมได้ เช่น เป็นการกำหนดว่าตัวแปร stdno เป็นข้อมูลชนิดจำนวนเต็ม หรือ interger ซึ่งอาจได้แก่ค่า 0,4,-1,-3,…. เป็นต้น เป็นการกำหนดว่าตัวแปร score เป็นข้อมูลชนิดเลขมีจุด ทศนิยม (floating point)ซึ่งอาจมีค่า 0.23, 1.34 เป็นต้น int stdno; float score;
การแสดงผลและรับค่าข้อมูลเข้า ฟังก์ชันแสดงผลข้อมูล 1. printf() 2. putchar() 3. puts() 6
1. ฟังก์ชัน printf(); เป็นฟังก์ชันในการพิมพ์ข้อความต่าง ๆ ออกทางจอภาพ ต้องทำการ #include “stdio.h” รูปแบบ printf(“ข้อความ รหัส”,ตัวแปร); 7
ฟังก์ชัน printf : ตัวอย่าง printf(“Computer Programming 1”); printf(“Computer\nProgramming 1”); printf(“Result is %f”,area); printf(“Result is\n%f”,area); 8
printf(“Hello World”); //พิมพ์คำว่า Hello World ออกมา } #include “stdio.h” void main() { printf(“Hello World”); //พิมพ์คำว่า Hello World ออกมา } Hello World 9
#include “stdio.h” void main() { printf(“Hello\n”); printf(“World”); } 10
#include “stdio.h” void main() { printf(“Hello\n”); printf(“World\n”); } Hello World 11
ฟังก์ชัน printf : รหัสแบ็กสแลช อักขระ \a bell (กระดิ่ง ) \b backspace \t แท็บตามแนวนอน \n ขึ้นบรรทัดใหม่ \v แท็บตามแนวตั้ง \f ขึ้นหน้าใหม่ \r ปัดแคร่ \” อัญประกาศ \’ อะโพสโตรฟิ \? เครื่องหมายคำถาม \\ แบ็กสแลช \0 นัล 12
ฟังก์ชัน printf : รหัสควบคุมการพิมพ์ 13
2. ฟังก์ชัน putchar() เปนฟงกชันที่มีการแสดงผลทางจอภาพครั้งละ 1 ตัวอักษร ต้องทำการ #include “stdio.h” รูปแบบ putchar(variable); 14
ฟังก์ชัน putchar : ตัวอย่าง #include “stdio.h” void main ( ) { char s; s = ‘A’; putchar(s); } A 15
3. ฟังก์ชัน puts() เปนฟงกชันที่มีการแสดงผลทางจอภาพ ใช้เมื่อตองการแสดงผลของขอมูลที่เปนตัวอักษรความยาวมากกวา 1 ตัว variable หมายถึง ขอมูลที่ตองการแสดงผล จะตองเปน ขอมูลชนิดตัวอักษรความยาวตั้งแต 1 ตัวอักษร รูปแบบ puts(variable); 16
ฟังก์ชัน puts : ตัวอย่าง #include “stdio.h” #include<string.h> void main ( ) { char str[30]; str = “C Programming”; strcpy(str,”C programming”); puts(str); printf(“\nOutput = %s\n”,str); } C Programming 17
ฟังก์ชัน clrscr(); เป็นฟังก์ชันในเคลียร์จอภาพ ต้องทำการ #include “conio.h” รูปแบบ #include <conio.h> void main() { clrscr(); ............... } 18
การแสดงผลและรับค่าข้อมูลเข้า ฟังก์ชันรับข้อมูลเข้า 1. scanf() 2. getchar() 3. getch(), getche() 4. gets() 19
1. ฟังก์ชัน scanf() เป็นฟังก์ชันในการอ่านค่าจากการกดคีย์บอร์ดไปเก็บในตัวแปรที่กำหนด หลังจากกด Enter ขอมูลจะถูกเก็บไวในตัวแปร และเคอรเซอรจะขึ้นบรรทัดใหม่ ต้องทำการ include “stdio.h” รูปแบบ scanf(“Control String”,arg1,arg2,arg3,..); 20
a b int a; float b; scanf(“%d%f”,&a,&b); scanf(“%d%f”,&a,&b); %d%f a,b …22 30…. a b 22 30 Input Stream int a; float b; scanf(“%d%f”,&a,&b); 21
ฟังก์ชัน Scanf : ตัวอย่าง int num; scanf(“%d”,&num); printf(“the value in num variable is %d”,num); char str[80]; printf(“Enter a string : ”); scanf(“%s”,str); printf(“Here ‘s your string : %s”, str); 22
#include < stdio.h > void main ( ) { int years; printf (“How long have you been here? ”); scanf (“%d”, &years); printf (“You’ve been here for %d years.”, years); printf (“\tReally?”); } How long have you been here? 20 You’ve been here for 20 years. Really? 23
2. ฟังก์ชัน getchar() เป็นฟังก์ชันใชสําหรับปอนตัวอักษรผานทางแปนพิมพ โดยจะรับตัวอักษร 1 ตัวเทานั้น และแสดงตัวอักษรบนจอภาพ เมื่อโปรแกรมทํางานถึงคําสั่งนี้ จะหยุดเพื่อใหปอนตัวอักษร 1 ตัว หลังจากกด Enter ตัวอักษรปอนจะถูกเก็บไวในตัวแปร ซึ่งเปนชนิดตัวอักษร และเคอรเซอรจะขึ้นบรรทัดใหม รูปแบบ ch = getchar(); 24
ฟังก์ชัน getchar : ตัวอย่าง #include “stdio.h” void main ( ) { char ch; ch = getchar(); printf(“The Character you typed is %c\n”, ch); } d The Character you typed is d 25
3. ฟังก์ชัน getch(),getche() เปนฟงกชันในการรับขอมูล 1 อักษรโดยไมปรากฎอักษรใหเห็นในการปอนขอมูล และไมตองกด Enter รูปแบบ ch = getch(); เปนฟงกชันในการรับขอมูล 1 อักษรโดยจะปรากฎตัวอักษรใหเห็นในการปอนขอมูล และไมตองกด Enter รูปแบบ ch = getche(); ต้องกำหนด #include<conio.h> 26
ฟังก์ชัน getch : ตัวอย่าง #include “stdio.h” #include “conio.h” void main ( ) { char ch; ch = getch(); printf(“The Character you typed is %c\n”, ch); } The Character you typed is d 27
4. ฟังก์ชัน gets() เปนฟงกชันในการรับขอมูลชนิดสตริงกหรือขอความซึ่งปอนทางแปนพิมพ เมื่อโปรแกรมทํางานถึงคําสั่งนี้ จะหยุดเพื่อใหปอน ขอความ หลังจากกด Enter ขอความทั้งหมดจะถูกเก็บไวในตัวแปรที่เปนอารเรยสตริงก และเคอรเซอรจะขึ้นบรรทัดใหม รูปแบบ gets(variable); 28
ฟังก์ชัน gets : ตัวอย่าง #include “stdio.h” void main ( ) { char str[51]; gets(str); printf(“The Message you typed is %s\n”, str); } test The Message you typed is test 29
เครื่องหมายที่ใช้คำนวณในภาษาซี เครื่องหมายที่ใช้คำนวณในภาษาซีเรียกว่า ตัวดำเนินการ (Operator) มีดังนี้ ตัวดำเนินการ ความหมาย ตัวอย่าง ผลลัพธ์ + การบวก 6 + 8 14 - การลบ 7 – 5 2 * การคูณ 3 * 4 12 / การหาร 8/2 4 ลบ (ยูนารีเครื่องหมายลบ) -5 % โมดูลัส (หาเศษเหลือจากการหาร) 7 % 2 1 4 % 2
การเปลี่ยนชนิดของข้อมูล ทำได้โดยระบุชนิดที่ต้องการเปลี่ยนภายใน เครื่องหมาย ( ) แล้ววางหน้าตัวแปรหรือข้อมูล ที่ต้องการเปลี่ยนแปลงชนิด ตัวอย่าง ถ้าในโปรแกรมภาษาซีมีการประกาศ ตัวแปรเป็น ต้องการเปลี่ยนตัวแปร float ไปเป็น integer ทำได้ดังนี้ float money; (int) money;
นิพจน์กำหนดค่า นิพจน์กำหนดค่า (Assignment expression) เครื่องหมายที่ใช้กำหนดค่าคือ = โดยเป็นการ กำหนดค่าทางขวาของเครื่องหมาย ให้กับตัวแปร ที่อยู่ทางซ้าย เช่น j = 7+2; หรือ k = k + 4;
นิพจน์กำหนดค่า สัญลักษณ์ ความหมาย > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ == เท่ากับ != ไม่เท่ากับ
นิพจน์กำหนดค่า ความแตกต่างของเครื่องหมาย = และ == เครื่องหมาย = เป็นตัวกำหนดค่า เครื่องหมาย == เป็นเครื่องหมายเปรียบเทียบ ตัวอย่างเช่น หมายถึง เป็นการกำหนดค่าให้กับตัวแปร point ให้มีค่าเท่ากับ 44 หมายถึง เป็นการตรวจสอบว่าค่า point มีค่าเท่ากับ 44 หรือไม่ point = 44; point == 44;
เครื่องหมายและนิพจน์แบบตรรกศาสตร์ เครื่องหมายและนิพจน์เปรียบเทียบแบบ ตรรกศาสตร์ && หมายถึง และ (and) | | หมายถึง หรือ (or) ! หมายถึง ไม่ (not) ตัวอย่างเช่น จะได้ค่าความจริงเป็นจริงก็ต่อเมื่อ a และ b เป็นจริงทั้งคู่ จะได้ค่าความจริงเป็นเท็จก็ต่อเมื่อ a และ b เป็นเท็จทั้งคู่ a && b a || b
การเพิ่มค่าและลดค่าตัวแปร สามารถใช้เครื่องหมายต่อไปนี้แทนการเพิ่มหรือ ลดค่าของตัวแปร ++ เป็นการเพิ่มค่าให้กับตัวแปรทีละ 1 -- เป็นการลดค่าตัวแปรทีละ 1 ตัวอย่างเช่น ++n เป็นการเพิ่มค่า n อีก 1 --n เป็นการลดค่า n ลง 1 ความแตกต่างระหว่าง n++ และ ++n เช่น n = 5; x = n++; จะได้ค่า x เท่ากับ 5 แล้วค่า n เท่ากับ 6 แต่ถ้า x = ++n; จะได้ค่า x เท่ากับ 6