Introduction to the C Programming Language String CSIM

  • Slides: 15
Download presentation
Introduction to the C Programming Language 字串 (String) CSIM, PU - ta C Language

Introduction to the C Programming Language 字串 (String) CSIM, PU - ta C Language 1

字串 (String)-續2 1. /* 印出字元及字串的長度 */ 2. #include <stdio. h> 3. int main(void) 4.

字串 (String)-續2 1. /* 印出字元及字串的長度 */ 2. #include <stdio. h> 3. int main(void) 4. { 5. char a[]="My friend"; 6. char b='c'; 7. char str[]="c"; 8. printf("sizeof(a)=%dn", sizeof(a)); 9. printf("sizeof(b)=%dn", sizeof(b)); 10. printf("sizeof(str)=%dn", sizeof(str)); 11. return 0; 12. } CSIM, PU - ta C Language 4

字串 (String)-範例一 q 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

字串 (String)-範例一 q 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 範例一: 以字元陣列及字元指標變數表示字串 #include<stdio. h> main( ) { int i; char s 1[13]; char s 2[13]="I like C. "; char *s 3; char *s 4="Thank you!"; printf("s 2=%sn", s 2); printf(“s 4=%sn”, s 4); /*印出字串指標變數s 4所指的字串*/ for(i=0; i<13; i++) s 1[i]=s 2[i]; /*將s 2 copy至s 1*/ printf("s 2=s 1, then s 1=%sn", s 1); s 3=s 4; printf(“s 3=s 4, then s 3=%sn”, s 3); /*印出印出字串指標變數s 3所指的字串 */ 15. s 3=s 2; 16. printf("s 3=s 2, then s 3=%sn", s 3); 17. printf("The 3 nd character of s 4 is '%c'. n ", *(s 4+2)); } CSIM, PU - ta C Language 5

字串 (String) -範例二 q 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

字串 (String) -範例二 q 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 範例二: 示範字串資料的輸入與輸出 #include<stdio. h> main( ) { char *s 1="I love C"; char *s 2=""; char s 3[20]; char s 4[]="I like C"; printf("The s 1 are: %sn", s 1); printf("The s 2 are: "); gets(s 2); /*get string的意思, 定義在stdio. h*/ puts(s 2); /*put string的意思, 定義在stdio. h*/ printf("Enter s 3 string: "); scanf("%s", s 3); printf("The s 3 are: %sn", s 3); printf("The s 4 are: %sn", s 4); } CSIM, PU - ta C Language 6

字串 (String) -範例三 q 1. 2. 3. 4. 5. 範例三: 示範字串參數以call by address傳遞 6.

字串 (String) -範例三 q 1. 2. 3. 4. 5. 範例三: 示範字串參數以call by address傳遞 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. char *t="ijklmnop"; change(s); change(t); puts(s); puts(t) } void change(char *x) { *(x+2)='$'; *(x+5)='+'; } #include<stdio. h> main( ) { void change(char *); char s[ ]="abcdefg"; CSIM, PU - ta s a b $c d e + f g t i j $k l m +n o p C Language 7

字串(String)-常用的String Library Function -範例四 q 範例四: strcat( ) 1. 2. #include<stdio. h> #include<string. h>

字串(String)-常用的String Library Function -範例四 q 範例四: strcat( ) 1. 2. #include<stdio. h> #include<string. h> 3. 4. 5. 6. main( ) { int i; char s 1[40]="abcde"; 7. char s 2[40]="fghijk"; 8. strcat(s 1, s 2); s 1 a b c d e s 2 f g h i j k d e h i b c f g j k 9. printf("The new string are=%sn", s 1); 10. } CSIM, PU - ta C Language 9

字串(String)-常用的String Library Function -範例五 q 範例五: strncat( ) 1. 2. 3. 4. 5. 6.

字串(String)-常用的String Library Function -範例五 q 範例五: strncat( ) 1. 2. 3. 4. 5. 6. #include<stdio. h> #include<string. h> main( ) { int i; char s 1[40]="abcde"; s 1 7. char s 2[40]="fghijk"; 8. strncat(s 1, s 2, 3); s 1 a b s 2 f c d c g e d h f g e i j k h 9. printf("The new string are=%sn", s 1); 10. }� CSIM, PU - ta C Language 10

字串(String)-常用的String Library Function -範例六 q 範例六: strcpy( ) 1. 2. 3. 4. 5. 6.

字串(String)-常用的String Library Function -範例六 q 範例六: strcpy( ) 1. 2. 3. 4. 5. 6. #include<stdio. h> #include<string. h> main( ) { int i; char s 1[40]="abcde"; 7. char s 2[40]="fghijk"; 8. strcpy(s 1, s 2); s 1 f a s 2 f g h b g i c h j d i e j k 9. printf("The new string are=%sn", s 1); 10. }� CSIM, PU - ta C Language 11

字串(String)-常用的String Library Function -範例七 q 範例七: strncpy( ) 1. 2. 3. 4. 5. 6.

字串(String)-常用的String Library Function -範例七 q 範例七: strncpy( ) 1. 2. 3. 4. 5. 6. #include<stdio. h> #include<string. h> main( ) { int i; char s 1[40]="abcde"; s 1 7. char s 2[40]="fghijk"; 8. strncpy(s 1, s 2, 3); s 1 f a b c d e s 2 f g h i j k g h d e 9. printf("The new string are=%sn", s 1); 10. }� CSIM, PU - ta C Language 12

字串(String)-常用的String Library Function -範例八 q 範例八: strcmp( ) 1. 2. 3. 4. 5. 6.

字串(String)-常用的String Library Function -範例八 q 範例八: strcmp( ) 1. 2. 3. 4. 5. 6. #include<stdio. h> #include<string. h> main( ) { int i, p; char s 1[40]="abcde"; 7. char s 2[40]="fghijk"; 8. p=strcmp(s 1, s 2); 9. printf("strcmp(s 1, s 2)=%dn", p); s 1 s 2 a f b g c h d i e j k a(97) – f(102) = -5 10. }� CSIM, PU - ta C Language 13

字串(String)-常用的String Library Function -範例九 q 範例九: strlen( ) 1. #include<stdio. h> 2. #include<string. h>

字串(String)-常用的String Library Function -範例九 q 範例九: strlen( ) 1. #include<stdio. h> 2. #include<string. h> 3. main( ) 4. { 5. int i, p, q; 6. char s 1[40]="abcde"; 7. char s 2[40]="fghijk"; 8. p=strlen(s 1); 9. q=strlen(s 2); 10. printf("s 1=%d; s 2=%dn", p, q); 11. }� CSIM, PU - ta C Language 14

字串(String)-常用的String Library Function -範例十 q 範例十: strchr( )及strstr 1. 2. #include<stdio. h> #include<string. h>

字串(String)-常用的String Library Function -範例十 q 範例十: strchr( )及strstr 1. 2. #include<stdio. h> #include<string. h> 3. 4. 5. 6. 7. 8. 9. 10. 11. main( ) { char *p, *q, *ch 2="am"; int ch 1='a'; char *s 1="I am OK"; char *s 2="I am OK"; p=strchr(s 1, ch 1); q=strstr(s 2, ch 2); printf("s 1 serach 'a'=%s ; s 2 search 'am'=%sn", p, q); 12. }� CSIM, PU - ta C Language 15