数组 int float double

char 字符数组

一、字符数组

1、字符数组的一般形式

char 数组名[常量表达式]

char cArray[5];

2、字符数组的引用跟其他类型是一样,用下标。

char cArray[5];

cArray[0]='H';

cArray[1]='e';

cArray[2]='l';

cArray[3]='l';

cArray[4]='o';

3、字符数组的初始化

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。

(1)逐个元素进行初始化,初始化时可以省略下标。

char cArray[5] = { 'H', 'e','l','l','o' };

char cArray[] = { 'H', 'e', 'l', 'l', 'o' };

(2)用字符串对数组赋值,初始化时可以省略下标

char cArray[5] = {"hello"};

char cArray[]={"hello"};

char cArray[]="hello"; (最常用)

注意:1、使用字符串进行初始化,系统会自动在数组里面加上一个'',作为字符串结束的标志

char cArray[]="hello"; 等效于char cArray[] = { 'H', 'e', 'l', 'l', 'o','' };

printf("%dn", sizeof(cArray));

printf("%dn", sizeof(cArray1));

注意:2、用中文的字符串 一个中文的字节数为2.

printf("%d", sizeof("九夏"));//

3、在使用字符串初始化,数组大小要比我们需要的元素数量大。

比如说名字的长度就不一样

4、字符数组的输入和输出

(1)用%c逐个输入输出

输入的字符数大于数组大小的数量,只接受前面。

#include<;

int main()

{

char cArray[5];

for (int i = 0; i < 5; i++)

{

scanf("%c", &cArray[i]);

}

for (int i = 0; i < 10; i++)

{

printf("%c", cArray[i]);

}

printf("n");

return 0;

}

(2)用%s整体输入输出,输入空格会被截断

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。

#include<;

int main()

{

char cArray[20];

scanf("%s", &cArray);

printf("%s", cArray);

return 0;

}

#include<;

int main()

{

//%c

/*int Row, Col;

char cArray[2][5];

for (Row = 0; Row < 2; Row++)

{

for (Col = 0; Col < 5;Col++)

{

scanf("%c", &cArray[Row][Col]);

}

}

for (Row = 0; Row < 2; Row++)

{

for (Col = 0; Col < 5; Col++)

{

printf("%c", cArray[Row][Col]);

}

}*/

//%s

int Row, Col;

char cArray[11];

scanf("%s", &cArray);

printf("%s", cArray);

return 0;

}

二、字符串函数

首先需要包含字符串的头文件:

1、拷贝

strcpy(目标字符串,源字符串);

把源字符串拷贝到目标字符串。

(1)目标字符串一定是一个变量。

(2)源字符串不一定。

(3)连''一起拷贝,在第一个''处结束

代码:

//字符串的拷贝 假设有个字符数组 字符串 str1[] str2[]

//char str1[30] = { 0 }; //0 27个

//char str2[30] = "hellosadfsadfgoisdfgsdkfg"; //6个字符

//printf("%d", sizeof(str2));

//for (int i = 0; i < sizeof(str2); i++)

//{

// str1[i] = str2[i];

//}

//printf("%sn", str1);

//char str1[]="abcdefg"; //下标决定这个变量的内存 // 结束

//

//strcpy(str1,"fgh"); //

//printf("%cn", str1[0]);

//printf("%cn", str1[1]);

//printf("%cn", str1[2]);

//printf("%cn", str1[3]);

//printf("%cn", str1[4]);

//printf("%cn", str1[5]);

//printf("%cn", str1[6]);

//printf("%sn", str1);

2、比较

strcmp(字符串1,字符串2);

(1)字符串1==字符串2 返回0

(2)字符串1>字符串2 返回1

(3)字符串1<字符串2 返回-1

//字符串的比较

//char str1[100], str2[100];

//while (1)

//{

// int i = 0, re;

// scanf("%s", &str1);

// scanf("%s", &str2);

// while (str1[i])

// {

// if (str1[i] != str2[i]) //str1[0]—–>str1[99]

// break;

// else

// i++;

// }

// if (str1[i] > str2[i])

// {

// printf("str1>str2n");

// }

// else if (str1[i] < str2[i])

// {

// printf("str1<str2n");

// }

// else

// {

// printf("str1=str2n");

// }

//}

/*int num = 1;

char str1[30] = "hello";

char str2[30];

printf("要进入系统请输入密码:n");

while (1)

{

scanf("%s", &str2);

if (strcmp(str1, str2) == 0)

{

printf("欢迎进入本系统,虽然本系统还在开发中。。。");

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。

}

else if (strcmp(str1, str2) != 0)

{

num++;

printf("密码错误,这是第%d次警告n", num);

if (num == 4)

{

printf("3次错误,请联系中国人民解放军n");

break;

}

continue;

}

}*///字符串的比较

//char str1[100], str2[100];

//while (1)

//{

// int i = 0, re;

// scanf("%s", &str1);

// scanf("%s", &str2);

// while (str1[i])

// {

// if (str1[i] != str2[i]) //str1[0]—–>str1[99]

// break;

// else

// i++;

// }

// if (str1[i] > str2[i])

// {

// printf("str1>str2n");

// }

// else if (str1[i] < str2[i])

// {

// printf("str1<str2n");

// }

// else

// {

// printf("str1=str2n");

// }

//}

/*int num = 1;

char str1[30] = "hello";

char str2[30];

printf("要进入系统请输入密码:n");

while (1)

{

scanf("%s", &str2);

if (strcmp(str1, str2) == 0)

{

printf("欢迎进入本系统,虽然本系统还在开发中。。。");

}

else if (strcmp(str1, str2) != 0)

{

num++;

printf("密码错误,这是第%d次警告n", num);

if (num == 4)

{

printf("3次错误,请联系中国人民解放军n");

break;

}

continue;

}

}*/

3、获取字符串长度

//sizeof(); //字节

//strlen(); //真正的(有效)长度

char a[30] = "hello";

printf("%dn", sizeof(a));//30

printf("%dn", strlen(a)); //5

今天小编就给大家分享到这里,欢迎学习和转载。关注微信公众号cyuyan01或者加入C语言C++学习交流群560655063 获取大量学习资料!

相关推荐