240-101 introduction to computer programming

31
240-101 Introduction to Computer Programming 1 240-101 240-101 Introduction to Introduction to Computer Programming Computer Programming Email: [email protected]. Department of Computer Engineering Faculty of Engineering Prince of Songkla University āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„ āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„āļ„

Upload: casper

Post on 18-Mar-2016

49 views

Category:

Documents


0 download

DESCRIPTION

Department of Computer Engineering Faculty of Engineering Prince of Songkla University. 240-101 Introduction to Computer Programming. Email: [email protected]. āļ„āļ“āļēāļˆāļēāļĢāļĒāđŒāļ āļēāļ„āļ§āļīāļŠāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒ. Department of Computer Engineering Faculty of Engineering - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming1

240-101240-101Introduction to Introduction to

Computer Computer ProgrammingProgramming

Email: [email protected].

th

Department of Computer Engineering Faculty of Engineering Prince of Songkla University

āļ„āļ“āļēāļˆāļēāļĢāļĒāļ āļēāļ„āļ§āļŠāļēāļ§āļĻāļ§āļāļĢāļĢāļĄāļ„āļ­āļĄāļžāļ§āđ€āļ•āļ­āļĢ

Page 2: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming2

āļšāļ—āļ— āļšāļ—āļ— 66āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ (Pointer)(Pointer)

Department of Computer Engineering Faculty of Engineering Prince of Songkla University

Page 3: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming3

āļŦāļ§āļ‚āļ­āļĻāļāļĐāļē āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ„āļ­āļ­āļ°āđ„āļĢ āļŠāļāļāļĨāļāļĐāļ“āļ—āđƒāļŠāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ āļāļēāļĢāđ€āļĢāļĒāļāļŸāļ‡āļāļŠāļ™āđāļšāļš Call-by-

Reference āļāļēāļĢāļāļĢāļ°āļ—āļģāļēāļ—āļēāļ‡āļ„āļ“āļ•āļĻāļēāļŠāļ•āļĢāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļē āļ­āļēāļĢāđ€āļĢāļĒāļ‚āļ­āļ‡āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ

Page 4: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming4

āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ„āļ­āļ­āļ°āđ„āļĢ āđ€āļĄāļ­āļĄāļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ•āļ§āđāļ›āļĢ āļ„āļēāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢāļˆāļ°āļ–āļāđ€āļāļšāļ­āļĒāđƒāļ™

āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļē

āđāļ­āļ”āđ€āļ”āļĢāļŠāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢ āļ„āļ­ āļ•āļģāļēāđāļŦāļ™āļ‡āđƒāļ™āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļ—āđƒāļŠāđ€āļāļšāļ•āļ§āđāļ›āļĢāļ•āļ§āļ™āļ™ āđ€āļ‚āļĒāļ™āđāļ—āļ™āļ”āļ§āļĒāđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ &– āđ€āļŠāļ™ āđāļ­āļ”āđ€āļ”āļĢāļŠāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢ x āđ€āļ‚āļĒāļ™āđāļ—āļ™āļ”āļ§āļĒ &x

560000

1055900

y

x

...

...

int x = 10;...

int y = 5;

Page 5: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming5

āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ„āļ­āļ­āļ°āđ„āļĢ (āļ•āļ­) āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ āļ„āļ­ āļ•āļ§āđāļ›āļĢāļŠāļ™āļ”āļŦāļ™āļ‡āļ—āđƒāļŠāđƒāļ™āļāļēāļĢāđ€āļāļšāļ„āļē

āđāļ­āļ”āđ€āļ”āļĢāļŠāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢāļ•āļ§āļ­āļ™ āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļĄāļŦāļĨāļēāļĒāļŠāļ™āļ”(āļ•āļēāļĄāļŠāļ™āļ”āļ•āļ§āđāļ›āļĢāļ—āļĄāļ­āļĒ)

– āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢ int– āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢ float– āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢ char– āļŊāļĨāļŊ

āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āļ‚āļ­āļ‡āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ– āđƒāļŠāđƒāļ™āļāļēāļĢ āļžāļ’āļ™āļēāđ‚āļ„āļĢāļ‡āļŠāļĢāļēāļ‡āļ‚āļ­āļĄāļĨ (Data

Structure)– āđƒāļŠāđƒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļ•āļ­āļ‡āļĄāļāļēāļĢāļ•āļ”āļ•āļ­āļāļšāļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļē

āđ‚āļ”āļĒāļ•āļĢāļ‡

Page 6: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming6

āļŠāļāļĨāļāļĐāļ“āļ—āđƒāļŠāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ āļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ•āļ§āđāļ›āļĢ āđƒāļŠāđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ * āđ€āļŠāļ™

– int *countPtr; countPtr āđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡ int (āļ‹āļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđƒāļ™āļāļēāļĢāđ€āļāļšāļ„āļēāđāļ­āļ”āđ€āļ”āļĢāļŠāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢ int āđ„āļ”)

– char *str;

str āđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡ char– float *nums;

nums āđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡ float

Page 7: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming7

āļŠāļāļĨāļāļĐāļ“āļ—āđƒāļŠāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ (āļ•āļ­) āļāļēāļĢāļāļģāļēāļŦāļ™āļ”āļ„āļēāđƒāļŦāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ

– āđƒāļŠāđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ =– āļ„āļēāļ—āļāļģāļēāļŦāļ™āļ”āđƒāļŦāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ•āļ­āļ‡āđ€āļ›āļ™āļ„āļē

āđāļ­āļ”āđ€āļ”āļĢāļŠāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢ

int num = 6;int *numPtr;numPtr = #

50000numPtr

6num

6numnumPtrāļāļģāļēāļŦāļ™āļ”āđƒāļŦ numPtr āļŠ

āđ„āļ›āļ— num

5000040000

Page 8: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming8

āļŠāļāļĨāļāļĐāļ“āļ—āđƒāļŠāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ (āļ•āļ­) āļāļēāļĢāļ­āļēāļ‡āļ­āļ‡āļ–āļ‡āļ„āļēāđƒāļ™āļ•āļģāļēāđāļŦāļ™āļ‡āļ—āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠ

āļ­āļĒ– āđ€āļĢāļĒāļāļ­āļāļ­āļĒāļēāļ‡āļ§āļē “Dereferencing”– āđƒāļŠ āđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ * āļ™āļģāļēāļŦāļ™āļēāļ•āļ§āđāļ›āļĢ– āļ•āļ§āļ­āļĒāļēāļ‡āđ€āļŠāļ™ cout << *numPtr;*numPtr = 20;

6numnumPtr20

Page 9: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming9

2.5a

p

5.6b

q

āļ•āļ§āļ­āļĒāļēāļ‡āļ— 6-1#include <iostream.h>int main(){ float a = 2.5,b = 5.6; float *p,*q; p = &a; q = &b; cout << "*p = " << *p << endl; cout << "*q = " << *q << endl; *p = *p + 1; *q = *q + 3; cout << "a = " << a << endl; cout << "b = " << b << endl; return 0;}

3.5 8.6

*p = 2.5*q = 5.6a = 3.5b = 8.6

āļœāļĨāļĨāļžāļ˜

Page 10: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming10

āļāļēāļĢāđ€āļĢāļĒāļāđƒāļŠāđāļšāļš Call-by-Reference

āļāļēāļĢāđ€āļĢāļĒāļāđƒāļŠāļŸāļ‡āļāļŠāļ™āļĄ 2 āđāļšāļš āļ„āļ­ Call-by-Value āđāļĨāļ° Call-by-Reference

Call-by-Value– āđƒāļŠāļ§āļ˜āļāļēāļĢāļŠāļ‡āļ„āļēāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢāđƒāļŦāļāļšāļŸāļ‡āļāļŠāļ™â€“ āđ„āļĄāļŠāļēāļĄāļēāļĢāļ–āđāļāđ„āļ‚āļ„āļēāļ‚āļ­āļ‡āļ­āļēāļĢāļāļ§āđ€āļĄāļ™āļ•āļ āļēāļĒāđƒāļ™āļŸāļ‡āļāļŠāļ™āđ„āļ”– āđƒāļŠāļāļšāļŸāļ‡āļāļŠāļ™āļ—āļĢāļšāļ„āļēāđ€āļ‚āļēāđ€āļ›āļ™āļ•āļ§āđāļ›āļĢāļ˜āļĢāļĢāļĄāļ”āļē (int, float,

char, ...) Call-by-Reference

– āđƒāļŠāļ§āļ˜āļāļēāļĢāļŠāļ‡āđāļ­āļ”āđ€āļ”āļĢāļŠāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢāđ„āļ›āđƒāļŦāļŸāļ‡āļāļŠāļ™â€“ āđƒāļŠāļāļšāļŸāļ‡āļāļŠāļ™āļ—āļĢāļšāļ„āļēāđ€āļ‚āļēāđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŦāļĢāļ­āļ­āļēāļĢāđ€āļĢāļĒ

Page 11: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming11

āļ•āļ§āļ­āļĒāļēāļ‡āļ— 6-2#include <iostream.h>int squareByValue(int n);int main(){ int number = 5; cout << "The original value of number is " << number <<endl; number = squareByValue(number); cout << "The new value of number is " << number << endl; return 0;}

int squareByValue(int n){ n = n*n; return n;}

5number

main

squareByValue

n525

25

Page 12: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming12

āļ•āļ§āļ­āļĒāļēāļ‡āļ— 6-3#include <iostream.h>void squareByReference(int *nPtr);int main(){ int number = 5; cout << "The original value of number is " << number <<endl

; squareByReference(&number); cout << "The new value of number is " << number << endl; return 0;}

void squareByReference(int *nPtr){ *nPtr = *nPtr * *nPtr;}

nPtr

5number

main

squareByReference

25

Page 13: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming13

āļāļēāļĢāđƒāļŠāļ•āļ§āļ”āļģāļēāđ€āļ™āļ™āļ—āļēāļ‡āļ„āļ“āļ•āļĻāļēāļŠāļ•āļĢāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ

āļ•āļ§āļ”āļģāļēāđ€āļ™āļ™āļāļēāļĢāļ—āļēāļ‡āļ„āļ“āļ•āļĻāļēāļŠāļ•āļĢāļ—āļĄāļāļˆāļ°āđƒāļŠāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ– +, -, ++, --, +=, -=– āđƒāļŠāđƒāļ™āļāļēāļĢāđ€āļĨāļ­āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāđ„āļ›āļ‚āļēāļ‡āļŦāļ™āļēāļŦāļĢāļ­āļ–āļ­āļĒāļŦāļĨāļ‡

āļāļēāļĢāđ€āļĨāļ­āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļˆāļ°āđ€āļĨāļ­āļ™āļ—āļĨāļ° 1 āļšāļĨāļ­āļ āđ€āļŠāļ™â€“ āļ–āļēāđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡ int 1 āļšāļĨāļ­āļāļ„āļ­ 4 āđ„āļšāļ•â€“ āļ–āļēāđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡ char 1 āļšāļĨāļ­āļāļ„āļ­ 1 āđ„āļšāļ•â€“ āļ–āļēāđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ‚āļ­āļ‡ float 1 āļšāļĨāļ­āļāļ„āļ­ 4 āđ„āļšāļ•â€“ āļŊāļĨāļŊ

Page 14: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming14

āļ•āļ§āļ­āļĒāļēāļ‡āļāļēāļĢāđ€āļĨāļ­āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ

v[0]

vPtr

v[1] v[2] v[3] v[4]

3000 3004 3008 3012 3016int v[5];int *vPtr;vptr = v;//or vPtr = &v[0];

v[0]

vPtr

v[1] v[2] v[3] v[4]

3000 3004 3008 3012 3016

vPtr = vPtr + 2;

Page 15: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming15

āļ•āļ§āļ­āļĒāļēāļ‡āļ— 6-4#include <iostream.h>#include <string.h>int main(){ char msg[10]; char *ptr; cout << "Enter text to reverse: "; cin >> msg; int len = strlen(msg);

ptr = &msg[len-1]; while(ptr >= &msg[0]) { cout << *ptr; ptr--; } return 0;}

Enter text to reverse: CoeeoC

'\0''e''o''C'msg[3]msg[2]msg[1]msg[0]

...msg[9]

ptr

Page 16: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming16

āļāļēāļĢāđƒāļŠāļ„āļģāļēāļŠāļ‡ cout āļāļš char * āđāļĨāļ° āļ­āļēāļĢāđ€āļĢāļĒāļ‚āļ­āļ‡ char āļ–āļēāđƒāļŠāļ„āļģāļēāļŠāļ‡ cout āļāļšāļ•āļ§āđāļ›āļĢāļ­āļēāļĢāđ€āļĢāļĒāļ‚āļ­āļ‡ char āļŠāļ‡

āļ—āļžāļĄāļžāļ­āļ­āļāļĄāļēāļ„āļ­ āļ•āļ§āļ­āļāļĐāļĢāļ•āļ‡āđāļ•āļ­āļĨāđ€āļĄāļ™āļ•āđāļĢāļāđ„āļ›āļˆāļ™āļāļ§āļēāļˆāļ°āđ€āļˆāļ­ ‘\0’

āļ–āļēāđƒāļŠāļ„āļģāļēāļŠāļ‡ cout āļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠāļ™āļ” char * āļŠāļ‡āļ—āļžāļĄāļžāļ­āļ­āļāļĄāļēāļ„āļ­ āļ•āļ§āļ­āļāļĐāļĢāļ•āļ‡āđāļ•āļ•āļģāļēāđāļŦāļ™āļ‡āļ—āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠāļ­āļĒāđ„āļ›āļˆāļ™āļāļ§āļēāļˆāļ°āđ€āļˆāļ­ ‘\0’

āļ•āļ§āļ­āļĒāļēāļ‡āđ€āļŠāļ™char name[8] = "Somchai";cout << name; char *namePtr = name;cout << namePtr; namePtr = &name[3];

cout << namePtr;

Somchai

Somchai

chai

Page 17: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming17

āļ„āļ§āļēāļĄāļŠāļĄāļžāļ™āļ˜āļĢāļ°āļŦāļ§āļēāļ‡āļ­āļēāļĢāđ€āļĢāļĒāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ

āļ•āļ§āđāļ›āļĢāļ­āļēāļĢāđ€āļĢāļĒāđāļĨāļ°āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāļ‡āļēāļ™āđāļ—āļ™āļāļ™āđ„āļ”āđƒāļ™āļŦāļĨāļēāļĒāđ‚āļ­āļāļēāļŠ

āļ•āļ§āđāļ›āļĢāļ­āļēāļĢāđ€āļĢāļĒāļ–āļ­āđ€āļ›āļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāđ€āļ™āļ­āļ‡āļˆāļēāļāļ„āļēāđƒāļ™āļ•āļ§āđāļ›āļĢāļ­āļēāļĢāđ€āļĢāļĒāļ„āļ­āđāļ­āļ”āđ€āļ”āļĢāļŠāļ‚āļ­āļ‡āļ­āļĨāđ€āļĄāļ™āļ•āđāļĢāļ

Page 18: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming18

āļ„āļ§āļēāļĄāļŠāļĄāļžāļ™āļ˜āļĢāļ°āļŦāļ§āļēāļ‡āļ­āļēāļĢāđ€āļĢāļĒāļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ (āļ•āļ­)

āļŠāļēāļĄāļēāļĢāļ–āļāļģāļēāļŦāļ™āļ”āđƒāļŦāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠāđ„āļ›āļ—āļ­āļēāļĢāđ€āļĢāļĒāđ„āļ”int b[5];int *bPtr;

bPtr = b; // āļĄāļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļĄāļ­āļ™āļāļš bPtr = &b[0]; āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāļŠāļāļĨāļāļĐāļ“ [] āļāļšāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāđ„āļ” āđ€āļŠāļ™

– bPtr[2 ] āļŦāļĄāļēāļĒāļ–āļ‡ āļ„āļēāđƒāļ™āļ•āļģāļēāđāļŦāļ™āļ‡āļ—āļ–āļ”āļˆāļēāļ bPtr āļŠāļ­āļĒ āđ„āļ›āļ­āļ 2 āļšāļĨāļ­āļ

– bPtr[0] āļŦāļĄāļēāļĒāļ–āļ‡ āļ„āļēāđƒāļ™āļ•āļģāļēāđāļŦāļ™āļ‡āđ€āļ”āļĒāļ§āļāļšāļ— bPtr āļŠāļ­āļĒ

Page 19: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming19

āļ•āļ§āļ­āļĒāļēāļ‡āļ— 6-5#include <iostream.h>int main(){ int b[5] = {2,7,5,4,6}; int *bPtr; bPtr = b; cout << "bPtr[0] = " << bPtr[0] << endl; cout << "bPtr[1] = " << bPtr[1] << endl; bPtr = &b[2]; bPtr[1] = 10; cout << "b[1] = " << b[1] << endl; cout << "b[3] = " << b[3] << endl; return 0;}

bPtr[0] = 2bPtr[1] = 7b[1] = 7b[3] = 10

4b[3]

5b[2]

7b[1]

2b[0]

6b[4]

bPtr

10

Page 20: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming20

āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļē (Memory Allocation) āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ•āļ§āđāļ›āļĢāđāļ•āļĨāļ°āļ„āļĢāļ‡ āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāļˆāļ°āļˆāļ­āļ‡āļŦāļ™āļ§āļĒ

āļ„āļ§āļēāļĄāļˆāļģāļēāļŠāļ§āļ„āļĢāļēāļ§ āđ€āļžāļ­āđƒāļŠāđ€āļāļšāļ„āļēāļ‚āļ­āļ‡āļ•āļ§āđāļ›āļĢāļ•āļ§āļ™āļ™ āđ€āļŠāļ™â€“ int a; āļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļ‚āļ™āļēāļ” 4 āđ„āļšāļ•â€“ char ch;āļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļ‚āļ™āļēāļ” 1 āđ„āļšāļ• – int nums[10]; āļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļ‚āļ™āļēāļ” 40 āđ„āļšāļ• – char name[20]; āļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļ‚āļ™āļēāļ” 20 āđ„āļšāļ•

āđāļ•āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđ€āļŦāļĨāļēāļ™āļˆāļ°āļĄāļ‚āļ­āļšāđ€āļ‚āļ•āļāļēāļĢāđƒāļŠāļ‡āļēāļ™āļ­āļĒāļ āļēāļĒāđƒāļ™āđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ {} āļ—āđ„āļ”āļĄāļ›āļĢāļ°āļāļēāļĻāļ•āļ§āđāļ›āļĢāđ„āļ§āđ€āļ—āļēāļ™āļ™â€“ āđ€āļŠāļ™ āļ•āļ§āđāļ›āļĢāļ—āļ›āļĢāļ°āļāļēāļĻāđ„āļ§āđƒāļ™āļŸāļ‡āļāļŠāļ™ āđ€āļĄāļ­āļ­āļ­āļāļˆāļēāļāļŸāļ‡āļāļŠāļ™āđāļĨāļ§

āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļŠāļģāļēāļŦāļĢāļšāļ•āļ§āđāļ›āļĢāđ€āļŦāļĨāļēāļ™āļ™āļāļˆāļ°āļ–āļāļ„āļ™āđƒāļŦāđāļāļĢāļ°āļšāļš

Page 21: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming21

āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļē (āļ•āļ­) āļ–āļēāļ•āļ­āļ‡āļāļēāļĢāļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđ€āļžāļ­āđƒāļŠāđƒāļ™āļāļēāļĢāđ€āļāļš

āļ‚āļ­āļĄāļĨ āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āļ—āļˆāļ°āļ„āļ™āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļŠāļ§āļ™āļ™āđ€āļĄāļ­āđ„āļĢāļāđ„āļ” āļˆāļ°āļ•āļ­āļ‡āļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđ‚āļ”āļĒāđƒāļŠāļ„āļģāļēāļŠāļ‡ new

āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđ‚āļ”āļĒāđƒāļŠāļ„āļģāļēāļŠāļ‡ new āļĄ 2 āđāļšāļš āļ„āļ­

– āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđāļšāļšāļŦāļ™āļ‡āļšāļĨāļ­āļâ€“ āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđ€āļžāļ­āđƒāļŠāļ‡āļēāļ™āđ€āļ›āļ™āļ­āļēāļĢāđ€āļĢāļĒ

Page 22: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming22

āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđāļšāļšāļŦāļ™āļ‡āļšāļĨāļ­āļ

āđƒāļŠāđāļ—āļ™āļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ•āļ§āđāļ›āļĢ 1 āļ•āļ§ āļĢāļ›āđāļšāļš:

āļ•āļ§āđāļ›āļĢāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ = new āļŠāļ™āļ”āļ•āļ§āđāļ›āļĢ; āđ€āļŠāļ™

int *ptr;

ptr = new int; āļāļēāļĢāļ„āļ™āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļē

delete ptr;

ptr

Page 23: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming23

āļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđ€āļžāļ­āđƒāļŠāļ‡āļēāļ™āđ€āļ›āļ™āļ­āļēāļĢāđ€āļĢāļĒ āļĢāļ›āđāļšāļš:

āļ•āļ§āđāļ›āļĢāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ = new āļŠāļ™āļ”āļ•āļ§āđāļ›āļĢ[āļ‚āļ™āļēāļ”āļ­āļēāļĢāđ€āļĢāļĒ];

āļ•āļ§āļ­āļĒāļēāļ‡āđ€āļŠāļ™int *nums;nums = new int[5];

āļāļēāļĢāđƒāļŠāļ‡āļēāļ™āļˆāļ°āđƒāļŠāđāļšāļšāļ­āļēāļĢāđ€āļĢāļĒāļŦāļĢāļ­āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļāđ„āļ” āđ€āļŠāļ™nums[1] = 10; // same as *(num+1) = 10;

āļāļēāļĢāļ„āļ™āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄ āļ•āļ­āļ‡āļĄāđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ [] āļŦāļ™āļēāļ•āļ§āđāļ›āļĢāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļ”āļ§āļĒdelete []nums;

10nums

Page 24: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming24

āļ•āļ§āļ­āļĒāļēāļ‡āļ— 6-6#include <iostream.h>int main(){ int num_std; cout << "Enter number of students: "; cin >> num_std;

float *scores = new float[num_std];

int i; for(i=0;i<num_std;i++) { cout << "Enter score of student " << i+1 << ": "; cin >> scores[i]; }

Page 25: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming25

āļ•āļ§āļ­āļĒāļēāļ‡āļ— - 66 (āļ•āļ­) cout << "\nThe scores are "; float total = 0; for(i=0;i<num_std;i++) { cout << scores[i] << " "; total = total + scores[i]; }

cout << "\nTotal scores of all students is "<< total;

delete []scores; return 0;}

Page 26: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming26

āļ•āļ§āļ­āļĒāļēāļ‡āļ— - 66 (āļ•āļ­) āļˆāļēāļāđ‚āļ›āļĢāđāļāļĢāļĄ āļˆāļ°āđ€āļŦāļ™āļ§āļēāļŠāļēāļĄāļēāļĢāļ–āļˆāļ­āļ‡āļŦāļ™āļ§āļĒ

āļ„āļ§āļēāļĄāļˆāļģāļēāđ„āļ”āļ•āļēāļĄāļ—āļœāđƒāļŠāļāļģāļēāļŦāļ™āļ” āđāļ•āļ–āļēāđƒāļŠāļ•āļ§āđāļ›āļĢāļ­āļēāļĢāđ€āļĢāļĒāļ˜āļĢāļĢāļĄāļ”āļē āļˆāļ°āđ„āļĄ

āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļēāļ­āļĒāļēāļ‡āļ™āđ„āļ”āđ€āļ™āļ­āļ‡āļˆāļēāļāļ‚āļ™āļēāļ”āļ­āļēāļĢāđ€āļĢāļĒāļ•āļ­āļ‡āđ€āļ›āļ™āļ„āļēāļ„āļ‡āļ— āļˆāļ°āļāļģāļēāļŦāļ™āļ”āđ€āļ›āļ™āļ•āļ§āđāļ›āļĢāđ„āļĄāđ„āļ”

Page 27: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming27

āļŠāļ•āļĢāļ‡ (String) āļŠāļ•āļĢāļ‡āļĄ 3 āļŠāļ™āļ” āļ„āļ­

– āļ„āļēāļ„āļ‡āļ—āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ„āļ§āļēāļĄ āđ€āļŠāļ™ "Sanook"– āļ­āļēāļĢāđ€āļĢāļĒāļ‚āļ­āļ‡ char – āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠāļ™āļ” char *

Page 28: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming28

āļŠāļ•āļĢāļ‡āđāļšāļšāļ—āđƒāļŠāļ­āļēāļĢāđ€āļĢāļĒāļ‚āļ­āļ‡ char āļ•āļ§āļ­āļĒāļēāļ‡āđ€āļŠāļ™

char name[8] = "Sawat";

āļāļēāļĢāđ€āļ›āļĨāļĒāļ™āđāļ›āļĨāļ‡āļ‚āļ­āļ„āļ§āļēāļĄāđƒāļ™āļ­āļēāļĢāđ€āļĢāļĒāļ‚āļ­āļ‡ char– āļŦāļēāļĄāđƒāļŠāđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ = (āđ€āļŠāļ™ name =

"Sombat"; āđ„āļĄāđ„āļ”)– āđƒāļŠāļŸāļ‡āļāļŠāļ™ strcpy āđ€āļŠāļ™strcpy(name,"Sombat");

name[0]

'S'

name[1]

'a'

name[2]

'w'

name[3]

'a'

name[4]

't'

name[5]

'\0'

name[6] name[7]

Page 29: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming29

āļŠāļ•āļĢāļ‡āđāļšāļšāļ—āđƒāļŠāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠāļ™āļ” char *

āļŠāļēāļĄāļēāļĢāļ–āļāļģāļēāļŦāļ™āļ”āļ„āļēāđ‚āļ”āļĒāđƒāļŠāđ€āļ„āļĢāļ­āļ‡āļŦāļĄāļēāļĒ = āđ„āļ”– char *str;– str = "Hello";

‘H’

str

‘e’ ‘l’ ‘l’ ‘o’ ‘\0’

āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāļŠāļ§āļ„āļĢāļēāļ§

Page 30: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming30

āļŠāļ•āļĢāļ‡āđāļšāļšāļ—āđƒāļŠāļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢāļŠāļ™āļ” char * (āļ•āļ­)

āļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļĨāļĒāļ™āđāļ›āļĨāļ‡āļ‚āļ­āļ„āļ§āļēāļĄāđ‚āļ”āļĒāđƒāļŠāļŸāļ‡āļāļŠāļ™ strcpy āļāđ„āļ” āđāļ•āļ•āļ­āļ‡āļĄāļāļēāļĢāļˆāļ­āļ‡āļŦāļ™āļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļēāđ€āļžāļ­āđƒāļŠāđƒāļ™āļāļēāļĢāđ€āļāļšāļ‚āļ­āļ„āļ§āļēāļĄāļ—āļˆāļ°āļ™āļģāļēāļĄāļēāļ§āļēāļ‡āđ€āļŠāļĒāļāļ­āļ™

āļ•āļ§āļ­āļĒāļēāļ‡āđ€āļŠāļ™char *str = new char[6];strcpy(str,"Hello");

Page 31: 240-101 Introduction to Computer Programming

240-101 Introduction to Computer Programming31

āļ­āļēāļĢāđ€āļĢāļĒāļ‚āļ­āļ‡āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ āđƒāļŠāđƒāļ™āļāļĢāļ“āļ—āļ•āļ­āļ‡āļāļēāļĢāđƒāļŠāļ‡āļēāļ™āļžāļ­āļĒāļ™āđ€āļ•āļ­āļĢ

āļŦāļĨāļēāļĒāđ† āļ•āļ§ āļ•āļ§āļ­āļĒāļēāļ‡āđ€āļŠāļ™

char *name_arr[3];name_arr[0] = "Somchai";name_arr[1] = "Sombat";name_arr[2] = "Sawat";

‘S’name_arr[0] ‘o’ ‘m’ ‘c’ ‘h’ ‘\0’‘a’ ‘i’

‘S’ ‘o’ ‘m’ ‘b’ ‘a’ ‘t’ ‘\0’name_arr[1]

‘S’ ‘a’ ‘w’ ‘a’ ‘t’ ‘\0’name_arr[2]