网站开发的图标,网站逻辑结构,建筑网片产品资料,商城网站建设清单目录 一、字符型数据与字符串型数据的比较
1、字符型数据特点
2、字符串型数据特点
二、字符数组
1、定义
2、输入输出
①输入
②输出
3、字符处理函数
①put函数
②gets函数
③strcat函数
④strcpy函数
⑤strcmp函数
⑥strlen函数
⑦strlwr函数
⑧strup…目录 一、字符型数据与字符串型数据的比较
1、字符型数据特点
2、字符串型数据特点
二、字符数组
1、定义
2、输入输出
①输入
②输出
3、字符处理函数
①put函数
②gets函数
③strcat函数
④strcpy函数
⑤strcmp函数
⑥strlen函数
⑦strlwr函数
⑧strupr函数 一、字符型数据与字符串型数据的比较
我们先来依次看看二者的特点
1、字符型数据特点
①用单引号包含
②仅能包含一个字符
③以“\”开头的字符称为转义字符例如
\n\t\r\\换行横向跳格回车反斜杠
④字符型数据与整型数据之间可以相互转换、相互通用例如
#includestdio.hint main(){char ca;char c1 c-32;printf(%c,c1);return 0;
} 上述代码输出的结果为A因为C语言的字符使用的就是ASCII字符集总共有128个每个相应的ASCII码都能对应唯一的表示一个字符 其中数字’0’、‘1’、‘2’、…、‘9’、大写字母’A’、‘B’、‘C’、…、‘Z’、小写字母‘a’、‘b’、‘c’、…都是按升序排列的。也就是说A1‘B’。 注意 数字和数字字符不一样的带单引号的是字符例如:1是整型数字而’1’是字符其ASCII码是49即按整型输出的话就是49按字符型数据输出就是1。如下述代码所示
#includestdio.hint main(){char c1;int c1c;printf(c%c,c1%d,c,c1);return 0;
} 结果为 2、字符串型数据特点
①用双引号括起来 char c“a”则c是一个字符串常量而不是字符常量。
②不能将字符串数据赋予给字符型数据
③存储方式在C语言中以字符“\0”作为字符串结束的标志
例如HELLO的存储占6个字符即H E L L O \0但是\0在输出时不显示 二、字符数组
1、定义 我们一次性将字符变量讲透字符数组是由字符型数据组成的数组,赋值时要用把单个字符括起来如
char c[5]{W,Q,L,T,Z};
注意若初值个数小于数组长度则只将这些字符赋值给数组中前面的元素其余用空字符填充空字符即\0
同理由于它仍然是字符依然可以输入不带引号的数字对照ASCII码翻译出真实的信息如下述代码所示
#includestdio.hint main(){
char std1[11]{76,84,90,\0,76,111,118,101,\0,87,81 };
printf(%s,std1);return 0;
}
请大家用ASCII对照表“翻译”一下小编想表示的真实信息。 2、输入输出
①输入
有两种方式
A、逐个输出
B、一次性用%s格式符输出
printf(%s,c);//正确输出
printf(%s,c[0]);//错误输出应该改为printf(%c,c[0]);
使用一次性输出将会输出到‘\0’结束例如执行下述代码
#includestdio.hint main(){char c[10]Hello\0WHU;printf(%s,c);return 0;
}
最终输出的结果仅仅为Hello。
②输出
同理我们也可以scanf“%s”,c;进行值的输入
例如执行下述代码
char std1[5];
char std2[5];
scanf(%s%s,std1,std2); 如果输入 So What那么std1会变成S o \0 \0 \0std2会变成 W h a t \0。 若此时有一个char std3[8]特别能吃它想把So What 全部吃掉全部装入自己的胃里则我们需要输入 So\0What。 3、字符处理函数
①put函数
作用输出可以用printf替代
形式puts(字符数组)
#includestdio.h
#includestring.hint main(){
char std1[11]{76,84,90, ,76,111,118,101, ,87,81 };
puts(std1);return 0;
} ②gets函数
作用输入
形式gets(字符数组)
#includestdio.h
#includestring.hint main(){
char std2[11];
gets(std2);
return 0;
} ③strcat函数
作用连接两个字符数组中的字符串字符数组2接到字符数组1后返回字符数组1的地址
形式strcat字符数组1字符数组2
#includestdio.h
#includestring.hint main(){
char std1[]{I will protect}; char std2[]{ WQ };
char std3[]{all my life};strcat(std1,std2);
strcat(std1,std3); printf(%s,std1);return 0;
}
所以每次连接都是连接到std1的后边是std1被修改了最终输出的结果为 ④strcpy函数
作用将字符串2复制到字符数字1里去其中字符数组1的长度必须大于等于字符数组2
形式strcpy(字符数组1字符串2)
特殊形式strcpy(字符数组1字符串2n)//其中n代表一个整数意味着将字符串2前面的n个字符复制到字符数组1中去。
注意不能用赋值语句将一个常量或者字符数组赋值给另一个字符数组
#includestdio.h
#includestring.hint main(){
char std1[]{LTZ felt lonely};
strcpy(std1,WQ appears in LTZ’s life);
printf(%s,std1); return 0;
}
这就好比LTZ之前很孤独但是WQ的出现让LTZ内心的孤独一扫而空 ⑤strcmp函数
作用比较两个字符串若出现不同字符则通过第一个不同字符的ASCII码的大小判断谁打谁小
形式strcmp(字符串1字符串2
如果二者相等则函数值为零
如果字符串1大于字符串2则函数值为正数
如果字符串1小于字符串2则函数值为负数
例如
#includestdio.h
#includestring.hint main(){
char std1[]{True Love };
char std2[]{Money};if(strcmp(std1,std2)0)
printf(真爱更珍贵);
else if(strcmp(std1,std2)0)
printf(金钱更珍贵);return 0;
}
很明显True love比Money更加珍贵真诚才是永远的必杀技 ⑥strlen函数
作用测试字符串长度不包括\0
形式strlen(字符数组)
比如说下述代码
#includestdio.h
#includestring.hint main(){
char std1[]{WQLTZ};
int astrlen(std1);
printf(%d,a); return 0;
}
没错 WQLTZ很6特别6非常6疯狂点头 ⑦strlwr函数
作用字符串中的大写字母转换为小写字母
形式strlwr(字符串) ⑧strupr函数
作用字符串中的小写字母转换为大写字母
形式strupr(字符串) 好的本期的C语言重难点就到这里为止啦走过路过不要错过麻烦各位读者点一颗小心心再走吧。鞠躬