【C语言_14】快速学会使用字符数组

时间:2022-10-04 20:01:06

1.初始化字符数组

#include<stdio.h>
int main()
{
char str[20]="helloworld";
//char str[20]={'h','e','l','l','o','w','o','r','l','d'};
printf("%s\n",str);
printf(str);
return 0;
}

【C语言_14】快速学会使用字符数组

2.字符串结尾标记\0

(1).初始化列表长度小于数组长度

char str[20]= {'h','e','l','l','o','w','o','r','l','d'};
//前10位为helloworld,后面全补0
//第11位为数值0,字符串正常结尾

(2).初始化列表长度等于数组长度

char str[10]= {'h','e','l','l','o','w','o','r','l','d'};
//没有空间可以存放数值0,不能正常的结尾

【C语言_14】快速学会使用字符数组

(3).初始化列表长度大于数组长度

char str[5]= {'h','e','l','l','o','w','o','r','l','d'};

【C语言_14】快速学会使用字符数组

3.如何测量字符串的长度

#include<stdio.h>

int main()

{

char str[20] = "helloworld";

printf("%d\n", sizeof(str));

return 0;

}

通过运行结果我们可以看出,sizeof不能测出字符数组中字符串的长度。

【C语言_14】快速学会使用字符数组

(1).使用循环测量字符串长度

  • 字符串是以\0结尾的,我们需要知道\0前面的字符个数
#include<stdio.h>
int main()
{
char str[20] = "helloworld";
int len=0;
while(str[len]!='\0')
{
len++;
}
printf("%d",len);
return 0;
}

【C语言_14】快速学会使用字符数组

(2).使用strlen函数测量字符串长度

  • string字符串
  • length长度

strlen函数的正确使用方法:  

  • strlen可以接受一个字符串作为参数
  • strlen字符串返回值为这个字符串的长度
  • 使用strlen函数,需要包含string.h头文件
#include<stdio.h>
#include<string.h>
int main()
{
char str[20]="helloworld";
int len1,len2;
len1=strlen(str);
len2=strlen("helloworld");
printf("%d\n",len1);
printf("%d\n",len2);
printf("%d\n",sizeof(str));
//sizeof(str)测量数组本身所占用的空间大小
printf("%d\n",sizeof("helloworld"));
return 0;
}

【C语言_14】快速学会使用字符数组

4.修改字符数组

#include<stdio.h>
#include<string.h>
int main()
{
char str[] = "abcdef";
printf(str);
printf("\n");
for (int i = 0; i < strlen(str); i++) {
str[i] = str[i] - 32;
}
printf(str);
return 0;
}

【C语言_14】快速学会使用字符数组

5.输入字符串

#include<stdio.h>
#include<string.h>
int main()
{
char str[20];
scanf("%s",str);
printf(str);
printf("\n");
for (int i = 0; i < strlen(str); i++) {
str[i] = str[i] - 32;
}
printf(str);
return 0;
}

【C语言_14】快速学会使用字符数组

6.getchar函数

  • ch=getchar();等待从键盘上输入一个字符
#include<stdio.h>
int main()
{
char ch;
ch=getchar();
ch=ch-32;
printf("%c",ch);
return 0;
}

【C语言_14】快速学会使用字符数组

7.putchar函数

  • 输出单个字符putchar('A')
#include<stdio.h>
#include<string.h>
int main()
{
char str[]="helloworld";
int len;
for(int i=0;i<strlen(str);i++){
putchar(str[i]);
}
return 0;
}

【C语言_14】快速学会使用字符数组