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

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

C String EECP0110 C Language Computer Programming.

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


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

1 C String EECP0110 C Language Computer Programming

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

3 Computer Engineering Mahanakorn University of Technology. 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] InitialMessage\0????  ข้อมูลที่อยู่หลัง null character(\0) จะถูกมองข้าม  ความยาวของข้อความคือ 15 ตัวอักษร

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

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

6 Computer Engineering Mahanakorn University of Technology. กำหนดค่าเริ่มต้นให้กับตัวแปร String  การกำหนดแบบระบุความยาวตัวอักษรใน 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’};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21 Computer Engineering Mahanakorn University of Technology. String Library Functions #include

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

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

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

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

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

27 Computer Engineering Mahanakorn University of Technology. 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.

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

29 Computer Engineering Mahanakorn University of Technology. strcpy

30 Computer Engineering Mahanakorn University of Technology. strncpy

31 Computer Engineering Mahanakorn University of Technology.

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

33 Computer Engineering Mahanakorn University of Technology. String Concatenate

34 Computer Engineering Mahanakorn University of Technology. 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.

35 Computer Engineering Mahanakorn University of Technology. ผลลัพธ์จากการเปรียบเทียบมีดังนี้ 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

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

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

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

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

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

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

42 Computer Engineering Mahanakorn University of Technology. 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.

43 Computer Engineering Mahanakorn University of Technology.

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


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

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


Ads by Google