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

7 2โครงสร้าง