1. บทท 3
พนฐาน
โปรแกรมภาษา C
อ.วราวฒ แขงขน
มหาวทยาลยราชภฏสวนดสต ศนยพษณโลก
2. เนอหา
1.ประวตความเปนมา
2.ข!อดของภาษา C
3.กระบวนการแปลโปรแกรมภาษา C
4.ตดตงโปรแกรม
5.โครงสร!างโปรแกรมภาษา C
6.กฎเกณฑ(ของโปรแกรมภาษา C
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 2
3. เนอหา (ตอ)
7.ตวแปรในภาษา C
8.ตวด*าเนนการในภาษา C
9.นพจน(ในภาษา C
10.การเปลยนชนดข!อม.ลของตวแปรในภาษา C
11.การแสดงผลในภาษา C
12.การรบข!อม.ลในภาษา C
13.หมายเหต1 (Comment)
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 3
4. 1. ประวตความเปนมา
ภาษา ภาษา ภาษา
BCPL B C
Basic Combined บนเครอง พ.ศ. 2515
Programming PDP-7 โดย เดนนช รทช
Language (Unix)
พ.ศ. 2513
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 4
25. การต!งชอต!วแปรในภาษา C (ตอ)
●
ห!ามตงชอซ*ากบค*าสงวน (Reserved Word) หรอ
ค*าสงทใช!ในภาษา C
auto break case char const
continue default do double else
enum extern float for goto
it int long register return
short signed sizeof static struct
switch typedef union unsigned void
volatile while etc.
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 25
26. ต.ย. การต!งชอต!วแปรในภาษา C
Correct Incorrect
average pi 3rd_entry all$done
number_of_students the end int
entry_total entryTotal
all_total allTotal
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 26
27. การประกาศต!วแปร
ร-ปแบบ:
type name;
Example:
int n;
โดยท: float f;
type คอ ชนดของตวแปร char c;
name คอ ชอของตวแปร double d;
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 27
28. การก.าหนดคาใหก!บต!วแปร
ร-ปแบบ:
type name = value;
Example:
int n = 10;
โดยท: float f = 10.5;
type คอ ชนดของตวแปร char c = 'A';
name คอ ชอของตวแปร double d = 250.00;
value คอ ค3าทก*าหนดให!กบตวแปร
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 28
29. 8. ต!วด.าเนนงานในภาษา C
● Assignment Statement
● Arithmetic Operators
● Increment/Decrement Operators
● Other Assignment Operators
● Comparison Operators
● Logical Operators
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 29
34. Example 6 (ex0306.c)
#include <stdio.h>
#include <stdlib.h>
int main( ) {
int a = 5, b = 2;
int z; a+b=7
a-b=3
z = a + b;
a * b = 10
printf("a + b = %dn", z);
z = a – b;
printf("a - b = %dn", z);
z = a * b;
printf("a * b = %dn", z);
system(“PAUSE”);
return 0; 34
}
35. Example 7 (ex0307.c)
#include <stdio.h>
#include <stdlib.h>
int main( ) {
int a = 5, b = 2;
int z;
div = 2
z = a / b; mod = 1
printf(“div = %dn", z);
z = a % b;
printf(“mod = %dn", z);
// printf(“a %% b = %dn”, z);
system(“PAUSE”);
return 0;
} บทท 3 พนฐานของโปรแกรมภาษา C 35
36. Increment/Decrement Operators
●
เปนการเพมค3า/ลดค3าทละหน4ง
●
การเพมค3าทละหน4ง ใช!เครองหมาย ++
●
การลดค3าทละหน4ง ใช!เครองหมาย –
int i = 5, j = 4;
i++; // i = i + 1; result = 6
--j; // j = j – 1; result = 3
++i; // i = i + 1; result = 7
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 36
41. Example 10 (ex0310.c)
#include <stdio.h>
#include <stdlib.h>
int main( ) {
int a = 5, b = 1; Before b = 1
After b = 6
printf(“Before b = %dn”, b);
b += a; // b = b + a;
printf(“After b = %dn”, b);
system(“PAUSE”);
return 0;
} บทท 3 พนฐานของโปรแกรมภาษา C 41
46. 9. นพจน'ในภาษา C (ตอ)
●
การเขยนนพจน'ในภาษา C
คอ การน*าข!อม.ลและตวแปรในภาษา C มาด*าเนน
การด!วยเครองหมายทางคณตศาสตร( ตรรกศาสตร(
หรอ เครองหมายเปรยบเทยบในภาษา C เปนตวสง
งาน
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 46
47. 9. นพจน'ในภาษา C (ตอ)
●
นพจน'ทางคณตศาสตร'
การเขยนจะเหมอนกบการเขยนนพจน(ทาง
คณตศาสตร(ตามปกต เพยงแต3เปลยนมาใช!
เครองหมายทางคณตศาสตร(ของภาษา C แทน ซ4ง
ต!องระวงเครองหมายบางตวทใช!ไม3เหมอนกน เช3น
การค.ณจะใช!เครองหมาย * แทน x หรอหารจะใช!
เครองหมาย / แทน
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 47
48. 9. นพจน'ในภาษา C (ตอ)
●
นพจน'ทางตรรกศาสตร'
คอ การเขยนนพจน(โดยใช!เครองหมายการด*าเนน
การทางตรรกศาสตร(ในภาษา C (&&, ||, !) เปนตวสง
งาน ซ4งส3วนใหญ3แล!วนพจน(ทางตรรกศาสตร(จะอย.3
รวมกบนพจน(ประเภทอนๆ เช3น
c && (a <= b), (b >= c) || (c <= a)
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 48
49. 9. นพจน'ในภาษา C (ตอ)
●
ล.าด!บเครองหมายในการค.านวณ
ส3วนใหญ3นพจน(ทเขยนข4นในโปรแกรมมกจะมความ
ซบซ!อน มการด*าเนนการหลายอย3างปะปนอย.3
ภายในนพจน(เดยวกน เช3น
a / b + 15 * c หรอ (a – b) * 10 / c && d + 5
ซ4งผลลพธ(จะออกมาเปนอย3างนน ต!องพจารณา
จากล*าดบความส*าคญก3อนหลงของเครองหมายท
ภาษา C ก*าหนดไว!
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 49
51. 10. การเปลยนชนดขอม-ลของต!วแปร
ในภาษา C
ถ!าน*าตวแปรต3างชนดมาด*าเนนการร3วมกน เช3น int +
float หรอ int – char การทจะด*าเนนการตาม
เครองหมายได!นนจะต!องเปลยนชนดของตวแปรให!เปน
ชนดเดยวกนก3อน โดยวธการเปลยนตวแปรในภาษา C
เรยกว3า Casting ซ4งมอย.3 2 ร.ปแบบ คอ
●
การเปลยนชนดข!อม.ลของตวแปรอตโนมต
●
การเปลยนชนดข!อม.ลของตวแปรโดยใช!ค*าสง
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 51
52. การเปลยนชนดขอม-ลของต!วแปร
อ!ตโนม!ต
●
เราไม3ต!องท*าอะไร ตวแปลภาษา C จะจดการให!
ทงหมด โดยใช!หลกการเปลยนชนดของตวแปร
ขนาดเล<กกว3าไปตามชนดของตวแปรทมขนาดใหญ3
กว3า
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 52
53. ตารางการเปลยนชนดขอม-ลของ
ต!วแปรแบบอ!ตโนม!ต
Var.1 Var. 2 Var. 3
char int char → int
int long int → long
int unsinged int int → unsinged int
int float int → float
int double int → double
float double float → double
long double long → double
double long double double → long double
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 53
54. Example 11 (ex0311.c)
#include <stdio.h>
#include <stdlib.h>
int main( ) {
int n = 5;
float f = 3.5, r; r = 8.500000
r = n + f;
printf(“r = %fn”, r);
system(“PAUSE”);
return 0;
}
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 54
62. Example 13 (ex0313.c)
#include <stdio.h>
#include <stdlib.h>
int main( ) {
int a = 5, b = 10, c; 5 10
15
printf(“%dt%dn”, a, b);
c = a + b;
printf(“%d”, c);
system(“PAUSE”);
return 0;
}
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 62
70. Example 16 (ex0316.c)
#include <stdio.h>
#include <stdlib.h>
Input number to 2 value : 3 6
int main( ) {
a+b=9
int a, b, c;
printf(“Input number to 2 value : “);
scanf(“%d %d”, &a, &b);
c = a + b;
printf(“a + b = %dn”, c);
system(“PAUSE”);
return 0;
}
K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 70
71. Example 17 (ex0317.c)
#include <stdio.h>
#include <stdlib.h>
Input number to a : 3
int main( ) { Input number to b : 6
int a, b, c; a+b=9
printf(“Input number to a : “);
scanf(“%d”, &a);
printf(“Input number to b : “);
scanf(“%d”, &b);
c = a + b;
printf(“a + b = %dn”, c);
system(“PAUSE”);
return 0; 71
}