79
บทท บทท 3 3 นฐาน นฐาน โปรแกรมภาษา โปรแกรมภาษา C C . . วราวฒ แขงขน วราวฒ แขงขน มหาวทยาลยราชภฏสวนดสต ศนยพษณโลก มหาวทยาลยราชภฏสวนดสต ศนยพษณโลก

C Programming

  • Upload
    warawut

  • View
    2.450

  • Download
    5

Embed Size (px)

DESCRIPTION

พื้นฐานโปรแกรมภาษา C

Citation preview

Page 1: C Programming

บทท�� บทท�� 33พ��นฐานพ��นฐาน

โปรแกรมภาษา โปรแกรมภาษา CC

ออ..วราว�ฒ� แข�งข นวราว�ฒ� แข�งข นมหาว�ทยาล ยราชภ ฏสวนด�ส�ต ศ�นย�พ�ษณ�โลกมหาว�ทยาล ยราชภ ฏสวนด�ส�ต ศ�นย�พ�ษณ�โลก

Page 2: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 2

เน��อหาเน��อหา

1.ประว�ต�ความเป นมา

2.ข!อด�ของภาษา C3.กระบวนการแปลโปรแกรมภาษา C4.ต�ดต�งโปรแกรม

5.โครงสร!างโปรแกรมภาษา C6.กฎเกณฑ(ของโปรแกรมภาษา C

Page 3: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 3

เน��อหา เน��อหา ((ต�อต�อ))

7.ต�วแปรในภาษา C8.ต�วด*าเน�นการในภาษา C9.น�พจน(ในภาษา C10.การเปล��ยนชน�ดข!อม.ลของต�วแปรในภาษา C11.การแสดงผลในภาษา C12.การร�บข!อม.ลในภาษา C13.หมายเหต1 (Comment)

Page 4: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 4

1. 1. ประว�ต�ความเป นมาประว�ต�ความเป นมา

ภาษาBCPL

ภาษาB

ภาษาC

Basic CombinedProgramming

Language

บนเครองPDP-7(Unix)

พ.ศ. 2513

พ.ศ. 2515โดย เดนน�ช ร�ทช�

Page 5: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 5

2. 2. ข�อด�ของภาษา ข�อด�ของภาษา CC

● เป นภาษาระด�บส.ง (High Level Language)● ไม3ข4นก�บระบบปฏ�บ�ต�การ (OS Independent)● ไม3ข4นก�บชน�ดของเคร��องคอมพ�วเตอร( (Hardware

Independent)● เป นภาษาโครงสร!าง (Structural Language)

Page 6: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 6

3. 3. กระบวนการแปลโปรแกรมภาษา กระบวนการแปลโปรแกรมภาษา CC

Source Code

Compile

Program

Page 7: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 7

4. 4. ต ดต!�งโปรแกรมต ดต!�งโปรแกรม

● โปรแกรม Editor ต3างๆ เช3น Notepad, Notepad++, EditPlus2, Turbo C, Turbo C++ เป นต!น

● โปรแกรมท��ใช!ในการจ�ดการเร�ยนการสอน ค�อ Bloodshed Dev-C++ Version 4.9.9.2 เป น Freeware (http://www.bloodshed.net/)

Page 8: C Programming

บทท�� 3 พ�นฐานของโปรแกรมภาษา C 8

5. 5. โครงสร�างโปรแกรมภาษา โครงสร�างโปรแกรมภาษา CC

#include <stdio.h> /* Comment */

… Data Declarations ...;

int main ( ) { … Executable Statements ...; return 0;}

Page 9: C Programming

บทท�� 3 พ�นฐานของโปรแกรมภาษา C 9

5. 5. โครงสร�างโปรแกรมภาษา โครงสร�างโปรแกรมภาษา CC

#include <stdio.h> /* Comment */

… Data Declarations ...;

int main ( ) { … Executable Statements ...; return 0;}

Comment

Page 10: C Programming

บทท�� 3 พ�นฐานของโปรแกรมภาษา C 10

5. 5. โครงสร�างโปรแกรมภาษา โครงสร�างโปรแกรมภาษา CC

#include <stdio.h> /* Comment */

… Data Declarations ...;

int main ( ) { … Executable Statements ...; return 0;}

Header FilePreprocessor Directive

Page 11: C Programming

บทท�� 3 พ�นฐานของโปรแกรมภาษา C 11

5. 5. โครงสร�างโปรแกรมภาษา โครงสร�างโปรแกรมภาษา CC

#include <stdio.h> /* Comment */

… Data Declarations ...;

int main ( ) { … Executable Statements ...; return 0;}

int n;char c;

Page 12: C Programming

12

5. 5. โครงสร�างโปรแกรมภาษา โครงสร�างโปรแกรมภาษา CC

#include <stdio.h> /* Comment */

… Data Declarations ...;

int main ( ) { … Executable Statements ...; return 0;}

Start Program

[

Page 13: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 13

6. 6. กฎเกณฑ'ของโปรแกรมภาษา กฎเกณฑ'ของโปรแกรมภาษา CC

● ฟ8งก(ช�นแรกต!องเป น main( ) เสมอ● ใช!ป9กกา ({ }) เป นต�วก*าหนดขอบเขตการท*างาน● ใช!เคร��องหมาย ; (semi colon) ป:ดท!ายค*าส��งเสมอ● ใช!เคร��องหมาย , (comma) เป นต�วค��นต�วแปรและ

พาราม�เตอร(● ใช!เคร��องหมาย /* … */ เป นการอธ�บายการท*างาน

ของโปรแกรม

Page 14: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 14

Example 1 (ex0301_1.c)Example 1 (ex0301_1.c)#include <stdio.h> /* #include “stdio.h” */#include <conio.h>

int main( ) { printf(“Hello World!!!\n”); getch(); return 0;}

Page 15: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 15

Example 1 (ex0301_2.c)Example 1 (ex0301_2.c)#include <stdio.h> /* #include “stdio.h” */#include <stdlib.h>

int main( ) { printf(“Hello World!!!\n”);

system(“PAUSE”); return 0;}

Page 16: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 16

Example 2 (ex0302.c)Example 2 (ex0302.c)#include “stdio.h”#include “conio.h”

int main( ) { printf(“Hello “);

printf(“World!!!”); printf(“\n”);

getch(); return 0;

}

Page 17: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 17

Example 3 (ex0303.c)Example 3 (ex0303.c)#include <stdio.h>#include <stdlib.h>

int main( ) { printf(“Hello \n”); printf(“World”); system(“PAUSE”);

return 0;}

Page 18: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 18

7. 7. ต!วแปรในภาษา ต!วแปรในภาษา C (Variable in C)C (Variable in C)

● ต!วแปร (Variable) ค�อ การจองพ�นท��ในหน3วยความจ*า เพ��อใช!ในการเก<บข!อม.ล เปร�ยบเสม�อนการก*าหนดช��อให!ส��งของหร�อห!องพ�ก ในการเร�ยกใช!ข!อม.ลก<จะท*าการเร�ยกผ3านต�วแปรท��เราก*าหนดข4น

Page 19: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 19

ชน ดของต!วแปรในภาษา ชน ดของต!วแปรในภาษา CC

● ต!วแปรพ��นฐาน (Scalar) หมายถ4ง ต�วแปรท��เก<บข!อม.ลได!เพ�ยงค3าเด�ยว ภายในต�วแปรต�วเด�ยว

● ต!วแปรช*ด (Array) หมายถ4ง ต�วแปรท��เก<บข!อม.ลได!หลายค3า ภายในต�วแปรต�วเด�ยว และม�ชน�ดข!อม.ลเป นชน�ดเด�ยวก�น

● ต!วแปรโครงสร�าง (Structure) หมายถ4ง ต�วแปรท��เก<บข!อม.ลได!หลายค3า ภายในต�วแปรต�วเด�ยว และม�ชน�ดข!อม.ลหลายชน�ด

Page 20: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 20

ต!วแปรพ��นในฐานในภาษา ต!วแปรพ��นในฐานในภาษา CC

แบ3งออกเป น 2 ชน�ด ด�งน�● Integer Types● Real Types

Page 21: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 21

Page 22: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 22

Page 23: C Programming

23

Example 4 (ex0104.c)Example 4 (ex0104.c)#include <stdio.h>#include <stdlib.h>#include <limits.h>

int main( ){ printf("Minimum char = %d, ", CHAR_MIN);

printf("Maximum char = %d\n", CHAR_MAX);printf("Minimum int = %i, ", INT_MIN);printf("Maximum int = %i\n", INT_MAX);system(“PAUSE”);return 0;

}Minimum char = -128, Maximum char = 127Minimum int = -2147483648, Maximum int = 2147483647

Page 24: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 24

การต!�งช��อต!วแปรในภาษา การต!�งช��อต!วแปรในภาษา CC

● ต!องข4นต!นด!วยต�วอ�กษร A-Z หร�อ a-z หร�อเคร��องหมาย _

● ภายในช��อต�วแปรสามารถใช!ต�วอ�กษร A-Z หร�อ a-z หร�อ 0-9 หร�อเคร��องหมาย _

● ภายในช��อต�วแปรห!ามเว!นช3องว3าง หร�อใช!ส�ญล�กษณ(อ��นนอกเหน�อจากท��ระบ1ไว!

● ต�วอ�กษรต�วเล<กและต�วใหญ3ม�ความหมายแตกต3างก�น

Page 25: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 25

การต!�งช��อต!วแปรในภาษา การต!�งช��อต!วแปรในภาษา C (C (ต�อต�อ))

● ห!ามต�งช��อซ*าก�บค*าสงวน (Reserved Word) หร�อค*าส��งท��ใช!ในภาษา Cauto break case char constcontinue default do double elseenum extern float for gotoit int long register returnshort signed sizeof static structswitch typedef union unsigned voidvolatile while etc.

Page 26: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 26

ตต..ยย. . การต!�งช��อต!วแปรในภาษา การต!�งช��อต!วแปรในภาษา CC

Correctaverage pinumber_of_studentsentry_total entryTotalall_total allTotal

Incorrect3rd_entry all$donethe end int

Page 27: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 27

การประกาศต!วแปรการประกาศต!วแปร

ร-ปแบบ:type name;

โดยท��:type ค�อ ชน�ดของต�วแปร

name ค�อ ช��อของต�วแปร

Example:int n;float f;char c;double d;

Page 28: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 28

การก.าหนดค�าให�ก!บต!วแปรการก.าหนดค�าให�ก!บต!วแปร

ร-ปแบบ:type name = value;

โดยท��:type ค�อ ชน�ดของต�วแปร

name ค�อ ช��อของต�วแปร

value ค�อ ค3าท��ก*าหนดให!ก�บต�วแปร

Example:int n = 10;float f = 10.5;char c = 'A';double d = 250.00;

Page 29: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 29

8. 8. ต!วด.าเน นงานในภาษา ต!วด.าเน นงานในภาษา CC

● Assignment Statement● Arithmetic Operators● Increment/Decrement Operators● Other Assignment Operators● Comparison Operators● Logical Operators

Page 30: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 30

Assignment StatementAssignment Statement

● ใช!เคร��องหมาย =● ใช!ในการก*าหนดค3าให!ก�บต�วแปร

ร-ปแบบ:variable = expression;

โดยท��:variable ค�อ ช��อของต�วแปร

expression ค�อ น�พจน(หร�อค3าท��ต!องการก*าหนด

Page 31: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 31

Example Assignment StatementExample Assignment Statement

Page 32: C Programming

32

Example 5 (ex0305.c)Example 5 (ex0305.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int term;

int term_2;int term_3;

term = 3 * 5; term_2 = 2 * term; term_3 = 3 * term; printf("term = %d\n", term); printf("term_2 = %d\n", term_2); printf("term_3 = %d\n", term_3);

system(“PAUSE”);return 0;

}

term = 15term_2 = 30term_3 = 45

Page 33: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 33

Page 34: C Programming

34

Example 6 (ex0306.c)Example 6 (ex0306.c)#include <stdio.h>#include <stdlib.h>

int main( ) {int a = 5, b = 2;int z;

z = a + b;printf("a + b = %d\n", z);z = a – b;

printf("a - b = %d\n", z);z = a * b;printf("a * b = %d\n", z);system(“PAUSE”);return 0;

}

a + b = 7a - b = 3a * b = 10

Page 35: C Programming

บทท�� 3 พ�นฐานของโปรแกรมภาษา C 35

Example 7 (ex0307.c)Example 7 (ex0307.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int a = 5, b = 2;

int z;

z = a / b;printf(“div = %d\n", z);z = a % b;printf(“mod = %d\n", z);// printf(“a %% b = %d\n”, z);system(“PAUSE”);return 0;

}

div = 2mod = 1

Page 36: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 36

Increment/Decrement OperatorsIncrement/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

Page 37: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 37

Page 38: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 38

Example 8 (ex0308.c)Example 8 (ex0308.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int n = 5;

printf(“n = %d\n”, n);printf(“++n = %d\n”, ++n);printf(“n++ = %d\n”, n++);printf(“n = %d\n”, n);

system(“PAUSE”);return 0;

}

n = 5n = 6n = 6n = 7

Page 39: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 39

Example 9 (ex0309.c)Example 9 (ex0309.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int value = 1, result;

result = (value++ * 5) + (value++ * 3);

printf(“result = %d\n”, result);printf(“value = %d\n”, value);

system(“PAUSE”);return 0;

}

result = 8value = 3

Page 40: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 40

ต!วด.าเน นการทางคณ ตศาสตร'ต!วด.าเน นการทางคณ ตศาสตร'ประเภทลดร-ปประเภทลดร-ป

Page 41: C Programming

บทท�� 3 พ�นฐานของโปรแกรมภาษา C 41

Example 10 (ex0310.c)Example 10 (ex0310.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int a = 5, b = 1;

printf(“Before b = %d\n”, b);

b += a; // b = b + a;

printf(“After b = %d\n”, b);

system(“PAUSE”);return 0;

}

Before b = 1After b = 6

Page 42: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 42

Comparison OperatorsComparison Operators

Page 43: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 43

Logical OperatorsLogical Operators

Page 44: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 44

Table Logical OperatorsTable Logical Operators

A B A && B A || B !A !BTRUE TRUE TRUE TRUE FALSE FALSETRUE FALSE FALSE TRUE FALSE TRUEFALSE TRUE FALSE TRUE TRUE FALSEFALSE FALSE FALSE FALSE TRUE TRUE

Page 45: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 45

9. 9. น พจน'ในภาษา น พจน'ในภาษา CC

● น พจน' (Expression) ค�อ การน*าข!อม.ล ซ4�งอาจจะอย.3ในร.ปของค3าคงท��หร�อต�วแปรมาด*าเน�นการ โดยใช!เคร��องหมายต3างๆ เป นต�วส��งงาน ส*าหร�บน�พจน(ท��เราพบเห<นก�นท��วไปในช�ว�ตประจ*าว�น เช3น y = 2x + 5, 2xy – 5 เป นต!น

Page 46: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 46

9. 9. น พจน'ในภาษา น พจน'ในภาษา C (C (ต�อต�อ))

● การเข�ยนน พจน'ในภาษา Cค�อ การน*าข!อม.ลและต�วแปรในภาษา C มาด*าเน�นการด!วยเคร��องหมายทางคณ�ตศาสตร( ตรรกศาสตร( หร�อ เคร��องหมายเปร�ยบเท�ยบในภาษา C เป นต�วส��งงาน

Page 47: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 47

9. 9. น พจน'ในภาษา น พจน'ในภาษา C (C (ต�อต�อ))

● น พจน'ทางคณ ตศาสตร'การเข�ยนจะเหม�อนก�บการเข�ยนน�พจน(ทางคณ�ตศาสตร(ตามปกต� เพ�ยงแต3เปล��ยนมาใช!เคร��องหมายทางคณ�ตศาสตร(ของภาษา C แทน ซ4�งต!องระว�งเคร��องหมายบางต�วท��ใช!ไม3เหม�อนก�น เช3น การค.ณจะใช!เคร��องหมาย * แทน x หร�อหารจะใช!เคร��องหมาย / แทน

Page 48: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 48

9. 9. น พจน'ในภาษา น พจน'ในภาษา C (C (ต�อต�อ))

● น พจน'ทางตรรกศาสตร'ค�อ การเข�ยนน�พจน(โดยใช!เคร��องหมายการด*าเน�นการทางตรรกศาสตร(ในภาษา C (&&, ||, !) เป นต�วส��งงาน ซ4�งส3วนใหญ3แล!วน�พจน(ทางตรรกศาสตร(จะอย.3รวมก�บน�พจน(ประเภทอ��นๆ เช3นc && (a <= b), (b >= c) || (c <= a)

Page 49: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 49

9. 9. น พจน'ในภาษา น พจน'ในภาษา C (C (ต�อต�อ))

● ล.าด!บเคร��องหมายในการค.านวณส3วนใหญ3น�พจน(ท��เข�ยนข4นในโปรแกรมม�กจะม�ความซ�บซ!อน ม�การด*าเน�นการหลายอย3างปะปนอย.3 ภายในน�พจน(เด�ยวก�น เช3นa / b + 15 * c หร�อ (a – b) * 10 / c && d + 5ซ4�งผลล�พธ(จะออกมาเป นอย3างน�น ต!องพ�จารณาจากล*าด�บความส*าค�ญก3อนหล�งของเคร��องหมายท��ภาษา C ก*าหนดไว!

Page 50: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 50

ล.าด!บของเคร��องหมายในการค.านวณล.าด!บของเคร��องหมายในการค.านวณ

ล.าด!บความส.าค!ญ เคร��องหมาย

1 ( )

2 !, ++, --, (typecast)

3 *, /, %

4 +, -

5 <, <=, >, >=

Page 51: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 51

10. 10. การเปล��ยนชน ดข�อม-ลของต!วแปรการเปล��ยนชน ดข�อม-ลของต!วแปรในภาษา ในภาษา CC

ถ!าน*าต�วแปรต3างชน�ดมาด*าเน�นการร3วมก�น เช3น int + float หร�อ int – char การท��จะด*าเน�นการตามเคร��องหมายได!น�นจะต!องเปล��ยนชน�ดของต�วแปรให!เป นชน�ดเด�ยวก�นก3อน โดยว�ธ�การเปล��ยนต�วแปรในภาษา C เร�ยกว3า Casting ซ4�งม�อย.3 2 ร.ปแบบ ค�อ● การเปล��ยนชน�ดข!อม.ลของต�วแปรอ�ตโนม�ต�● การเปล��ยนชน�ดข!อม.ลของต�วแปรโดยใช!ค*าส��ง

Page 52: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 52

การเปล��ยนชน ดข�อม-ลของต!วแปรการเปล��ยนชน ดข�อม-ลของต!วแปรอ!ตโนม!ต อ!ตโนม!ต

● เราไม3ต!องท*าอะไร ต�วแปลภาษา C จะจ�ดการให!ท�งหมด โดยใช!หล�กการเปล��ยนชน�ดของต�วแปรขนาดเล<กกว3าไปตามชน�ดของต�วแปรท��ม�ขนาดใหญ3กว3า

Page 53: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 53

ตารางการเปล��ยนชน ดข�อม-ลของตารางการเปล��ยนชน ดข�อม-ลของต!วแปรแบบอ!ตโนม!ต ต!วแปรแบบอ!ตโนม!ต

Var.1 Var. 2 Var. 3char int char → intint long int → longintint float int → floatint double int → double

float double float → doublelong double long → double

double long double double → long double

unsinged int int → unsinged int

Page 54: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 54

Example 11 (ex0311.c)Example 11 (ex0311.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int n = 5;

float f = 3.5, r;

r = n + f;

printf(“r = %f\n”, r);

system(“PAUSE”);return 0;

}

r = 8.500000

Page 55: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 55

ตารางรห!สควบค*มร-ปแบบการแสดงตารางรห!สควบค*มร-ปแบบการแสดงผลผล

รห!สควบค*ม น.าไปใช�แสดงต�วเลขจ*านวนเต<ม

%u แสดงต�วเลขจ*านวนเต<มบวก%0 แสดงต�วเลขฐานแปด%x แสดงต�วเลขฐานส�บหก%f%e%c%s%p

%d หร�อ %i

แสดงต�วเลขจ*านวนทศน�ยม (6 หล�ก)แสดงต�วเลขทศน�ยมร.ปแบบของ E หร�อ e ยกก*าล�งแสดงอ�กขระ 1 ต�ว (char)แสดงข!อความ (string)แสดงต�วช�ต*าแหน3ง (pointer)

Page 56: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 56

ตารางอ!กขระควบค*มการแสดงผลตารางอ!กขระควบค*มการแสดงผล

อ�กขระควบค1ม ความหมาย\n ข4นบรรท�ดใหม3\t\r\f\b

เว!นช3องว3างเป นระยะ 1 tab (เท3าก�บ 6 ต�วอ�กษร)ก*าหนดให! cursor ไปอย.3ต!นบรรท�ดเว!นช3องว3างเป นระยะ 1 หน!าจอลบอ�กขระส1ดท!ายออก 1 ต�ว

Page 57: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 57

การเปล��ยนชน ดข�อม-ลของต!วแปรการเปล��ยนชน ดข�อม-ลของต!วแปรโดยใช�ค.าส!�งโดยใช�ค.าส!�ง

● เป นการใช!ค*าส��งเพ��อเปล��ยนชน�ดของต�วแปร เราสามารถเล�อกชน�ดของต�วแปรท��ต!องการจะเปล��ยนไปใช!ได!

● ร-ปแบบ:(type) expression;

โดยท��:type ค�อ ชน�ดของต�วแปรท��ต!องการจะเปล��ยนexpression ค�อ ต�วแปรหร�อข!อม.ลท��ต!องการจะ

เปล��ยน

Page 58: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 58

Example 12 (ex0312.c)Example 12 (ex0312.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int n = 5;

float f = 3.5;

printf(“n = %f\n”, (float)n);printf(“f = %d\n”, (int)f);printf(“n + f = %d\n”, (n + (int)f));

system(“PAUSE”);return 0;

}

n = 5.000000f = 3n + f = 8

Page 59: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 59

11. 11. การแสดงผลในภาษา การแสดงผลในภาษา CC

● สามารถท*าได!หลายว�ธ� แต3ว�ธ�ท��น�ยมใช!ก�นมากท��ส1ดค�อ การเร�ยกใช!ฟ8งก(ช�น printf( ) ซ4�งเป นฟ8งก(ช�นมาตรฐานท��ใช!ในการแสดงผลข!อม.ลท1กชน�ดออกทางหน!าจอ (Monitor) ไม3ว3าจะเป นจ*านวนเต<ม ทศน�ยม อ�กขระ หร�อข!อความ

Page 60: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 60

11. 11. การแสดงผลในภาษา การแสดงผลในภาษา C (C (ต�อต�อ))

ร-ปแบบ: printf(format, expression-1, expression-2);โดยท��: format ค�อ ส3วนท��ใช!ควบค1มร.ปแบบการแสดงผล

expression-1, expression-2 ค�อ น�พจน(หร�อต�วแปรท��ต!องการแสดงผล

Page 61: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 61

11. 11. การแสดงผลในภาษา การแสดงผลในภาษา C (C (ต�อต�อ))

Page 62: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 62

Example 13 (ex0313.c)Example 13 (ex0313.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int a = 5, b = 10, c;

printf(“%d\t%d\n”, a, b);c = a + b;printf(“%d”, c);

system(“PAUSE”);return 0;

}

5 1015

Page 63: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 63

แสดงผลท�ละอ!กขระด�วยค.าส!�ง แสดงผลท�ละอ!กขระด�วยค.าส!�ง putchar( )putchar( )

ร-ปแบบ: putchar(expression);โดยท��: expression ค�อ ต�วแปรหร�อข!อม.ลท��เป นชน�ดข!อม.ลเป นอ�กขระ เข�ยนอย.3ในเคร��องหมาย ' ' เช3น 'A'

Page 64: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 64

Example 14 (ex0314.c)Example 14 (ex0314.c)#include <stdio.h>#include <stdlib.h>

int main( ) { char ch = 'A';

printf(“Function printf( ) : %c\n”, ch);printf(“Function putchar( ) : “);putchar(ch);

system(“PAUSE”);return 0;

}

Function printf( ) : AFunction putchar( ) : A

Page 65: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 65

แสดงผลเป3นข�อความด�วยค.าส!�ง แสดงผลเป3นข�อความด�วยค.าส!�ง puts( )puts( )

ร-ปแบบ: puts(expression);โดยท��: expression ค�อ ต�วแปรหร�อข!อม.ลท��เป นชน�ดข!อม.ลเป นอ�กขระ เข�ยนอย.3ในเคร��องหมาย “ “ เช3น “ABC”

Page 66: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 66

Example 15 (ex0315.c)Example 15 (ex0315.c)#include <stdio.h>#include <stdlib.h>

int main( ) { char str[ ] = “ABC”;

printf(“Function printf( ) : %s\n”, str);printf(“Function puts( ) :);puts(str);

system(“PAUSE”);return 0;

}

Function printf( ) : ABCFunction puts( ) : ABC

Page 67: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 67

12. 12. การร!บข�อม-ลในภาษา การร!บข�อม-ลในภาษา CC

● ร�บข!อม.ลจากแปDนพ�มพ(ในภาษา C สามารถเร�ยกใช!ฟ8งก(ช�น scanf( ) ซ4�งเป นฟ8งก(ช�นมาตรฐานส*าหร�บร�บข!อม.ลจากแปDนพ�มพ( โดยสามารถร�บข!อม.ลได!ท1กประเภท ไม3ว3าจะเป นจ*านวนเต<ม ทศน�ยม อ�กขระ หร�อข!อความ

Page 68: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 68

12. 12. การร!บข�อม-ลในภาษา การร!บข�อม-ลในภาษา C (C (ต�อต�อ))

ร-ปแบบ: scanf(format, &variable-1, &variable-2);โดยท��: format ค�อ ส3วนท��ใช!ควบค1มร.ปแบบการร�บข!อม.ล

variable-1, variable-2 ค�อ ต�วแปรท��ใช!ในการเก<บค3า และจ*าเป นต!องม�เคร��องหมาย & น*าหน!าต�วแปร ยกเว!นต�วแปรชน�ด string ท��ไม3จ*าเป นต!องม�เคร��องหมาย & น*าหน!าต�วแปร

Page 69: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 69

ร!บข�อม-ลมากกว�าหน4�งค�าด�วยค.าส!�ง ร!บข�อม-ลมากกว�าหน4�งค�าด�วยค.าส!�ง scanf( )scanf( )

● scanf(%d %f %d”, &var1, &var2, &var3);● scanf(%d/%f/%d”, &var1, &var2, &var3);● scanf(%d,%f,%d”, &var1, &var2, &var3);● scanf(%s %s %s”, var1, var2, var3);

Page 70: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 70

Example 16 (ex0316.c)Example 16 (ex0316.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int a, b, c;

printf(“Input number to 2 value : “);scanf(“%d %d”, &a, &b);c = a + b;printf(“a + b = %d\n”, c);

system(“PAUSE”);return 0;

}

Input number to 2 value : 3 6a + b = 9

Page 71: C Programming

71

Example 17 (ex0317.c)Example 17 (ex0317.c)#include <stdio.h>#include <stdlib.h>

int main( ) { int a, b, c;

printf(“Input number to a : “);scanf(“%d”, &a);printf(“Input number to b : “);scanf(“%d”, &b);c = a + b;printf(“a + b = %d\n”, c);

system(“PAUSE”);return 0;

}

Input number to a : 3Input number to b : 6a + b = 9

Page 72: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 72

ร!บข�อม-ลท�ละอ!กขระด�วย ร!บข�อม-ลท�ละอ!กขระด�วย getchar( ) getchar( ) และ และ getch( )getch( )

ร-ปแบบ: variable = getchar( );

variable = getch( );โดยท��: variable ค�อ ต�วแปรท��เป นชน�ดข!อม.ลเป นช1ดอ�กขระ (ข!อความ) เข�ยนอย.3ในเคร��องหมาย ' ' เช3น 'A'

Page 73: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 73

ร!บข�อม-ลท�ละอ!กขระด�วย ร!บข�อม-ลท�ละอ!กขระด�วย getchar( ) getchar( ) และ และ getch( ) (getch( ) (ต�อต�อ))

● getchar( ) ปDอนข!อม.ลจากแปDมพ�มพ( 1 ค3า (1 อ�กขระ) ตามด!วย Enter

● getch( ) ปDอนข!อม.ลจากแปDนพ�มพ( 1 ค3า (1 อ�กขระ) ไม3ต!องกด Enter และไม3สามารถค3าท��ปDอนพ�มพ(ขณะท��พ�มพ(

Page 74: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 74

Example 18 (ex0318.c)Example 18 (ex0318.c)#include <stdio.h>#include <stdlib.h>

int main( ) { char ch;

printf(“Enter character : “);scanf(“%c”, &ch);printf(“Result ch : %c\n“, ch);

system(“PAUSE”);return 0;

}

Page 75: C Programming

บทท�� 3 พ�นฐานของโปรแกรมภาษา C 75

Example 19 (ex0319.c)Example 19 (ex0319.c)#include <stdio.h>#include <stdlib.h>

int main( ) { char ch1, ch2;

printf(“Enter character 1 : “);ch1 = getchar( );printf(“Result ch1 : %c\n“, ch1);printf(“Enter character 2: “);ch2 = getch( );

system(“PAUSE”);return 0;

}

Page 76: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 76

ร!บข�อม-ลเป3นข�อความด�วย ร!บข�อม-ลเป3นข�อความด�วย gets( )gets( )

ร-ปแบบ: gets(expression);โดยท��: variable ค�อ ต�วแปรหร�อข!อม.ลท��เป นชน�ดข!อม.ลเป นช1ดอ�กขระ (ข!อความ) เข�ยนอย.3ในเคร��องหมาย “ “ เช3น “ABC”

Page 77: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 77

Example 20 (ex0320.c)Example 20 (ex0320.c)#include <stdio.h>#include <stdlib.h>

int main( ) { char str[ ] = “”;

printf(“Input string : “);scanf(“%s”, str);printf(“String : %s\n“, str);

system(“PAUSE”);return 0;

}

Page 78: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 78

Example 21 (ex0321.c)Example 21 (ex0321.c)#include <stdio.h>#include <stdlib.h>

int main( ) { char str[ ] = “”;

printf(“Input string : “);gets(str);printf(“String : %s\n“, str);

system(“PAUSE”);return 0;

}

Page 79: C Programming

K.Warawut บทท�� 3 พ�นฐานของโปรแกรมภาษา C 79

13. 13. หมายเหต* หมายเหต* (Comment)(Comment)

● ช3วยอธ�บายการท*างานของโปรแกรม เพ��อให!เก�ดความเข!าใจในส��งท��เข�ยน

● ไม3ม�ผลก�บโปรแกรมท��เข�ยนข4น● ร.ปแบบหมายเหต1

– /* */ → อธ�บายได!หลายบรรท�ด– // → อธ�บายในบรรท�ดเด�ยว เร��มต�งแต3ม�

เคร��องหมาย // ก*าก�บ