1.本周小结:总结字符串函数,这周刚好网课讲,以前也太会用,就全部总结起来了(慢慢推进)
2下周目标:练习指针与数组,字符串的结合题;
一.字符串函数:
1.gets函数(字符串输入函数)
#include<stdio.h>
#include<stdio.h>
int main()
{
char a[10];
gets(a);
printf("%s",a);
}
2.puts函数(字符串输出函数)
#include<stdio.h>
#include<stdio.h>
int main()
{
char a[10];
gets(a);
puts(a);
}
随机字母赋值输出:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
int main()
{
char a[10];
int i;
srand(time(0));
for(i=0;i<9;i++)
{
a[i]=rand()%26+65;
}
puts(a);
}
3.strlen(计算有效字符串长度)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
int main()
{
char a[10];
int i;
srand(time(0));
for(i=0;i<5;i++)
{
a[i]=rand()%26+65;
}
printf("%d %d",strlen(a),sizeof(a));/*strlen 计算出数值为5(是字符串的有效数值 sizeof数组一共10单元char(类型(1B))*/
}
这个数组也可以使用(用此方法也可以计算数组长度)
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,length;
char arr[50];
scanf("%s",&arr);
length = strlen(arr)-1;
for( i=length; i>=0 ;--i)
printf("%c",arr[i]);
return 0;
}
4.strcpy函数(字符串复制函数)
#include<stdio.h>
#include<string.h>
int main()
{
char a[10]=" ";
char b[10];
gets(b);
strcpy(a,b);
printf("%s",a);
}
特:strncpy(串1,串2,n(复制的量))
#include<stdio.h>
#include<string.h>
int main()
{
char a[10]=" ";
char b[10];
gets(b);
strncpy(a,b,3);
printf("%s",a);
}
5.strrev(字符串倒置函数)
#include<stdio.h>
#include<string.h>
int main()
{
char a[10];
gets(a);
strrev(a);
puts(a);
}
6.strcmp(字符串比较函数)
#include<stdio.h>
#include<string.h>
int main()
{
char a[10];
char b[10];
int c;
gets(a);
gets(b);
c=strcmp(a,b);
if(b>0){
printf("a大于b");
}else{
printf("b大于a");
}
}
特:strncmp(串1,串2,n(比较前n位数字))
#include<stdio.h>
#include<string.h>
int main()
{
char a[10];
char b[10];
int c;
gets(a);
gets(b);
c=strncmp(a,b,3);
if(b>0){
printf("a大于b");
}else{
printf("b大于a");
}
}
7.strcat(字符串连接函数)
#include<stdio.h>
#include<string.h>
int main(void){
char a[10];
char b[10];
gets(a);
gets(b);
strcat(a,b);
puts(a);
}
8.字符串大小写改写函数
大写转小写:strlwr
#include<stdio.h>
#include<string.h>
int main(void){
char a[10];
gets(a);
strlwr(a);
puts(a);
}
小写转大写
#include<stdio.h>
#include<string.h>
int main(void){
char a[10];
gets(a);
strupr(a);
puts(a);
}
9.字符串交换
#include<stdio.h>
#include<string.h>
int main(void){
char a[10]="hello ";
char b[10]="world ";
char c[10];
strcpy(c,a);
strcpy(a,b);
strcpy(b,c);
puts(a);
puts(b);
}