Transcript Slide 1

Week 1
• Preprocessor Directive
• Comment
• Variable
• cout cin
Week 2
• Operators (ตัวดำเนินกำรคณิตศำสตร์ )
• ตัวดำเนินกำรเพิม่ /ลด ตัวแปร
• ข้ อมูลชนิด Character
• กำรใช้ คำสั่ ง \t และ \n
Week 3
• กำรวน Loop โดยใช้ คำสั่ ง For
Week 4
• กำรวน Loop โดยใช้ While
• do…while
Week 5
• ทดสอบย่ อยครั้งที่ 1
Week 6
• if…..else
• if….else if …else
• switch case
Week 7
• ข้ อมูลชนิด Character
• กำรใช้ คำสั่ ง \t และ \n
• Array
Week 8
• Function
Week 9
• สอบกลำงภำค
Week 10
• Visual C++ 6
• ภำษำ C และแนวคิดแบบ OOP
• Class & Object
• สภำพแวดล้ อมใน Visual C++ 6
Week 11
• กำรสร้ ำง Control Static
• กำรเปลีย่ นตัวอักษรโดยใช้ คลำส CFont
• สร้ ำงป่ ุมกดโดยใช้ คลำส CButton
• Message Map
Week 12
• Class CScrollBar
• CEdit (กรอบรับข้ อควำม)
• CListBox
• CComboBox
Week 13
• Resource Script
• กำรสร้ ำง Icon
• กำรสร้ ำงและติดตั้ง Menu
• กำรสร้ ำง Dialog (CDialog)
• กำรสร้ ำง Hotkey
Week 14
• ทดสอบย่ อย ครั้งที่ 2
Week 15
• Appwizard
• Dialog - Bassed
• Classwizard
• Textbox
Week 16
• Check Box
• Radio Box
Week 17
• ListBox
• Combo Box
Week 18
• สอบปลำยภำค
เกณฑ์ การประเมินผล
• คะแนนกลำงภำค
60 คะแนน
- สอบกลำงภำค
20
- ทดสอบย่ อย
20
- รำยงำน
10
- พฤติกรรม
10
• คะแนนปลำยภำค 40 คะแนน
- สอบปลำยภำค
20
- รำยงำน
10
- พฤติกรรม
10
รวม 100 คะแนน
ร้ ูจกั กับภาษา C
ภาษา C เป็ นภาษาทีเ่ ก่าแก่ ซึ่งถูกพัฒนาเพือ่ ให้ เป็ นภาษาสาหรับ
การสร้ างระบบปฏิบัติการ UNIX เพระของเดิมนั้นเขียนด้ วยภาษา Assembly
ซึ่งเป็ นภาษาที่ยดึ ติดกับ H/W จึงทาให้ ย้ายระบบปฏิบัติการไปทางานกับเครื่อง
อืน่ ๆเป็ นเเรื่องทีเ่ ป็ นไปไม่ ได้
ดังนั้น ภาษา C จึงเป็ นภาษาที่ไม่ ยดึ ติดกับ H/W และในปัจจุบัน
ยังไม่ ยดึ ติดกับการสร้ างระบบปฏิบัติการเท่ านั้น แต่ ยงั นาไปสร้ างโปรแกรม
เพือ่ งานทุกประเภทได้
ประวัติความเป็ นมาของภาษาซี
ปี ค.ศ. 1972 Dennis Ritchie เป็ นผู้คดิ ค้ นสร้ ำงภำษำซีขนึ้ เป็ นครั้งแรก
โดยพัฒนำมำจำกภำษำ B และภำษำ BCPL แต่ ขณะนั้นยังไม่ มีกำรใช้ งำน
ภำษำซีอย่ ำงกว้ ำงขวำงนัก จนกระทั่งต่ อมำในปี ค.ศ. 1978 Brain Kernighan
ได้ ร่วมกับ Dennis Ritchie พัฒนำมำตรฐำนของภำษำซีขนึ้ เรียกว่ ำ “K&R”
(Kernighan & Ritchie) และเขียนหนังสื อชื่อ “The C Programming
Language” ออกมำเป็ นเล่มแรก
ทำให้ มีผู้สนใจภำษำซีเพิม่ มำกขึน้ และด้ วยควำมยืดหยุ่นของภำษำซีที่
สำมำรถปรับใช้ งำนกับคอมพิวเตอร์ ชนิดต่ ำง ๆ ได้ ทำให้ ภำษำซีได้ รับควำม
นิยมมำกขึน้ เรื่อยๆ จนแพร่ หลำยไปทัว่ โลก จนมีบริษัทต่ ำง ๆ สร้ ำงและผลิต
ภำษำซี ออกมำเป็ นจำนวนมำก เกิดเป็ นภำษำซีในหลำกหลำยรูปแบบ
ประวัติความเป็ นมาของภาษาซี (ต่ อ)
ในปี ค.ศ. 1988 Kernighan & Ritchie จึงได้ ร่วมกับ ANSI (American
National Institute) สร้ ำงมำตรฐำนของภำษำซีขนึ้ เรียกว่ ำ ANSI C เพือ่ ใช้
เป็ นตัวกำหนดมำตรฐำนในกำรสร้ ำงภำษำซีรุ่นต่ อ ๆ ไป
ปัจจุบันภำษำซียงั คงได้ รับควำมนิยมและใช้ งำนอย่ ำงกว้ ำงขวำงเนื่องจำก
เป็ นภำษำระดับกลำง (middle-level-language) ที่เหมำะกับกำรเขียนโปรแกรม
แบบโครงสร้ ำง (Structured Programming) และเป็ นภำษำทีม่ ีควำมยืดหยุ่น
มำก คือใช้ งำนกับเครื่องต่ ำง ๆ ได้ และทีส่ ำคัญ ในปัจจุบัน ภำษำโปรแกรมรุ่น
ใหม่ เช่ น C++, Perl , Java , C# ฯลฯ ยังใช้ หลักกำรของภำษำซีเป็ นพืน้ ฐำน
ด้ วย กล่ำวคือ หำกมีพนื้ ฐำนของภำษำซีมำก่อน ก็จะสำมำรถศึกษำภำษำรุ่น
ใหม่ เหล่ำนีง้ ่ ำยขึน้
จดุ เด่ นของภาษา C
• เป็ นภำษำทีม่ ีกำรกำหนดมำตรฐำนสำหรับเครื่องคอมพิวเตอร์ ทุกรุ่น
• เป็ นภำษำทีร่ ะบบปฏิบัติกำรทุกตัวยอมรับ
• เป็ นภำษำที่มโี ครงสร้ ำงทีด่ ี และควำมชัดเจนของเครื่องหมำยสำหรับ
ดำเนินกำร
• สำมำรถเขียนคำสั่ งภำษำ C เพือ่ ควบคุมกำรทำงำนของอุปกรณ์ H/W
บำงส่ วนได้
• มี Function สำเร็จรูป สำหรับงำนประเภทต่ ำง ๆ ให้ เลือกใช้ มำกมำย
การสั่งงานคอมพิวเตอร์ ด้วยภาษาโปรแกรม
MUL R1, D
STO R1, TEMP1
LOD R1 ,B
ADD R1,TEMP1
ตัวกลางสาหรับแปลภาษา
ไปเป็ นภาษาเครือ
่ ง
11001010
00100110
01001101
01101100
10011001
11001011
10001101
11000101
การแบ่ งระดับตามลักษณะ และการทางาน
1. ภำษำระดับต่ำ (LOW LEVEL Language) เป็ นภาษที่
ใกล้เคียงกับภาษาเครื่ องมากที่สุด สามารถเขียนคาสัง่ เพื่อติดต่อ
สัง่ งานกับอุปกรณ์ H/W ได้โดยตรง ซึ่งได้แก่ ภาษา Assembly
ตัวอย่ ำง
ของ Assembly
MUL R1, D
STO R1, TEMP1
LOD R1 ,B
ADD R1,TEMP1
การแบ่ งระดับตามลักษณะ และการทางาน (ต่ อ)
2. ภำษำระดับสู ง
(High Level Language) เป็ นภาษาที่ใกล้เคียงกับภาษา
มนุษย์มากที่สุด คาสั่งต่าง ๆ จึงมักเป็ นภาษาอังกฤษ ทาให้จดจาและเขียนได้ง่าย เช่น
ภาษา Pascal, Cobol, Fortran หรื อ Basic เป็ นต้น
ตัวอย่ำง ของ ภาษา Pascal
program Test1;
var Name : String;
begin
writeln(‘Input your Name’) Readln(name);
Writeln(‘Hello ’,Name);
End.
การแบ่ งระดับตามลักษณะ และการทางาน (ต่ อ)
3. ภำษำระดับกลำง (Middle Level language)
ภาษา C ถูกพัฒนาขึ้น
โดยเอาข้อดีและข้อเสี ยของ 2 ระดับมาใช้ คือ คาสั่งของภาษา C เป็ นคาสั่งที่มีความ
หมายใกล้เคียงกับภาษามนุษย์ และยังสามารถติดต่อกับ H/W ได้รวดเร็ ว ดังนั้นภาษา
C จึงถูกจัดให้เป็ นภาษาระดับกลาง
ตัวอย่ำง ของ ภาษา C
#include (iostream.h)
main()
{
……..
return 0
}
หลักในการแปลภาษา
แบ่ งได้ 2 วิธี คือ
1. แปลทีละคำสั่ ง
ตัวแปลลักษณะนี้จะเรี ยกว่า Interpreter โดยจะทางาน
แบบ เป็ นคาสัง่ ต่อคาสัง่ นัน่ คือจะอ่านคาสัง่ จากโปรแกรมมา 1
คาสัง่ และทางานตามคาสัง่ นั้นทันที
Print “Hello Link \n ”;
print “How are you?”;
Interpreter
Hello Link
หลักในการแปลภาษา (ต่ อ)
2. แปลทีเดียวตั้งแต่ ต้นจนจบ
ตัวแปลลักษณะนี้จะเรี ยกว่า Compiler หลักการทางานเริ่ ม
จาก คอมไพล์เลอร์จะทาการตรวจสอบคาสัง่ ทั้งหมดของโปรแกรม เพื่อดูวา่
มีส่วนใดผิดจากหลักการของภาษานั้นหรื อไม่ ถ้าไม่พบข้อผิดพลาด
คอมไพเลอร์จะทาการแปลคาสัง่ ทั้งหมดในโปรแกรมให้เป็ นภาษาเครื่ องแล้ว
จึงทางาน
Print “Hello Link \n ”;
print “How are you?”;
Compiler
Hello Link
How are You
ขัน้ ตอนการทางานของ ภาษา C
ฟั งก์ชนั่ จากไลบรารี
ในภาษา C
ไฟล์ชื่อ Test.c
#include (iostream.h)
main()
{
cout<<Hello World\n;
}
C Compiler
Object File
.obj
คอมไพล ์ test.obj
Linker
Binary File
.exe
ลิงค ์
test.exe
การนาภาษา C ไปใช้ งาน
•
•
•
•
•
•
สร้ ำงระบบปฏิบัตกิ ำร
งำนทำงด้ ำนกำรควบคุมอุปกรณ์ H/W
สร้ ำงโปรแกรมสำหรับจัดพิมพ์เอกสำร
สร้ ำงตัวแปรภำษำอืน่ ๆ
สร้ ำงโปรแกรมเพือ่ ใช้ สำหรับงำนทัว่ ๆ ไป
เป็ นรำกฐำนทีส่ ำคัญของภำษำใหม่ จำนวนมำก
โครงสร้ างของภาษา C
จะแบ่งออกเป็ น 2 ส่วนดังนี้
1
2
ส่วนหัวของโปรแกรมซึง่ เป็ นส่วนของ
การกาหนดคาเริ
่ ตน
่ ม
้ และประกาศตัวแปร
ส่วนของตัวโปรแกรมซึง่ เริม
่ จาก
Main() ซึง่ อาจจะมีการเรียกใช้
Function อืน
่ ๆ ก็ได้
ตัวอย่ าง การเขียนโปรแกรมภาษา C
#include (iostream.h)
main()
{
cout<<“C++”;
return 0
}
Head
Body
ส่ วนหั วของโปรแกรม
ส่วนหัวของโปรแกรมจะเริม
่ ตนตั
ดแรกของโปรแกรมจนมา
้ ง้ แตบรรทั
่
สิ้ นสุดทีบ
่ รรทัดกอน
น 2 ส่วนดังนี้
่ Main() จะแบงออกเป็
่
1. คาสั่ งพิเศษ (Preprocessor Directive)
2. การประกาศตัวแปร (Declaration)
#include (stdio.h)
int x =4;
main()
{
}
1
2
main เป็ นส่ วนของฟังฟ์ ชัน่ หลัก ซึ่ ง
โปรแกรมภาษาซี ทุกโปรแกรมจะต้อง
cout<<“C++”; มีฟังฟ์ ชัน่ นี้อยูใ่ นโปรแกรมเสมอ โดย
return
ขอบเขตของฟังก์ชนั่ จะถูกกาหนดด้วย
เครื่ องหมาย { }
Preprocessor directive
เป็ นคาสัง่ รู ปแบบหนึ่งของภาษา C ที่มีความพิเศษ โดยในขั้นตอน
การแปลความหมายของโปรแกรม ถ้าตัวแปลภาษา C ตรวจพบว่ามีการใช้
Preprocessor ภายในโปรแกรม ก็จะถูกแปลความหมายเป็ นลาดับแรกก่อน
คาสัง่ อื่น ๆ
รู ปแบบของการเขียน Preprocessor จะต้องขึ้นต้นเครื่ องหมาย # แต่
ไม่ตอ้ งลงท้ายด้วยเครื่ อง ; เหมืนคาสัง่ อื่น ๆ ทัว่ ไป
Preprocessor directive (ต่ อ)
คาสั่ งทีจ
่ ด
ั อยูในกลุ
มของ
Preprocessor Directive
่
่
#Include
#Elid
#Line
#Define
#Else
#Pragma
#Error
#ifdef
#if
#ifndef
#Endfi
#undef
รูปแบบการเขียนคาสั่งภาษา C
• คำสั่ งในภำษำ C จะต้ องเขียนด้ วยตัวอักษรพิมพ์เล็ก
• ทุกคำสั่ งต้ องลงท้ ำยด้ วย ;
• สำมำรถเขียนคำสั่ งได้ อย่ ำงอิสระ
ชนิดของข้ อมูลในภาษา C
•
•
•
•
•
•
ข้ อมูลเลขจำนวนเต็ม (Integer)
ข้ อมูลเลขทศนิยม (Float)
ข้ อมูลชนิดเลขฐำนแปด (Octal)
ข้ อมูลชนิดเลขฐำนสิ บหก (Hexadecimal)
ข้ อมูลชนิดตัวอักขระ (Character)
ข้ อมูลชนิดข้ อควำม (String)
ตัวแปรและหน้ าที่ของตัวแปร
ตัวแปร (Variable) คือ กำรจองทีเ่ ก็บข้ อมูลในหน่ วยควำมจำหลัก (RAM)
ของเครื่องคอมพิวเตอร์ พร้ อมกับกำหนดชื่อเรียกแทนหน่ วยควำมจำในตำแหน่ งนั้น
อย่ ำงเช่ น ถ้ ำเรำสร้ ำงตัวแปรขึน้ มำ 1 ตัวโดยใช้ ชื่อ num สำหรับเก็บค่ ำของ
ตัวเลข 16 เมื่อต้ องกำรนำค่ ำ 16 มำใช้ เรำก็เพียงแต่ เรียกชื่อ num ซึ่งภำษำ C จะแปล
ควำมหมำยได้ ถูกต้ องว่ ำมีค่ำเท่ ำกับ 16
การกาหนดค่ าให้ กบั ตัวแปร
ตัวแปร = นิพจน์ เช่ น
x = 10;
m = x+y;
a = ‘A’;
การประกาศตัวแปร
#include <Stdio.h>
int a= 5;
int b= 10;
int c;
main()
{
c= a+b;
printf (“sum = %d\n”, c);
}
ตัวแปรจานวนเต็ม
หาผลบวก
แสดงผลบวก
ชนิดของตัวแปรในภาษา C
สำมำรถแบ่ งได้ 2 ประเภทใหญ่ ๆ คือ
1. ตัวแปรแบบพืน้ ฐำน (Scalar) ซึ่งหมำยถึงทีเ่ ก็บข้ อมูลได้ เพียงค่ ำเดียว
เช่ น
ชนิดของตัวแปร
ขนาด (Bits)
ขอบเขต
ความหมาย
Char
8
unsigned Char
8
int
16
unsigned int
16
0 - 65535
เก็บข้ อมูลขนิดตัวเลขจานวนเต็ม แบบไม่คิดเครื่องหมาย
short
8
-128 - 127
เก็บข้ อมูลชนิดตัวเลขจานวนเต็มแบบสัน้ ใช้ พืน้ ที่ 8 Bits
unsigned short
8
0 - 255
long
32
unsigned long
32
0 - 4294967296 เก็บข้ อมูลชนิดเลขจานวนเต็มแบบยาว แบบไม่คิดเครื่องหมาย
Float
32
เก็บข้ อมูลชนิดตัวเลขทศนิยม ใช้ พืน้ ที่ 32 Bit เก็บทศนิยม 6 ตัว
double
64
เก็บข้ อมูลชนิดตัวเลขทศนิยม ใช้ พืน้ ที่ Bits เก็บทสนิยม 12 ตัว
long double
128
เก็บข้ อมูลชนิดตัวเลขทศนิยม ใช้ พืน้ ที่ 128 Bit เก็บทศนิยม 24 ตัว
-128 ถึง 127 เก็บข้ อมูลชนิดอักขระ ใช้ พืน้ ทีเ่ ก็บในหน่วยความจาประมาณ 8 Bits
0 - 255
เก็บข้ อมูลชนิดอักขระ แบบไม่คิดเครื่องหมาย
-32768 - 32767 เก็บข้ อมูลขนิดตัวเลขจานวนเต็ม ใช้ พืน้ ที่ 16 Bits
เก็บข้ อมูลชนิดตัวเลขจานวนเต็มแบบสัน้ แบบไม่คิดเครื่องหมาย
-2147483648 เก็บข้ อมูลชนิดเลขจานวนเต็มแบบยาว ใช้ พืน้ ที่ 32 Bits
รูปแบบการประกาศตัวแปร
Type variable;
type : ชนิดของตัวแปรที่จะสร้างขึ้น
variable : ชื่อของตัวแปรที่ตอ้ งการจะใช้
ตัวอยาง
่
int num;
float y;
char c;
double salary;
รูปแบบการประกาศตัวแปร (ต่ อ)
Type variable = value;
ตัวอยาง
่
long million = 1000000;
int oct = 0234;
int hex = 0x45;
float temp = 15.236;
double stat = 1.25e-02;
char ch =‘#’;
รูปแบบการประกาศตัวแปร (ต่ อ)
Type variable-1, variable-2,... variable-n;
type : ชนิดของตัวแปรทีจ่ ะสร้ ำงขึน้
variable-1... Variable-n : ชื่อของตัวแปรทีต่ ้ องกำรจะใช้
ตัวอยาง
่
int num1,num2,num3;
float point1, point2,point3 = 12.00;
char a,b = ‘B’, c,d =‘D’;
หลักการตั้งชื่อตัวแปร
•
•
•
•
•
•
ต้ องขึน้ ต้ นด้ วยตัวอักษร A-Z หรือ a-z หรือเครื่องหมำย _ เท่ ำนั้น
ภำยในชื่อตัวแปรให้ ใช้ ตัวอักษร A-Z หรือ a-z หรือ 0-9 หรือ _
ห้ ำมเว้ นช่ องว่ ำงภำยในตัวแปร หรือใช้ สัญลักษณ์ นอกเหนือจำกข้ อ 2
กำรใช้ ตัวอักษรตัวใหญ่ และตัวเล็ก มีควำมแตกต่ ำงกัน
ห้ ำมตั้งชื่อตัวแปรซ้ำกับคำสงวน (Reserved Word)
ตั้งชื่อตัวแปรยำวเท่ ำไรก็ได้ แต่ เครื่องรู่จักแค่ 32 ตัวเท่ ำนั้น
คาสงวน (Reserved Word)
auto
continue
if
short
switch
volatile
break
default
int
signed
typedef
while
case
do
long
sizeof
union
char
double
register
static
unsigned
const
else
return
struct
void
ตัวอย่ างการตั้งชื่อตัวแปร
class_room
hi-tech
9number
_hello123
age#
right!
last name
ถูกต้อง
ไม่ถกู ต้อง
ไม่ถกู ต้อง
ถูกต้อง
ไม่ถกู ต้อง
ไม่ถกู ต้อง
ไม่ถกู ต้อง
ตัวแปรสาหรั บข้ อมูลชนิดข้ อความ
char[n] variable;
n : คือจำนวนของตัวแปรชนิดอักขระ (Char) ที่จะ
สร้ำงขึน้ โดยถ้ำข้อควำมมีอกั ขระทัง้ หมด 10 ตัว จะต้อง
ใส่จำนวนเป็ น 11 เนื่ องจำกภำษำ C มีข้อกำหนดว่ำจะเก็บ
ข้อมูลชนิดข้อควำม ตัวสุดท้ำยต้องเป็ นอักขระว่ำง ซึ่งจะ
เขียนแทนด้วย \0 เพื่อบอกให้ร้วู ่ำเป็ นข้อควำม
char[10] name; char[ ] color;
Variable : ชื่อของตัวแปร โดยต้องตัง้ ชื่อให้ถกู ต้อง
คาสั่งในการแสดงผลข้ อมูล
cout ทำหน้ ำเหมือนสำยนำส่ งข้ อมูลจำกโปรแกรมไปปรำกฏที่
จอภำพทีละตัวอักษรตำมลำดับ โดยมีตัวดำเนินกำรส่ งออก (<<)
อยู่ระหว่ ำง cout กับข้ อมูล
cout << ข้ อมูล;
เช่ น
cout<<“What’s Your Name?”<<endl;
cout<<“Your Age is: ”<<age<<endl;
คาสั่ง endl (end line)
เป็ นคำสั่ งขึน้ บรรทัดใหม่ เช่ นเดียวกับคำสั่ ง \n
การใช้ Comment
Comment คือ ส่ วนทีเ่ ป็ นหมำยเหตุของโปรแกรมมีไว้ เพือ่ ให้ ผู้เขียนโปรแกรม
ใส่ ข้อควำมอธิบำยกำกับลงใน Source code ซึ่ง compiler จะข้ ำมกำรแปลผล
ในส่ วนที่เป็ น comment
กำร Comment ในภำษำซี มี 2 แบบ
1. Comment บรรทัดเดียวใช้ เครื่องหมำย //
2. Comment หลำยบรรทัดใช้ เครื่องหมำย /* และ */
ตัวอย่ างเช่ น
// Writen program by A.Prayoon
ตัวอย่ างโปรแกรมที่ 1
#include <iostream.h>
main()
{ int n;
n = 66;
cout << n << endl;
return 0;
}
ตัวอย่ างโปรแกรมที่ 2
#include <iostream.h>
// Test cout Command
main()
{
cout<<“Sriwattana Institute of International”<<endl;
return 0;
}
ตัวอย่ างโปรแกรมที่ 3
#include <iostream.h>
// Test cout Command
main()
{ int m,n,sum;
m = 10;
n = 20;
sum = 0;
cout<<“Amount of M = ”<<m<<endl;
cout<<“Amount of N = ”<<n<<endl;
sum = m + n;
cout<<“Sum of M + N = ”<<sum<<endl;
return 0;
}
ตัวอย่ างโปรแกรมที่ 4 (โปรแกรมฝึ กการใช้ cout เพือ่ แสดงผลหน้ าจอ)
#include <iostream.h>
main()
{
cout<<“******************************”<<endl;
cout<<“ Number
Name Surname ”<<endl;
cout<<“471-1564 Urai Srimeed ”<<endl;
cout<<“471-1662 Chanont Jitmun ”<<endl;
cout<<“”<<endl;
cout<<“”<<endl;
cout<<“”<<endl;
cout<<“******************************”<<endl;
return 0;
}
โปรแกรมที่ 5 (การใช้ cout, cin ในการรับ-ส่ งข้ อมูล)
#include <iostream.h>
// Test cout, cin Command
main()
{ int x;
cout<<“Enter Number : ”<<endl;
cin>> x;
cout<<“Number is : ”<< x <<endl;
return 0;
}
ตัวดาเนินการคณิตศาสตร์ ( Operators)
ตัวดำเนินกำรคณิตศำสตร์ คือ สั ญลักษณ์ ทใี่ ช้ ทำหน้ ำทีค่ ำนวณ
นิพจน์ คณิตศำตร์ เพือ่ ให้ ได้ ค่ำผลลัพธ์ แล้ วนำไปเก็บไว้ ทตี่ ัวแปร
ได้ แก่
ตัวดำเนินกำร
+
*
/
%
หน้ ำที่
บวก
ลบ
นิเสธ
คูณ
หำร
แสดงเศษของกำรหำร
ตัวอย่ำง
m+n
m-n
-n (ค่ ำติดลบ)
m*n
m/n
m%n
โปรแกรมที่ 6 การใช้ ตัวดาเนินการคณิตศาสตร์
#include <iostream.h>
// Test Arithmetic Operators;
main()
{ int m=38, n=5;
cout<<m<<“+”<<n<<“=”<<(m+n)<<endl;
cout<<m<<“-”<<n<<“=”<<(m-n)<<endl;
cout<<“ ”<<“ - ” <<“ = ”<<(-n)<<endl;
cout<<m<<“*”<<n<<“=”<<(m*n)<<endl;
cout<<m<<“/”<<n<<“=”<<(m/n)<<endl;
cout<<m<<“%”<<n<<“=”<<(m%n)<<endl;
return 0;
}
ตัวดาเนินการเพิม่ และลดตัวแปร
เพือ่ ให้ กำรเขียนโปรแกรมมีควำมกะทัดรัดขึน้ ภำษำซี จึงได้ มี
กำรกำหนดรู ปแบบในกำรเขียนนิพจน์ สำหรับกำรเพิม่ / ลด
ค่ ำตัวแปร คือ
++ ตัวดำเนินกำรเพิม่ ค่ ำตัวแปร
-- ตัวดำเนินกำรลดค่ ำตัวแปร
กำรเพิม่ ค่ ำ
กำรลดค่ ำ
++m หรือ m++
m = m+1
--m หรือ m-m = m-1
ตัวอย่ างโปรแกรมที่ 7
#include <iostream.h>
// Test the increment and decrement operators
main()
{ int m=44, n=66;
cout<<“m = ”<<m<<“, n = ”<<n<<endl;
++m;
--n;
cout<<“m = ”<<m<<“, n = ”<<n<<endl;
m++;
n--;
cout<<“m = ”<<m<<“, n = ”<<n<<endl;
return 0;
}
ตัวดำเนินกำรเพิม่ / ลด ++m หรือ m++ และ –m หรือ m—
ถ้ ำนำไปใช้ ในนิพจน์ ย่อยจะมีควำมหมำยแตกต่ ำงกันคือ
++m
m++
--m
m--
จะดำเนินกำรเพิม่ ค่ ำก่ อน
จะดำเนินกำรเพิม่ ค่ ำหลัง
จะดำเนินกำรลดค่ ำก่ อน
จะดำเนินกำรลดค่ ำหลัง
ตัวอย่ างโปรแกรมที่ 8
#include <iostream.h>
// Test the increment and decrement operators
main()
{ int m=66,n;
n = ++m;
cout<<“m = ”<<m<<“, n = ”<<n<<endl;
n = m++;
cout<<“m = ”<<m<<“, n = ”<<n<<endl;
cout<<“m = ”<<m++<<endl;
cout<<“m = ”<<m<<endl;
cout<<“ m = ”<<++m<<endl;
return 0;
}
ข้ อมูลชนิด (Character)
ข้ อมูลชนิด Character ภำษำซี ถือเป็ นข้ อมูลจำนวนเต็ม
ชนิดหนึ่ง โดยจะทำกำรแปลเป็ นตัวอักขระ โดยใช้ ภำษำ ASCII
(American Standard Code for Information Interchange)
Monitor
ASCII
ตัวอักขระ ตัวเลข
CPU
ตัวอย่ างโปรแกรมที่ 9
#include <iostream.h>
// Test output of type char;
main()
{ char c = ‘A’;
n = ++m;
cout<<c++ << “ ” << int(c) << endl;
cout<<c++ << “ ” << int(c) <<endl;
cout<<c++ << “ ” << int(c) <<endl;
return 0;
}
หมำยเหตุ
ฟังก์ ชั่น int(c) มีหน้ ำทีแ่ ปลงข้ อมูลตัวอักขระเป็ นข้ อมูล
จำนวนเต็มตำมรหัสของ ASCII
การใช้ คาสั่ง \t และ \n
\t เท่ ำกับ tab ใช้ ในกำรสั่ งให้ พมิ พ์ข้อควำมย่ อหน้ ำ
\n เท่ ำกับ endl ใช้ ในกำรขึน้ บรรทัดใหม่
โปรแกรมที่ 10
#include <iostream.h>
main()
{ cout<<“\tFourscore andseven years ago our fathers \n”
<<“brought forth upon this continent a new nation: \n”
<<“concieved in liberty, and dedicated to the \n”
<<“proposition that all men are created equal. \n”;
return 0;
}
โปรแกรมที่ 11 (การรั บข้ อมูลตัวอักขระเข้ าสู่ โปรแกรม)
#include <iostream.h>
main()
{ char first, last;
cout<<“Enter your initials: \n”;
cout<<“ \tFirst name initial: ”;
cin>>first;
cout<<“\tLast name initial: ”;
cin>>last;
cout<<“Hello; ”<<first<< “ . ”<<last<<“.! \n”;
return 0;
}
แบบฝึ กหัด
1. เจงเขียนโปรแกรมเพื่อแสดงค่าหล่านี้ออกทางจอภาพ
ค่าที่ตอ้ งการให้แสดงออก 200, 10.33745, A, Thailand
2. ในการกรอกข้อมูลเพื่อสมัครเข้าเรี ยนของสถานกวดวิชาแห่ งหนึ่ ง ข้อมูลที่ตอ้ ง
การให้ผสู้ มัครกรอกประกอบด้วย
ชื่อและนามสกุล
อายุ
เพศ
ที่อยู่
เบอร์โทรศัพท์
ให้นกั ศึกษาเขียนโปรแกรมพื่อให้ผสู ้ มัครกรอกข้อมูลเหล่านี้ และแสดงผลที่จอภาพ
ลักษณะการทางาน ( การวนรอบ )
count++
count=1
Count<=n;
True
Cout<<“Hello.”;
False
โปรแกรมที่ 13 การวนรอบโดยใช้ คาสั่ง for
#include <iostream.h>
main()
{ int i;
for (i=1; i< 3; i++)
cout<<“Computer Program”<<endl;
return 0;
}
โปรแกรมที่ 14 (การวนรอบโดยผ้ ใู ช้ กาหนดค่ าจานวนครั้ งทีว่ น)
#include <iostream.h>
main()
{ int i, n;
cout<<“Enter Number of Loop”<<endl;
cin>>n;
for(i=1; i<=n; i++)
cout<<“Good morning every body”<<endl;
return 0;
}
โปรแกรมที่ 16 (โปรแกรมแสดงการรับค่ าและหาผลรวม)
#include <iostream.h>
main()
{ int i, sum, n;
sum = 0;
cout<<“Enter Number to Sum: ”; cin>>n;
for (i=1; i<=n; i++)
sum = sum+ i ;
return 0;
}
โปรแกรมที่ 17 (โปรแกรมแสดงการใช้ loop for 2 ชั้น)
#include <iostream.h>
main()
{ int i, j;
for (i=1; i<=3; i++)
for (j=1; j<=3; j++)
cout<<“Hi! How are you?” <<endl;
return 0;
}
หมายเหตุ
• จะทำกำรวน for แรก 1 ครั้ง แล้ วทำกำรวน for ที่สอง 3 ครั้งจึงกลับมำ
วน for แรกอีก จนครบ 3 ครั้ง
• ถ้ ำต้ องกำรกำหนดค่ ำกำรวน for 1 และ for 2 ทำได้ โดย
• กำหนดตัวแปร m และ n
• for (i=1; i<= m; i++) และ for (j=1; i<=n; j++)
โปรแกรมที่ 18-1 (ความแตกต่ างในการใช้ คาสั่ง for)
#include <iostream.h>
main()
{ int i, j;
for (i=1; i<=3; i++)
for (j=1; j<= i; j++)
cout<<“Hi! How are you?” <<endl;
return 0;
}
โปรแกรมที่ 18-2 (ความแตกต่ างในการใช้ คาสั่ง for)
#include <iostream.h>
main()
{ int i, j;
for (i=1; i<=3; i++)
for (j= i; j<= 3; j++)
cout<<“Hi! How are you?” <<endl;
return 0;
}
การทางานวนรอบโดยใช้ คาสั่ง while
while จะตรวจสอบเงือ่ นไขก่อนทำงำน ถ้ ำไม่ เป็ นจริงจะข้ ำมไปทำ
คำสั่ งอืน่
True
while
Count++ << limit
False
คำสั่ งต่ อไป
Cout<<“Very Good”;
โปรแกรมที่ 20 (โปรแกรมการหาผลรวมของรากที่ 2)
#include <iostream.h>
main()
{ int i, n, sum;
i= 1; sum= 0;
cout<<“Enter a Positive Integer: ”;
cin>>n;
while (i<=n)
{ sum = sum + i * i;
i++;
}
cout<<“The Sum of the First ”<<n<<endl;
cout<<“Squares is: ”<<sum<<endl;
return 0;
}
โปรแกรมที่ 21 (โปรแกรมการหาผลรวมตัวเลข)
#include <iostream.h>
main()
{ int n, sum;
sum= 0;
cout<<“Enter Number End by-999”<<endl;
cin>>n;
while (n! = -999)
{sum = sum+n;
cin>>n;
}
cout<<“Sum is ”<<sum<<endl;
return 0;
}
โปรแกรมที่ 22 (โปรแกรมการยอดรวมและค่ าเฉลี่ย)
#include <iostream.h>
main()
{ float count, ave; int n, sum;
sum = 0; count = 0;
cout<<“Enter Number(End by -999) : ”<<endl;
cin>>n;
while (n! = -999)
{count = count + 1;
sum = sum + n;
cin>>n;
}
ave = sum / count;
cout<<“Sum is ”<<sum<<endl;
cout<<“Average is ”<<ave<<endl;
return 0;
}
โปรแกรมที่ 23 (โปรแกรมแสดงค่ าตัวแปรโดยใช้ คาสั่ง do..while)
#include <iostream.h>
main()
{ int n;
cout<<“Enter Number (Can’t over 10) : ”;
cin>>n;
do
{ cout<<“Value of n = ”<<n<<endl;
}
เป็ นคำสั่ งทีใ่ ช้ ในกำรตรวจสอบเงื่อนไข หำกในกำรเขียนโปรแกรมต้ องกำรมี
เงื่อนไข 2 ทำงเลือกจะต้ องใช้ คำสั่ ง if….else เพือ่ ให้ โปรแกรมสำมำรถ
ประมวลผลได้ ตำมต้ องกำร
รูปแบบคำสั่ ง if….else
if (เงื่อนไข)
{ คำสั่ ง;
คำสั่ ง;
}
else
{ คำสั่ ง;
คำสั่ ง;
}
โปรแกรมที่ 25 (โปรแกรมตรวจสอบคะแนน)
#include <iostream.h>
main()
{ int score;
cout<<“Please Input Your Score : ”; cin>>score;
if (score>50)
cout<<“You pass the Examination ”<<endl;
return 0;
}
โปรแกรมที่ 26 (โปรแกรมหาค่ าสูงสุดจากเลข 3 จานวน)
#include <iostream.h>
main()
{ int n1,n2,n3,max;
cout<<“Enter three intrgers: ”;
cin>>n1>>n2>>m3;
max=n1;
if (n2>max) max=n2;
if (n3>max) max=n3;
cout<<“The maximum is ”<<max<<endl;
return 0;
}
โปรแกรมที่ 27 (โปรแกรมตรวจสอบคะแนน)
#include <iostream.h>
main()
{ int score;
cout<<“Please Input Your Score: ”;cin>>score;
if (score>50)
cout<<“You pass the Examination ”<<endl;
else
cout<<“Try Again ! ”<<endl;
return 0;
}
โปรแกรมที่ 28 (โปรแกรมหาค่ าสูงสุดโดยใช้ if…else)
#include <iostream.h>
main()
{ int n1,n2,max;
cout<<“Enter two integers: ”;cin>>n1>>n2;
if (n1>n2) max=n1;
else max=n2;
cout<<“Maximum is: ”<<max<<endl;
return 0;
}
หำกต้ องกำรเขียนโปรแกรมที่มที ำงเลือกมำกกว่ ำ 2
ทำงเลือกขึน้ ไป จะต้ องใช้ คำสั่ ง if….else if….else
รูปแบบคำสั่ ง if….else if ….else
if (เงื่อนไข)
คำสั่ ง;
else if (เงื่อนไข)
คำสั่ ง;
else
คำสั่ ง;
โปรแกรมที่ 31 (โปรแกรมหายอดรวม ค่ าเฉลีย่ ค่ าสูงสุด และต่าสุด))
#include <iostream.h>
main()
{ float count, ave; int n, sum, max, min;
sum=0;
cout<<“Enter Number(End by-999): ”<<endl;
cin>> n;
while(n!=-999)
{sum=sum+n; count=count+1; max=n, min=n;
if (n>max) max=n;
ekse if (n<min) min=n; cin>>n;
}
ave = sum/count;
cout<<“-------------------------------------” <<endl;
cout<<“ Sum is : ” <<sum<< endl;
cout<<“ Average is : ”<<ave<<endl;
cout<<“ Maximum is : ”<<max<<endl;
cout<<“ Minimum is : ”<<min<<endl;
cout<<“------------------------------------”<<endl;
return 0;
}
คาสั่งในการทางานแบบมีเงื่อนไข switch
รูปแบบ
switch(ตัวแปร)
{ case value1 :
คำสั่ ง;
break;
case value2 :
คำสั่ ง;
break;
default:
คำสั่ ง;
}
นิพจน์ ที่ตำมหลังคำสั่ ง switch จะถูกคำนวณและนำไปเปรียบเทียบกับเงื่อนไขที่
อยู่หลังชุ ดคำสั่ ง case ตรงกับ case ไหน จะทำตำมคำสั่ งทีอ่ ยู่ใน case นั้น กรณีทไี่ ม่
ตรงกับ case ใดเลย จะทำตำมคำสั่ งทีอ่ ยู่หลัง default
คำสั่ ง break จะควบคุมให้ โปรแกรมกระโดดออกจำกชุ ดคำสั่ ง switch และ
ทำงำนตำม คำสั่ ง ถัดจำกชุ ดคำสั่ ง switch
โปรแกรมที่ 32 (โปรแกรมการใช้ switch….case)
#include <iostream.h>
main()
{ int n;
cout<<“Enter Number : ”; cin>>n;
switch(n)
{ case 1:
cout<<“One”<<endl;
break;
case 2:
cout<<“Two”<<endl;
break;
case 3:
cout<<“Three”<<endl;
break;
default:
cout<<“No Value”<<endl;
}
return 0;
}
โปรแกรมที่ 33 (โปรแกรมการใช้ switch….case ต่ อ)
#include <iostream.h>
main()
{ char n;
cout<<“Enter the First Character of Program P/C/B : ”; cin>>n;
switch(n)
{ case ‘P’:
cout<<“Turbo Pascal”<<endl; break;
case ‘C’:
cout<<“Visual C++”<<endl; break;
case ‘B’:
cout<<“Visual Basic”<<endl; break;
default:
cout<<“You don’t Select Program”<<endl;
}
return 0;
}