งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

EECP0110 C Language Computer Programming

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "EECP0110 C Language Computer Programming"— ใบสำเนางานนำเสนอ:

1 EECP0110 C Language Computer Programming
C String

2 Contents Basic of String in C Language
1 Basic of String in C Language 2 กำหนดค่าเริ่มต้นให้กับตัวแปร String 3 String Input Functions 4 String Output Functions 5 String Library Functions Computer Engineering Mahanakorn University of Technology.

3 Basic of String in C Language
String ในภาษา C นั้นจะใช้ Array ของ Character มาสร้างเป็นข้อความ แต่จะมีอะไรที่แตกต่างจาก Array ของ Character คือจะมี null Character(\0) เป็นตัวปิดท้ายข้อความ char string[20]=“Initial Message”; [0] [1] [4] [9] [14] [15] [19] I n i t a l M e s g \0 ? ข้อมูลที่อยู่หลัง null character(\0) จะถูกมองข้าม ความยาวของข้อความคือ 15 ตัวอักษร Computer Engineering Mahanakorn University of Technology.

4 Basic of String in C Language
String vs. Array of char String char color[] = “blue”; char color[] = {‘b’, ‘l’, ‘u’, ‘e’,‘\0’}; Array of char char color[] = {‘b’, ‘l’, ‘u’, ‘e’}; Computer Engineering Mahanakorn University of Technology.

5 Basic of String in C Language
การประกาศตัวแปร String ในรูปแบบชนิด char* char month[] = “January”; สร้าง array ขนาด 5 char *monthPtr = “January”; สร้างตัวแปร pointer ที่ชี้ไปที่ string “January” ในหน่วยความจำ Computer Engineering Mahanakorn University of Technology.

6 กำหนดค่าเริ่มต้นให้กับตัวแปร String
char msg[10] = “Computer”; char msg[10] = {‘C’,’o’,’m’,’p’,’u’,’t’,’e’,’r’,’\0’}; การกำหนดแบบไม่ได้กำหนดความยาวของตัวอักษรใน String char msg[ ] = “Computer”; char *msg = “Computer"; char msg[] = {‘C’,’o’,’m’,’p’.’u’,’t’,’e’,’r’,’\0’}; Computer Engineering Mahanakorn University of Technology.

7 ไม่สามารถกำหนดค่าของตัวแปร String… ...ส่งแก่ตัวแปรตัวอื่นได้
การ Copy String char str1[10]=“Computer”; char str2[30]; str2=str1; str2=“Computer”; ไม่สามารถกำหนดค่าของตัวแปร String… ...ส่งแก่ตัวแปรตัวอื่นได้ Computer Engineering Mahanakorn University of Technology.

8 String Input Functions
scanf scanf( “%s”, msg ); scanf จะอ่านค่าของสตริงที่ user ป้อนให้ไปเรื่อยๆจนกว่า จะได้รับค่า space, newline หรือ end-of-file character Computer Engineering Mahanakorn University of Technology.

9 String Input Functions
หากค่าสตริงที่อ่านมามีขนาดตัวอักษรยาวกว่าขนาดของตัวแปร array ที่จะจัดเก็บ จะเกิดผลอย่างไร char msg[10]; printf(“Enter Message : “); scanf(“%s”, msg); ? Computer Engineering Mahanakorn University of Technology.

10 String Input Functions
การป้องกันไม่ให้อ่านค่าตัวอักษรเกินกว่าขนาดของสตริงที่กำหนด ทำได้โดยการระบุขนาดของตัวอักษรที่จะรับ char msg[10]; printf(“Enter Massage : “); scanf(“%9s”, msg); Computer Engineering Mahanakorn University of Technology.

11 String Input Functions
Edit set ( %[…] ) คือ กลุ่มเครื่องหมายที่ใช้ในการกำหนดรูปแบบการอ่าน string โดย scanf จะเลือกอ่านตัวอักษรที่เหมือนกับตัวอักษรที่อยู่ใน […] ของ edit set เท่านั้น ตย. การอ่านค่าเงิน สกุลดอลล่าร์ เท่านั้น char msg[10]; printf(“Enter money : “); scanf(“%9[ ,.$]s”,msg); Computer Engineering Mahanakorn University of Technology.

12 String Input Functions
การกำหนดค่าใน Edit set ( %[…] ) ให้ยกเว้นการอ่านค่าตัวอักษรบางตัว ทำได้โดยการ ใส่เครื่องหมาย ( ^ ) เช่นตัวอย่าง กำหนดให้อ่านตัวอักษรทั้งบรรทัด ยกเว้น newline จากตัวอย่าง scanf จะอ่านตัวอักษรจนกว่าจะพบ newline character จึงหยุดอ่าน char msg[100]; printf(“Enter message : “); scanf(“%81[^\n]s”,msg); Computer Engineering Mahanakorn University of Technology.

13 String Output Functions
printf รูปแบบการจัดรูปแบบการพิมพ์ string printf( “%s”, msg ); printf( “%flagprecisions”, stringที่จะพิมพ์ ); Left-justify Computer Engineering Mahanakorn University of Technology.

14 String Output Functions
printf(“|%+30s|”,”Computer”); Output: printf(“|%-30s|”,”Computer”); Computer Engineering Mahanakorn University of Technology.

15 String Output Functions
printf(“|%-20.15s|”,” ”); Output: กำหนดระยะพิมพ์ 20 ตำแหน่ง แต่ให้พิมพ์ 15 ตัวอักษร Computer Engineering Mahanakorn University of Technology.

16 Standard Input/Output Library Functions
Computer Engineering Mahanakorn University of Technology.

17 char *gets (char *s); #include<stdio.h> void main() { char name[20] = “”; char question[20] = “What is your name?”; puts(question); gets(name); printf(“You are %s\n”, name); } Computer Engineering Mahanakorn University of Technology.

18 char *gets (char *s); Computer Engineering
Mahanakorn University of Technology.

19 int puts(const char *s)
Computer Engineering Mahanakorn University of Technology.

20 โปรแกรมใช้ sprintf พิมพ์ข้อมูลไปเก็บใน array
Computer Engineering Mahanakorn University of Technology.

21 String Library Functions
#include <string.h> Computer Engineering Mahanakorn University of Technology.

22 int strlen( const char string[] );
String Length int strlen( const char string[] ); strlen คืนค่า ขนาดความยาวของสตริง หรือ จำนวนตัวอักษรในสตริง ไม่นับรวม null character ถ้าสตริงไม่มีตัวอักษรเลย จะคืนค่าศูนย์ Computer Engineering Mahanakorn University of Technology.

23 String Length #include<stdio.h> #include<string.h> void main() { char buff[20] = “”; int num; strcpy(buff,“What happen?”); num = strlen(buff); printf(“String contains %d character”,num); } Computer Engineering Mahanakorn University of Technology.

24 String Length #include<stdio.h> #include<string.h> void main() { char buff[20] = “”; strcpy(buff,“What happen?”); printf(“String contains %d character”, strlen(buff)); } Computer Engineering Mahanakorn University of Technology.

25 ตัวอย่างคำสั่ง strlen
#include <stdio.h> #include <conio.h> #include <malloc.h> #include <string.h> 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); ตัวอย่างคำสั่ง strlen ผลการทำงานโปรแกรม Enter string : Good Afternoon String length is 14 Computer Engineering Mahanakorn University of Technology.

26 String Copy ไม่สามารถกำหนดค่า String โดยใช้ assignment statement เช่น
char str1[] = ”Test String”; char str2[12]; str2 = str1; str2 = ”Test String”; Computer Engineering Mahanakorn University of Technology.

27 String Copy char *strcpy( char *Destination, const char *Source ); Copies the C string pointed by Source into the array pointed by Destination, including the terminating null character char * strncpy ( char * Destination, const char * Source, size_t num ); Copies the first num characters of Source to Destination. If the end of the source C string (which is signaled by a null-character) is found before num characters have been copied, destination is padded with zeros until a total of num characters have been written to it. Computer Engineering Mahanakorn University of Technology.

28 String Copy การ Copy จะเป็นการ copy ตัวอักษรในสตริงตั้งแต่ตัวแรกไปเรื่อยๆ จนกว่า จะพบ ‘/0’ จึงหยุด ทำการ copy Computer Engineering Mahanakorn University of Technology.

29 strcpy Computer Engineering Mahanakorn University of Technology.

30 strncpy Computer Engineering Mahanakorn University of Technology.

31 Computer Engineering Mahanakorn University of Technology.

32 char * strcat ( char * destination, const char * source );
String Concatenate char * strcat ( char * destination, const char * source ); char * strncat ( char * destination, const char * source,size_t num ); strcat และ strncat นำสตริงชุดที่หนึ่งไปต่อท้าย สตริงชุดที่สอง โดยตัวอักษรตัวแรกของสตริงชุดที่สอง จะทับ null character ของ สตริงชุดที่หนึ่ง คืนค่า address ของ pointer ที่ชี้ สตริงผลลัพธ์ (address ของสตริงชุดที่หนึ่ง) Computer Engineering Mahanakorn University of Technology.

33 String Concatenate Computer Engineering
Mahanakorn University of Technology.

34 int strcmp ( const char * str1, const char * str2 );
String Compare int strcmp ( const char * str1, const char * str2 ); Compares the C string str1 to the C string str2. This function starts comparing the first character of each string. If they are equal to each other, it continues with the following pairs until the characters differ or until a terminanting null-character is reached. int strncmp ( const char * str1, const char * str2, size_t num ); Compares up to num characters of the C string str1 to those of the C string str2. This function starts comparing the first character of each string. If they are equal to each other, it continues with the following pairs until the characters differ, until a terminating null-character is reached, or until num characters match in both strings, whichever happens first. Computer Engineering Mahanakorn University of Technology.

35 ผลลัพธ์จากการเปรียบเทียบมีดังนี้
int strcmp ( const char * str1, const char * str2 ); int strncmp ( const char * str1, const char * str2, size_t num ); str1 < str2 ค่าน้อยกว่า 0 str1 > str2 ค่ามากกว่า 0 str1 = str2 ค่าเท่ากับ 0 Computer Engineering Mahanakorn University of Technology.

36 strcmp(s1,s2); String Compare Computer Engineering
Mahanakorn University of Technology.

37 strcmp(s1,s2); String Compare Computer Engineering
Mahanakorn University of Technology.

38 strcmp(s1,s2); String Compare Computer Engineering
Mahanakorn University of Technology.

39 ตัวอย่างการเขียนคำสั่ง strcmp เพื่อเปรียบเทียบ
Computer Engineering Mahanakorn University of Technology.

40 ตัวอย่างการเขียนคำสั่ง strcmp เพื่อเปรียบเทียบ
Computer Engineering Mahanakorn University of Technology.

41 ตัวอย่างผลลัพธ์ของการเปรียบเทียบโดยใช้ Strncmp
strncmp(string1,string2,Size); Computer Engineering Mahanakorn University of Technology.

42 String Conversion Functions
int atoi ( const char * str ); // Convert string to integer Parses the C string str interpreting its content as an integral number, which is returned as an int value. double atof ( const char * str ); // Convert string to double Parses the C string str interpreting its content as a floating point number and returns its value as a double. long atol ( const char * str ); // Convert string to long Parses the C string str interpreting its content as an integral number, which is returned as a long int value. Computer Engineering Mahanakorn University of Technology.

43 Computer Engineering Mahanakorn University of Technology.

44 Search character in String
char * strchr ( char * str, int character ); Returns a pointer to the first occurrence of character in the C string str. Computer Engineering Mahanakorn University of Technology.


ดาวน์โหลด ppt EECP0110 C Language Computer Programming

งานนำเสนอที่คล้ายกัน


Ads by Google