C语言课件-Lect_chap07_数组.ppt
文本预览下载声明
* * * * * * * * * * * * * * * * #include stdio.h int main(void) { int count, i; char str[80];? printf(“Enter a string: ); i = 0; while((str[i] = getchar( )) != \n) i++; str[i] = \0; /* 输入结束符=字符串结束符 */ count = 0; for(i = 0; str[i] != \0; i++) if(str[i] = 9 str[i] = 0) count++; printf(count = %d\n, count); return 0; } 例7-11 源程序 字符串的输入 Enter a string: Its 512 count = 3 如何改变输入结束符? 能省略str[i] = \0吗? 0 1 2 3 4 5 6 7 8 s I t s 5 1 2 \0 ? ? 例7-9 进制转换 #include stdio.h int main(void) { int i, n; char s[10]; printf(“Enter a string: ); ? /* 输入字符串 */ i = 0; while((s[i] = getchar( )) != \n) i++; s[i] = \0; n = 0; /* 将字符串转换为整数 */ for(i = 0; s[i] != \0; i++) if(s[i] = 9 s[i] = 0) n = n * 10 + (s[i] - 0); else break; printf(digit = %d\n, n); return 0; } Enter a string: 123 digit = 123 0 1 2 3 s 1 2 3 \0 ? ? 进制转换方法 n = 0; for(i = 0; s[i] != \0; i++) if(s[i] = 9 s[i] = 0) n = n * 10 + (s[i] - 0); else break; 0 1 2 3 s 1 2 3 \0 ? ? i s[i] s[i]-0 n = n*10+(s[i]-0) 0 1 1 0*10+1 = 1 1 2 2 1*10+2 =12 2 3 3 12*10+3 =123 3 \0 Enter a string: 1#2#3 digit = 字符串小结 字符串:一个特殊的一维字符数组 \0 把字符串放入一维字符数组(存储) 数组长度足够 字符数组初始化: static char s[80] = Happy; 赋值: s[0] = a; s[1] = \0; 输入: 输入结束符 == 字符串结束符\0 i = 0; while((s[i]=getchar( )) != \n) i++; s[i] = \0; s[0] s[1] s[5] s H a p p y \0 ? ? 把字符串放入一维字符数组(存储) 对字符串的操作 === 对字符数组的操作 只针对字符串的有效字符和字符串结束符 \0 检测 for(i = 0; s[i] != \0; i++) putchar(s[i]); s[0] s[1] s[5] s H a p p y \0 ? ? * * * * * * * * * *
显示全部