第八周:指针与字符串---字符类型-视频1:字符类型
字符类型: char是一种整数,也是一种特殊的类型:字符。这是因为: 用单引号表示的字符字面量:'a','1' ''也是一个字符 printf和scanf里用%c来输入输出字符
#include<stdio.h> int main() { char c; char d; c = 1; d = '1'; if (c == d) { printf("相等\n"); }else{ printf("不相等\n"); } printf("c=%d\n",c); printf("d=%d\n",d); return 0; }
字符的输入输出: scanf("%c",&c); ——> 1 scanf("%d",&i);c=i; ——>49
#include<stdio.h> int main(){ char c; scanf("%c",&c); printf("c=%d\n",c); printf("c='%c'\n",c); return 0; }
#include<stdio.h> int main(){ int i; char c; scanf("%d",&i); c=i; printf("c=%d\n",c); printf("c='%c'\n",c); return 0; }
'1'的ASCII编码是49,所以当c==49时,它代表'1' #include<stdio.h> int main(){ if( 49 == '1' ){ printf("OK"); } return 0; }
字符的输入输出: 如何输入'1'这个字符给char c? scanf("%c",&c); ——> 1 scanf("%d",&i);c=i; ——>49 '1'的ASCII编码是49,所以当c==49时,它代表'1' printf("%i %c\n",c,c); 一个49各自表述!
混合输入: 有何不同? scanf("%d %c",&i.&c); scanf("%d%c",&i,&c);
#include<stdio.h> int main(){ int i; char c; scanf("%d %c",&i,&c); printf("i=%d, c=%d, c='%c'\n",i,c,c); return 0; }
#include<stdio.h> int main(){ int i; char c; scanf("%d%c",&i,&c);//删掉了中间的空格 printf("i=%d, c=%d, c='%c'\n",i,c,c); return 0; }
字符计算: char c = 'A'; c++; //一个字符加一个数字得到 ASCII 码表中那个数字符之后的字符 printf("%c\n",c); int i = 'Z' - 'A'; printf("%d\n",i); //两个字符的减,得到它们在表中的距离
大小写转换: 字母在ASCII表中是顺序排列的 大写字母和小写字母是分开排列的,并不在一起 'a'-'A'可以得到两段之间的距离,于是 a+'a'-'A'可以把一个大写字母变成小写字母,而 a+'A'-'a'可以把一个小写字母变成大写字母