字符串处理 字符数组的引用 自标要求 例输出一个字符串。 main() 讲课提纲 char s[10]={'T,'','a,'m',a',"b,'o,'yy; int i; 讲课内容 for(i=0;i<10;i++) printf("%c",s[i]) 运行结果 printf("\n"); I am a boy 课后作业
目标要求 课后作业 讲课提纲 讲课内容 字符串处理 字符数组的引用 ◼算法思路:转置矩阵即行和列互换,沿矩阵的主对角线, 将矩阵的上三角元素与下三角元素对应交换即可。 a= b= 1 2 3 4 5 7 7 8 9 1 4 7 2 5 8 3 7 9 例 输出一个字符串。 main() { char s[10]={ 'I' , ' ' , 'a' , 'm' , ' ' , 'a' , ' ' , 'b' , 'o' , 'y'}; int i; for(i=0;i<10;i++) printf("%c",s[i]); printf("\n"); } 运行结果 I am a boy
字符串处理 字符数组输入输出 字符数组的输入输出可以有两种方法: 自标要求 1.逐个字符输入输出。 讲课提纲 用格式符“%c”输入或输出一个字符 2.对字符数组整体输入输出。 讲课内容 用“%s”格式符输出一个字符串 用“%s”格式符输入一个字符串 课后作业
目标要求 课后作业 讲课提纲 讲课内容 字符串处理 字符数组输入输出 ◼算法思路:转置矩阵即行和列互换,沿矩阵的主对角线, 将矩阵的上三角元素与下三角元素对应交换即可。 a= b= 1 2 3 4 5 7 7 8 9 1 4 7 2 5 8 3 7 9 ◼main() { char diamond[][5]={{ ' ', ' ', '*'},{' ', '*', ' ', '*'},{'*', ' ', ' ', ' ', '*'},{' ', '*', ' ', '*'},{' ', ' ', '*'}}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) printf("%c",diamond[i][j]); printf("\n"); } getch(); } 运行结果: * * * * * * * * 字符数组的输入输出可以有两种方法: 1. 逐个字符输入输出。 用格式符“%c”输入或输出一个字符 2.对字符数组整体输入输出。 用“%s”格式符输出一个字符串 用“%s”格式符输入一个字符串
字符串处理 字符数组输入输出 用“%s”格式符输出一个字符串 自标要求 例如: char str[]="China"; 讲课提纲 printf("%s",str); 讲课内容 输出时,遇到空字符0’就停止输出。 输出结果:china 课后作业
目标要求 课后作业 讲课提纲 讲课内容 字符串处理 字符数组输入输出 ◼算法思路:转置矩阵即行和列互换,沿矩阵的主对角线, 将矩阵的上三角元素与下三角元素对应交换即可。 a= b= 1 2 3 4 5 7 7 8 9 1 4 7 2 5 8 3 7 9 ◼main() { char diamond[][5]={{ ' ', ' ', '*'},{' ', '*', ' ', '*'},{'*', ' ', ' ', ' ', '*'},{' ', '*', ' ', '*'},{' ', ' ', '*'}}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) printf("%c",diamond[i][j]); printf("\n"); } getch(); } 运行结果: * * * * * * * * ◼ 用“%s”格式符输出一个字符串 例如: char str[]="China"; printf("%s",str); 输出时,遇到空字符‘\0’就停止输出。 输出结果:china
字符串处理 说明 ●用%s格式输出字符串时,printf函数中的输出项是字符数组名, 它表示从该数组的首地址开始输出字符串,“直到遇到空字符0结 束输出,输出字符不包括空字符\0’, char str[10]="Hello";printf("%s\n",str); 也只输出“Helo5个字符,而不是输出10个字符。 ●若字符数组中包含多个空字符’0'时,则遇到第一个’0'就结束 输出。若想输出数组中所有的字符,可用%℃格式逐个字符输出。 如: char str[15]=I am \Osorry!"; int i; for(i=0;i<15;i++) printf("%c",str[i]); 则输出结果为:I am sorry!
目标要求 课后作业 讲课提纲 讲课内容 字符串处理 说明: ⚫ 用%s格式输出字符串时,printf函数中的输出项是字符数组名, 它表示从该数组的首地址开始输出字符串,直到遇到空字符'\0'结 束输出,输出字符不包括空字符‘\0’ , ⚫如:char str[10]="Hello"; printf("%s\n",str); 也只输出“Hello”5个字符,而不是输出10个字符。 ⚫若字符数组中包含多个空字符'\0'时,则遇到第一个'\0'就结束 输出。若想输出数组中所有的字符,可用%c格式逐个字符输出。 如: char str[15]="I am \0sorry!"; int i; for(i=0;i<15;i++) printf("%c",str[i]); 则输出结果为:I am sorry!
字符串处理 字符数组输入输出 用 “0s”格式符输入一个字符串。 例如: char str[20]; scanf("O/os",str); 讲 输入项是数组名(数组首地址),不用再作取地址运算(&),从键盘 上输入的字符个数应该小于数组的长度,系统会自动加上一个空字符0', 若输入的字符个数大于数组的长度时,程序运行的结果就会出错。 讲 若利用同一个scanf函数输入多个字符串,在输入时则以空格分隔字 符串。空格不读到字符串中。因此字符串中若包含空格,则不能用scanf 课 函数输入
目标要求 课后作业 讲课提纲 讲课内容 字符串处理 字符数组输入输出 ◼用“%s”格式符输入一个字符串。 例如: char str[20]; scanf("%s",str); 输入项是数组名(数组首地址),不用再作取地址运算(&),从键盘 上输入的字符个数应该小于数组的长度,系统会自动加上一个空字符'\0' , 若输入的字符个数大于数组的长度时,程序运行的结果就会出错。 若利用同一个scanf函数输入多个字符串,在输入时则以空格分隔字 符串。空格不读到字符串中。因此字符串中若包含空格,则不能用scanf 函数输入