1 สตริง (String) การประกาศค่าตัวแปรสตริง การกำหนดค่าสตริง การอ้างอิงตัวอักษรแต่ละตัวในสตริง ฟังก์ชั่นที่ใช้ในการจัดการสตริง ฟังก์ชั่นในการเปลี่ยนรูปแบบของสตริง.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ครั้งที่ 9 Function(ต่อ).
Advertisements

โครงสร้างโปรแกรมภาษา C
ตัวแปรประเภทตัวชี้ (Pointer)
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ข้อมูลชนิดสตริง String บทที่ 8
LAB # 1.
Introduction to C Programming
ครั้งที่ 8 Function.
BC322 ครั้งที่ 13 Array 2 มิติ BC322 Computer Programming-Array Processing.
Control Statement if..else switch..case for while do-while.
การรับค่าและแสดงผล.
ข้อมูลชนิดโครงสร้าง (Structure Data)
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
บทที่ 11 การเขียนโปรแกรมโดยใช้ข้อมูลชนิดพอยท์เตอร์
Structure Programming
Array.
Week 6 ประกาศค่าตัวแปร.
คำสั่งเพื่อการกำหนดเงื่อนไข
การแสดงผล และการรับข้อมูล
รับและแสดงผลข้อมูล.
ตัวชี้ P O I N T E R Created By Tasanawan Soonklang
EECP0110 C Language Computer Programming
ตัวแปรชุด.
Lecture no. 10 Files System
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
บทที่ 12 Structure and union Kairoek choeychuen
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
C Programming Lecture no. 6: Function.
Functions Standard Library Functions User-defined Functions.
Programming With C Data Input & Output.
ตัวแปรชุดของอักขระ String
บทที่ 11 การเขียนโปรแกรมภาษาซี
บทที่ ไลบรารีฟังก์ชัน
หน่วยที่ 1 พื้นฐานภาษา C
หน่วยที่ 14 การเขียนโปรแกรมย่อย
อาร์เรย์และข้อความสตริง
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
สตริง (String).
การเขียนโปรแกรมภาษาซี
Chapter 4 คำสั่งควบคุมทิศทาง
ตัวแปรกับชนิดของข้อมูล
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชันรับข้อมูล ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
แถวอักขระ (string) ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
Week 2 Variables.
การประมวลผลสายอักขระ
Computer Programming for Engineers
ความหมาย การประกาศ และการใช้
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
Call by reference.
คำสั่งเงื่อนไข (Condition Statement)
คำสั่งรับค่า และ แสดงผลค่า. คำสั่งรับ - แสดงผล 1. printf( ) เป็น ฟังก์ชันที่ใช้ในการ แสดงผลข้อมูลที่อยู่ในตัว แปร ค่าคงที่ นิพจน์ออกมา ทางจอภาพ.
โครงสร้างภาษาซี #include <stdio.h> void main() {
บทที่ 10 สตริง.
คำสั่งเกี่ยวกับการรับ และแสดงผล
Output of C.
ตัวแปรและชนิดของข้อมูล (Variables & Data Types)
บทที่ 7 เงื่อนไขในภาษาซี
L/O/G/O ฟังก์ชั่นการรับและ แสดงผล และฟังก์ชั่นทาง คณิตศาสตร์
บทที่ 11 การจัดการข้อมูลสตริง
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
บทที่ 11 พอยเตอร์ C Programming C-Programming. จันทร์ดารา Surin Campus : มีอะไรบ้างในบทนี้  ตัวแปรพอยเตอร์ (Pointer) เป็นตัว แปรที่แปลกและแตกต่างไปจากตัว.
การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
Operator of String Data Type
C Programming By Mr. Sanae Sukprung.
ภาษา C เบื้องต้น.
บทที่ 4 ตัวแปร (Variables)
ใบสำเนางานนำเสนอ:

1 สตริง (String) การประกาศค่าตัวแปรสตริง การกำหนดค่าสตริง การอ้างอิงตัวอักษรแต่ละตัวในสตริง ฟังก์ชั่นที่ใช้ในการจัดการสตริง ฟังก์ชั่นในการเปลี่ยนรูปแบบของสตริง ฟังก์ชั่นที่มีการผ่านค่าเข้า แต่ไม่มีการ ส่งค่ากลับ

2 การประกาศตัวแปรสตริง รูปแบบ char name_variable[size + ‘\0‘] char * name_variable; ตัวอย่าง char p[9]= "I think!"; char *st; char p[9] = "I think!"; P[0]p[1]p[2]p[3]p[4]p[5]p[6]p[7]p[8] ‘I’‘ ’‘t’‘h’‘I’‘n’‘k’‘!’‘\0’

3 การกำหนดค่าสตริง ตัวอย่าง char var[10] = "Hello"; char var[] = "Hello"; char *var = "Hello"; char var[] = {‘H‘,‘e‘,‘l‘,‘l‘,‘o‘,‘\0‘}; ตัวอย่างที่ผิดพลาด char gh[5] = “MMMMMM”; Too many Initializers

4 #include void main(void) { char string[ ] = “Mahanakorn”; int a = 0; while (string[a] != ‘\0’) { printf(“%c = %d\n”,string[a], string[a]); a++; } printf (“\n%s”,string); getch(); } ตัวอย่าง ที่ 1 ผลรัน โปรแกรม M = 77 a = 97 h = 104 a = 97 n = 110 a = 97 k = 107 o = 111 r = 114 n = 110 Mahanakorn

5 การอ้างอิงตัวอักษรแต่ละตัวในสตริง การอ้างแบบอาร์เรย์ char st[] = "Thai"; st[0]st[1]st[2]st[3]st[4] ‘T‘‘h‘‘a‘‘i‘‘\0‘ *(st)*(st+1)*(st+2)*(st+3)*(st+4) ‘T‘‘h‘‘a‘‘i‘‘\0‘ การอ้างแบบพอยน์เตอร์ char *st; st = malloc(5*sizeof(char)); strcpy(st,”Thai”);

6 ฟังก์ชันที่ใช้ในการจัดการสตริง ฟังก์ชันรับข้อมูล scanf() int scanf(const char *format[, address,...]); #include void main(void) { char msg[20]; printf("Enter Message : "); scanf("%s",msg) ; } ตัวอย่างการใช้งาน scanf

7 gets() char *gets (char *s) ตัวอย่างการใช้งาน gets #include void main(void) { char *msg; msg = malloc(30*sizeof(char)); printf("Enter Message : "); gets(msg); }

8 ฟังก์ชันแสดงผลข้อมูล printf() int printf( const char *format [, argument,...]); ตัวอย่างการใช้งาน printf 1.char name[] = "Sopon"; printf("%s",name); 2.printf("%s","sopon"); 3. printf("sopon");

9 puts() int puts(const char *s) ตัวอย่างการใช้งาน puts #include void main (void) { char ppp[20]= "Technology"; puts(ppp); }

10 ตัวอย่างที่ 2 #include void main (void) { char id[9],*fname; int age; clrscr(); fname = malloc(30); printf("Input your Data\n\n"); printf("Please input your ID: "); scanf("%s",id); fflush(stdin); printf("Please input your First Name : "); gets(fname); printf("Please input your Age :"); scanf("%d",&age); printf("\nDisplay your Data\n\n"); printf("Your ID : %s\n",id); printf("Your First Name : %s\n",fname); printf("Your Age : %d\n",age); getch(); } Input your Data Please input your ID : Please input your First Name : Akino Please input your Age :45 Display your Data Your ID : Your First Name : Akino Your Age : 45 ผลการทำงาน โปรแกรม

11 ตัวอย่าง ที่ 3 #include void main(void) { char *message; int len=0; clrscr(); message=malloc(sizeof(char)*256); if(message != NULL) { printf("Enter string : "); gets(message); while(message[len] != ‘\0‘) len++; printf("String length is %d", len); getch(); } else printf("Out of Memory\n"); free(message); } Enter string : Good Afternoon String length is 14 ผลการทำงานของโปรแกรม

12 ฟังก์ชันที่ใช้จัดการสตริงโดยเฉพาะ ฟังก์ชันหาความยาวสตริง strlen() size_t strlen(const char *s) จะใช้ฟังก์ชั่นเหล่านี้จะต้อง load ไฟล์ string.h ด้วย #include Int len; char message[5]=“Hello”; len = strlen(message); len จะมีค่าเท่ากับ 5 ฟังก์ชันคัดลอก สตริง strcpy() char *strcpy(char *dest, const char *src) ฟังก์ชันคัดลอกสตริงจำนวน n ตัว strncpy() char *strncpy(char *dest, const char *src, size_t maxlen)

13 ฟังก์ชันต่อสตริง strcat() char *strcat(char *dest, const char *src) ฟังก์ชันต่อสตริงจำนวน n ตัว strncat() char *strncat(char *dest, const char *src, size_t n) ฟังก์ชันเปรียบเทียบสตริง strcmp() int strcmp(const char *s1, const char *s2) ฟังก์ชันในการค้นหาตัวอักษรในสตริง strchr() char *strchr(const char *s, int c);

14 ผลลัพธ์จากการเปรียบเทียบมีดังนี้ int strcmp(const char *s1, const char *s2) s1 < s2 ค่าน้อยกว่า 0 s1 > s2 ค่ามากกว่า 0 s1 = s2 ค่าเท่ากับ 0 ฟังก์ชันเปรียบเทียบสตริง n ตัว strcmp() int strcmp(const char *s1, const char *s2,size_t maxlen)

15 #include void main(void) { char *message; int len; clrscr(); message = malloc(sizeof(char)*256); if(message != NULL) { printf("Enter string : "); gets(message); len = strlen(message); printf("String length is %d", len); getch(); } else printf("Out of Memory\n"); free(message); } ตัวอย่างที่ 4 strlen Enter string : Good Afternoon String length is 14 ผลการทำงาน โปรแกรม

16 #include void main(void) { char s1[15] = “I love “; char s2[15] = “My University”; char s3[30]=””; clrscr(); printf(“s1 : %s”, s1); printf(“\ns2 : %s”, s2); printf(“\ns3 : %s”, s3); printf(“\n\nCopy s1 to s3 : use strcpy() \n”); strcpy(s3,s1); printf(“s3 : %s\n”, s3); printf(“\n\nPut s2 to the end of s3 : use strcat()\n”); strcat(s3, s2); printf(“s3 : %s\n”, s3); printf(“Please any key to continue. \n”); getch(); } ตัวอย่างที่ 5 strcpy และ strcat s1 : I love s2 : My University s3 : Copy s1 to s3 : use strcpy() s3 : I love Put s2 to the end of s3 : use strcat() s3 : I love My University Please any key to continue. ผลการทำงาน โปรแกรม

17 ตัวอย่างที่ 6 strcmp #include void main(void) { char *password="Hello"; char *psw; clrscr(); psw = malloc(sizeof(char)*257); if(psw != NULL) { printf("Enter password : "); gets(psw); while(strcmp(psw,password)) { printf(“Enter password : “); gets(psw); } printf(“Password OK.\n”); } else printf(“Out of Memory.\n”); } Enter password : Enter password : gord Enter password : t567 Enter password : hello Enter password : Hello Password OK. ผลการทำงาน โปรแกรม

18 ตัวอย่างที่ 7 strcha #include void main(void) { char *str1 = "Mahanakorn"; char *ptr; char ch; clrscr(); ptr = malloc(sizeof(char)*257); if(ptr !=NULL) { printf("String : %s\nStart in memory at %p\n\n", str1,str1); printf("Please type character that you want to find? "); scanf("%c", &ch); ptr = strchr(str1, ch); if(ptr != NULL) { printf("\nFound in memory at %p\n",ptr); printf("The first character‘%c’Found at %d\n\n", ch,ptr-str1+1); } else printf("Not found character ‘%c’ in string\n", ch); } else printf("Out of Memory.\n"); printf("Please any key to continue.\n"); getch(); }

19 String : Mahanakorn Start in memory at 00AA Please type character that you to find ? a Found in memory at 00AB The first character ‘a‘ Found at 2 Please any key to continue. ผลการทำงานของโปรแกรม ตำแหน่งตัวอักษรของสตริงในหน่วยความจำ str1str1 +1 str1 +2 str1 +3 str1 +4 str1 +5 str1 +6 str1 +7 ‘M‘‘a‘‘h‘‘a‘‘n‘‘a‘‘k‘‘o‘ str1+ 8 str1+ 9 str1+ 10 ‘r‘‘n‘‘\0‘

20 ตัวอย่างที่ 8 #include void main(void) { char *str1, *ptr; char ch; int len=0,check=0; clrscr(); ptr = malloc(sizeof(char)*257); str1 = malloc(sizeof(char)*257); if((ptr !=NULL) && (str1 != NULL)) { printf("Enter Source String : "); gets(str1); printf("String : %s\nStart in memory at %p\n\n", str1,str1); printf("Please type character that you want to find? "); scanf("%c", &ch); while(str1[len] != ‘\0’) { if(str1[len] == ch) { printf("Character ‘%c’ Found at %d \n\n", ch,len+1); check=1; } len++; } if(check == 0) printf("Not found character ‘%c’ in string\n", ch); } else printf("Out of Memory.\n"); printf("Press any key to continue.\n"); }

21 Enter Source String : We see the moon at nigth. String : We see the moon at night. Start in memory at 0948 Please type character that you want to find ? o Character 'o' Found at 13 Character 'o' Found at 14 Press any key to continue. ผลการทำงานของโปรแกรม

22 ฟังก์ชันที่เปลี่ยนรูปแบบของสตริง atoi( ) int atoi(const char *s) atol( ) long atol(const char *s) atof( ) double atof(const char *s)

23 ตัวอย่าง ที่ 9 #include void main(void) { double pwd; char *pwd1="24318",*pwd2="36471",*pwd3; clrscr(); pwd3 = malloc(20,sizeof(char)); pwd3 = strcpy(pwd3,pwd1); pwd3 = strcat(pwd3,pwd2); pwd = atof(pwd3); printf("string = %s \nconverted to double = %.2lf\n", pwd3, pwd); getch(); } string = converted to double = ผลการทำงาน โปรแกรม