The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by kruthida28, 2019-07-30 03:56:49

หน่วยที่ 6

หน่วยที่ 6

ตวั ดาเนินการทางตรรกะ

(Logical Operator)

&& And และ
|| Or หรือ
! Not
ไม,่ ตรงกนั ข้าม

ตวั ดาเนนิ การเปรยี บเทยี บ

(Relational Operator)

< น้อยกวา่ Less than

<= น้อยกว่าหรือเทา่ กบั Less than or Equal

> มากกว่า Greater than

>= มากกวา่ หรือเทา่ กบั Greater than or Equal

== เท่ากบั , เท่ากนั Equal

!= ไม่เทา่ กบั , ไม่เทา่ กนั Not equal

ตวั ดาเนนิ การเพม่ิ ค่าและลดค่า

(Increment and Decrement
Operator)

++ เพม่ิ คา่ Increment
-- ลดค่า Decrement

ตวั ดาเนนิ การระดบั บติ

(Bit-wise Operator)

& And
| Or
^ Exclusive Or
~ Complement
>> Right Shift
<< Left Shift

ตวั ดาเนนิ การกาหนดค่า

(Assignment Operator)

+= |=
-= ^=
*= <<=
/= >>=
%=

&=

ลาดบั การทางานของตวั ดาเนินการ

1. ( )
2. !, ++, --
3. *, /, %
4. +, -
5. <, <=, >, >=
6. ==, !=
7. &&
8. ||
9. *=, /=, %=, +=, -=

ทิศทางการทางาน จากซ้ายไปขวา

นพิ จน์ (Expression)

หมายถึง การนาค่าคงที่ ตัวแปร และตัวดาเนินการมาประกอบกัน เพ่ือเขียนเป็นคาส่ังให้ ตั วแปล
ภาษาคอมพิวเตอร์เข้าใจ และสามารถทางานตามคาสง่ั ได้ผลลพั ธ์ตามต้องการ

สูตร นิพจน์

 = 1 + 2 + 3 + ⋯ + = ( +1)  k1 = n * (n + 1) / 2;
=1 2

 1 = ( + )2 = 2 + 2 + 2  f1 = a * a + 2 * a * b + b * b;

 c = a2 + b2  c = sqrt(a * a + b * b);
 K = 1 a2 3  K=0.25 * a * a * sqrt(3);

4

Basic Function in C
Mode Text

– clrscr(); - ล้างหน้าจอในโหมดเทก็ ซ์
– clreol();- ลบข้อความจากตาแหนง่ เคอร์เซอร์ไปจนสดุ บรรทดั
– delline(); - ลบบรรทดั
– gotoxy(); - ย้ายตาแหน่งเคอร์เซอร์ไปยงั ตาแหน่งท่ีระบุ
– wherex(); - คืนคา่ ตาแหน่งคอลมั น์ท่ีเคอร์เซอร์ปรากฏ (1-

80)
– wherey(); - คืนคา่ ตาแหนง่ บรรทดั ท่ีเคอร์เซอร์ปรากฏ (1-

25)

Basic Function in C
Mode Text (ต่อ)

– cprintf(); - แสดงผลข้อความหรือคา่ ตวั แปรตามสีที่กาหนด

– printf(); - แสดงผลข้อความหรือคา่ ตวั แปร

– sprintf(); - แปลงข้อมลู ตวั เลขให้เป็นข้อความ

– puts(); - แสดงผลข้อความ

– putch(); - แสดงผลอกั ขระ

– getch(); - รับคา่ อกั ขระจากแปน้ พิมพ์โดยจะไม่แสดงอกั ขระท่ีปอ้ น

– getche(); - รับคา่ อกั ขระจากแปน้ พิมพ์โดยจะแสดงอกั ขระท่ีปอ้ น

– gets(); - รับคา่ ข้อความจากแปน้ พิมพ์มาเกบ็ ไว้ในตวั แปรสตริงที่ระบุ

– scanf(); - รับคา่ ข้อมลู จากแปน้ พิมพ์มาเก็บไว้ในตวั แปรท่ีระบุ

– window(); - กาหนดพืน้ ที่หน้าตา่ ง

Basic Function

Graphics Mode

– initgraph(); - เข้าสโู่ หมดกราฟิก

– closegraph(); - ออกจากโหมดกราฟิก

– cleardevice(); - ล้างหน้าจอในโหมดกราฟิก

– setcolor(); - กาหนดสี

– setfillstyle(); - กาหนดรูปแบบการระบาย

– settextstyle(); - กาหนดรูปแบบข้อความ

– arc(); - วาดเส้นโค้ง

– bar(); - วาดแทง่ สเี่ หลี่ยม

Basic Function

Graphics Mode (ต่อ)

– ellipse(); - วาดวงรี

– pieslice(); - วาดสว่ นซีกวงกลม

– line(); - วาดเส้นตรงจากจดุ หนงึ่ ไปยงั จดุ หนงึ่ ตามท่ีระบพุ ิกดั

– lineto(); - วาดเส้นตรงจากจดุ เดิมไปยงั อกี จดุ ท่ีระบพุ ิกดั

– linerel(); - วาดเส้นตรงจากจดุ เดิมไปยงั จดุ ท่ีอย่หู า่ งตามระยะหา่ งท่ีกาหนด

– moveto(); - ย้ายพิกดั ไปที่ใหมต่ ามที่ระบุ

– moverel(); - ย้ายพิกดั ไปท่ีใหม่หา่ งจากพิกดั เดิมตามระยะหา่ งท่ีกาหนด

– floodfill(); - ระบายสีท่ีตาแหน่งพิกดั ที่กาหนดไปจนจดุ สิน้ สดุ ตามสที รี่ ะบุ

– outtext(); - แสดงข้อความที่กาหนดในพิกดั ปัจจบุ นั

– outtextxy(); - แสดงข้อความที่กาหนดตามพิกดั ท่ีกาหนด

ฟังก์ชันเกย่ี วกบั การแสดงผลทางจอภาพ

การแสดงผลบนจอในโหมดข้อความ (Text Mode) โปรแกรม Turbo C มีขนาดจอ

มาตรฐาน 80 x 25 คอื มี 80 คอลมั น์ และ 25 บรรทดั

textmode(C80);

เป็นฟังก์ชนั เข้าสโู่ หมดเทก็ ซ์ (Text mode) หน้าตา่ งมาตรฐาน 80 x 25, 16 สี

clrscr();

เป็นฟังก์ชนั ใน TurboC ทาหน้าที่ล้างหน้าจอ (Clear screen) พร้อมนาเคอร์เซอร์ ไป
ยงั ตาแหน่งซ้ายบนบรรทดั แรกของจอ (คือตาแหน่ง 1,1) ซง่ึ ฟังก์ชนั นีม้ ีใช้ใน Turbo C เท่านนั้ หากใช้
กบั C ของคา่ ยอ่นื ให้ใช้คาสง่ั system("cls"); แทนได้

clreol();

เป็นฟังก์ชัน ลบข้อความตงั้ แต่ตาแหน่งท่ีเคอร์เซอร์ปรากฏอย่ไู ปจนสดุ บรรทดั นัน้ ถ้าเคอร์เซอร์อย่ทู ่ี
คอลมั น์แรก คาสง่ั นีก้ ็จะเป็นการลบข้อความในบรรทดั นนั้ ทงั้ บรรทดั

printf()

เป็นฟังก์ชนั มาตรฐานในภาษาซีท่ีใช้ในการแสดงผลลพั ธ์ออกทางจอภาพ ณ ตาแหน่งท่ีเคอร์เซอร์ปรากฏอยู่
รูปแบบ
printf("ข้อความ");
printf("control_format",exp1 [,exp2[,...expN]]);

Control_format อาจประกอบไปด้วย ข้อความ หรือ อกั ขระควบคมุ การแสดงผลลพั ธ์ หรือ รหสั
รูปแบบ อยภู่ ายในเครื่องหมายคาพดู " " แต่รวมความยาวทงั ้ หมดไมเ่ กิน 254 อกั ขระ

exp1, exp2, ... expN คือเป็นค่าข้อมลู หรือตวั แปร หรือนิพจน์ก็ได้
จานวนของ expression จะต้องสมั พนั ธ์กบั ชนิดและจานวนรหสั รูปแบบท่ีอยใู่ นเคร่ืองหมายคาพดู เชน่
printf("Hello");

printf("\n");

printf("Welcome to Thailand\n");

printf("\nValue A\t\tValue B\t\tSum\n");

printf("%3d\t\t%3d\t\t%3d\n",a,b,(a+b));

– \a Bell อกั ขระควบคมุ การแสดงผลลพั ธ์ (Escape

Control)

– \' Single quote

– \b Backspace – \" Double quote

– \f Form feed – \0 Null

– \n New line

– \r Carriage return

– \t Horizontal tab

– \\ back slash

รหสั รปู แบบขอ้ มูล (Format code)

หมายถึง รหสั รูปแบบข้อมลู เพ่อื กาหนดประเภทข้อมลู ที่กาหนด โดยต้องระบภุ ายในเครื่องหมาย " " (Double Quote)

– %c ใช้กบั ข้อมลู ประเภท char

– %d ใช้กบั ข้อมลู ประเภท int - เลขฐานสิบ

– %u ใช้กบั ข้อมลู ประเภท unsigned int

– %l ใช้กบั ข้อมลู ประเภท long

– %lu ใช้กบั ข้อมลู ประเภท unsigned long

– %e ใช้กบั ข้อมลู ประเภท float ในรูป e ยกกาลงั

– %f ใช้กบั ข้อมลู ประเภท float

– %lf ใช้กบั ข้อมลู ประเภท double

– %g ใช้กบั ข้อมลู ประเภท float

– %h ใช้กบั ข้อมลู ประเภท short int

– %o, %O ใช้กบั ข้อมลู ประเภท - เลขฐานแปด

– %0x,%0X ใช้กบั ข้อมลู ประเภท - เลขฐานสิบหก

ฟังกช์ นั เกย่ี วกบั การแสดงผลทางจอภาพ (ต่อ)

– putchar()
เป็นฟังก์ชนั มาตรฐานในภาษาซีที่ใช้ในการแสดงอกั ขระออกทางจอภาพ

รูปแบบ putchar(ch);
โดย ch เป็นตวั แปรชนิดอกั ขระ

– puts()
เป็นฟังก์ชนั มาตรฐานในภาษาซีที่ใช้ในการแสดงข้อความออกทางจอภาพ

รูปแบบ puts(str);
โดย str เป็นตวั แปรชนิดข้อความ หรือ สายอกั ขระ

– gotoxy( )
เป็นฟังก์ชนั ย้ายเคอร์เซอร์ไปตาแหนง่ x และ y

รูปแบบ gotoxy(x,y);

x มีคา่ อยู่ระหวา่ ง 1-80
y มีค่าอยู่ระหวา่ ง 1-25

window()

เป็นฟังก์ชนั กาหนดขนาดของหน้าตา่ งในโหมดเทก็ ซ์ ซงึ่ มีคา่ โดยปริยาย (Default) = 80 x
25 (80 คอลมั น์ 25 บรรทดั )

รูปแบบ

window(left, top, right, bottom);
left ขอบหน้าตา่ งด้านซ้าย มีค่าอย่รู ะหว่าง 1-80

right ขอบหน้าตา่ งด้านขวา มีค่าอย่รู ะหว่าง 1-80 แตต่ ้องมากกวา่ left

top ขอบหน้าตา่ งด้านบน มีค่าอยรู่ ะหว่าง 1-25 แตต่ ้องน้อยกว่า

bottom

bottom ขอบหน้าตา่ งด้านลา่ ง มคี า่ อย่รู ะหวา่ ง 1-25 แตต่ ้อง
มากกวา่ top

การกาหนดสตี วั อกั ษรและสพี ้นื และคาสง่ั แสดงผล

– textcolor(fc);
fc = คา่ สตี วั อกั ษร

สามารถกาหนดได้ 16 สี มีคา่ อยรู่ ะหวา่ ง 0-15

– textbackground(bc);
bc = คา่ สพี นื ้

สามารถกาหนดได้ 8 สี มีคา่ อยรู่ ะหวา่ ง 0-7

– cprintf()

เป็นฟังก์ชนั สาหรับพิมพ์ข้อความที่เป็นสี ใช้กบั Turbo C เทา่ นนั้

ตวั อย่าง โปรแกรมแสดงรหสั แอสก้ี (ASCII

Code)

// by Nuntchayathorn Chatrsuwun
#include <conio.h>
#include <stdio.h>
void main()
{

clrscr();
for (int i=32; i<=255; i++)
{

if (i == 128) getch();
printf(" %03d(%02X) %c",i,i,i);
}
getch();
}

ผลกำรรนั โปรแกรม

ฟังกช์ นั รบั ค่าขอ้ มูลทางแป้ นพมิ พ์

– scanf()
เป็นฟังก์ชนั ในการรับข้อมลู จากแป้นพิมพ์ (Keyboard) เข้าไปเก็บไว้ในตัวแปรท่ี

กาหนด โดยชนิดข้อมูลสามารถกาหนดได้ ทกุ ประเภท ดงั นนั้ ฟังก์ชนั นีจ้ ึงเป็นฟังก์ชนั ที่นิยมใช้กัน
มากในการรับข้อมลู เม่ือคาสง่ั นีท้ างาน จะปรากฏเคอร์เซอร์ (Cursor) กระพริบรอรับการปอ้ น
ข้อมลู ให้เราพิมพ์ข้อมลู ท่ีต้องการแล้วกดคีย์ Enter

รูปแบบ scanf("format", &var);

"format" : รหสั รูปแบบขอ้ มูล (Format code)
var : ตวั แปรทีจ่ ะทาหนา้ ทีเ่ ก็บคา่ ทีร่ ับเขา้ มาจากแปน้ พิมพ์

โดยช่ือตวั แปรจะต้องนาด้วยเครื่องหมาย & เสมอ
ยกเว้นถ้าเป็นตวั แปรชนิดข้อความ อาจจะไม่ต้องใสเ่ คร่ืองหมาย & กไ็ ด้

การรบั ค่าทางแป้ นพมิ พใ์ หก้ บั ตวั แปรเดยี ว

scanf("%d", &n);

เป็นการรับข้อมลู ตวั เลขจานวนเตม็ ฐานสิบจากแปน้ พิมพ์มาเก็บไว้ที่ตวั แปร n

scanf("%s", str); หรอื

scanf("%s",&str);

เป็นการรับข้อมลู ที่เป็นข้อความ มาเก็บไว้ที่ตวั แปร str

scanf("%c", &ch);

เป็นการรับข้อมลู อกั ขระจากแปน้ พิมพ์มาเก็บไว้ในตวั แปร ch

การรบั ขอ้ มูลชนดิ อกั ขระ

– แบบต้องกดคยี ์ Enter ทุกครัง้

getchar( )

เป็นฟังก์ชนั ท่ีใช้สาหรับรับข้อมูลประเภทตัวอักขระจากแป้นพิมพ์ โดยรับข้อมูลครัง้ ละ 1 ตวั อกั ขระ
เทา่ นนั้ ดงั นนั้ ตวั แปรท่ีมารับคา่ ก็จะต้องประกาศเป็นชนดิ char ด้วย เม่ือปอ้ นอกั ขระ 1 ตวั แล้ว ต้องกดคีย์ Enter

รูปแบบ var = getchar();
เชน่
char ch;
printf("Enter your charactor : ");
ch = getchar();

การรบั ขอ้ มูลชนดิ อกั ขระ

–แบบไม่ต้องกดคีย์ Enter ทุกครัง้

getch();

เป็นฟังก์ชนั สาหรับรับข้อมลู ชนิดอกั ขระจากแป้นพิมพ์ 1 อกั ขระ โดยไม่ต้องกด
คีย์ Enter จะไมแ่ สดงค่าอกั ขระ

getche();

เป็นฟังก์ชนั สาหรับรับข้อมลู ชนิดอกั ขระจากแป้นพิมพ์ 1 อกั ขระ โดยไม่ต้องกด
คีย์ Enter จะแสดงอกั ขระท่ีกด

การรบั ขอ้ มูลชนดิ ขอ้ ความ

– gets()
เป็นฟังก์ชนั ที่ใช้สาหรับรับข้อมลู ชนิดข้อความจากแปน้ พมิ พ์ และเมื่อปอ้ นข้อมลู ที่เป็น

ข้อความเสร็จแล้ว ให้กดคีย์ Enter

รูปแบบ gets(str);

str คือตวั แปรชนิดขอ้ ความไวส้ าหรับเก็บขอ้ มูลชนิดขอ้ ความทีป่ อ้ นจากแปน้ พิมพ์

เชน่
char str[30];
printf("Enter your name : ");
fflush(stdin); gets(str);
printf("Your name is %s\n",str);


Click to View FlipBook Version