การเขียนโปรแกรมภาษาซี
โดย
วิจักษณ ศรีสัจจะเลิศวาจา
ดุษฎี ประเสริฐธิติพงษ
ภาควิชาวิทยาการคอมพิวเตอร
คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
พฤษภาคม 2545
สารบัญ
บทท่ี 1. แนะนํ าภาษาซี
1
1.1 แนะนํ าความเปนมา
1
1.2 รูปแบบโปรแกรมภาษาซี
1
1.3 ตัวแปร
5
1.4 ชนิดขอมูล
6
1.5 การใชตัวแปร
9
1.6 การรับขอมูลและแสดงผลขอมูล
11
แบบฝกหัดบทท่ี 1
17
บทท่ี 2. ตวัด ําเนินการและนิพจน
19
2.1 ตวัด ําเนินการก ําหนดคา
19
2.2 ตวัด ําเนินการคณิตศาสตร
21
2.3 ตวัด ําเนินการก ําหนดคาแบบผสม
23
2.4 ตวัด ําเนินการเพิ่มคาและลดคา
24
2.5 ตวัด ําเนินการเปลี่ยนชนิดขอมูล
25
2.6 ตวัด ําเนินการคอมมา
26
2.7 ตวัด ําเนินการความสัมพันธ
27
2.8 ตวัด ําเนินการความเทากัน
28
2.9 ตวัด ําเนินการตรรกะ
29
2.10 ตวัด ําเนินการเง่ือนไข
31
แบบฝกหัดบทท่ี 2
33
บทท่ี 3. ค ําสั่งควบคุม
35
3.1 คํ าสั่ง if
35
3.2 คํ าสั่ง switch
44
3.3 คํ าสั่ง for
48
3.4 คํ าสั่ง while
53
3.5 คํ าสั่ง do-while
61
แบบฝกหัดบทท่ี 3
64
บทท่ี 4. ฟงกชัน
69
4.1 แนวความคิดในการออกแบบฟงกชัน
69
4.2 รปูแบบของฟงกชัน
73
4.3 การประกาศโปรโตไทปของฟงกชัน
77
4.4 ขอบเขต
79
4.5 ฟงกชันแบบเรียกซํ้ า
81
4.6 ตวัอยางเพิ่มเติม
84
4.7 ไลบรารีมาตรฐานของภาษาซี
87
แบบฝกหัดบทท่ี 4
90
บทท่ี 5. พอยนเตอร
94
5.1 พอยนเตอรกับแอดเดรส
94
5.2 การประกาศตัวแปรพอยนเตอร
95
5.3 การก ําหนดคาและการอานคาตัวแปรพอยนเตอร
95
5.4 พอยนเตอรและอารกิวเมนทของฟงกชัน
99
แบบฝกหัดบทท่ี 5
110
บทท่ี 6. ตัวแปรชุด
113
6.1 รูปแบบการประกาศตัวแปรชุด
113
6.2 การใชพอยนเตอรกับตัวแปรชุด
125
6.3 ตวัแปรชุดของตัวอักขระ
128
6.4 การคํ านวณกับแอดเดรส
131
6.5 ฟงกชันมาตรฐานของสตริง
133
6.6 ตัวแปรชุดแบบหลายมิติ
135
6.7 การก ําหนดคาเริ่มตนใหกับตัวแปรชุด 2 มิติ
138
6.8 การใชงานตัวแปรชุด 2 มิติ
138
6.9 คอมมานไลนอารกิวเมนท
146
แบบฝกหัดบทท่ี 6
149
บทท่ี 7. โครงสรางและยูเนียน
152
7.1 ความรูท่ัวไปเก่ียวกับโครงสราง
152
7.2 การใชงานตัวแปรโครงสราง
153
7.3 การเก็บขอมูลแบบโครงสราง
158
7.4 การใชขอมูลแบบโครงสรางกับฟงกชัน
160
7.5 การใชพอยนเตอรกับตัวแปรโครงสราง
163
7.6 การใชค ําสั่ง typedef กบัโครงสราง
167
7.7 การใชตัวแปรชุดเปนสมาชิกของโครงสราง
169
7.8