字符类型

  char(character)是一种整数,也是一种特殊的类型:字符。这是因为

  ① 用单引号表示的字符字符字面量:‘a’,'1'

  ②‘’也是一个字符

  ③printf和scanf里用%c来输入、输出字符。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char c;
 5     char d;
 6     c = 1;
 7     d = '1';
 8     printf("c = %d,d = %d,d = %c\n",c,d,d);
 9     return 0;
10 }
//运行结果:c = 1,d = 49,d = '1'

  通过例子看到,字符'1'和整数1不相等。字符‘1’和整数49相等。字符也是整数的一种。

字符的输入输出

  如何输入‘1’这个字符给char c ?

  scanf("%c",&c); ---->1

  scanf("%d",&i);c=i; ---->49  

  ‘1’的ASCII编码是49,所以c == 49时,它代表'1'

 1 #include<stdio.h>
 2 int main ()
 3 {
 4     char c;
 5     int d;
 6     scanf("%c",&c);
 7     printf("c = %d,c = '%c'\n",c,c);
 8     scanf("%d",&d);
 9     printf("d = %d,d = '%c'\n",d,d);
10     return 0;
11 }
//运行结果:输入 1
      输出 c=49,c='1'
输入 49
      输出 d = 49,d = '1'

  字符的输入看scanf的参数,%c就是输入的即是字符;%d就是整数,对应的字符。

混合输入

  int i;char c;

  scanf("%d %c",&i,&c);

  scanf("%d%c",&i,&c);

  有何不同?

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i;
 5     char c;
 6     scanf("%d %c",&i,&c);//中间有空格
 7     printf("i = %d,c = %d,c = '%c'\n",i,c,c);
 8     scanf("%d%c",&i,&c);//中间无空格
 9     printf("i = %d,c = %d,c = '%c'\n",i,c,c);
10     return 0;
11 }
//运行结果:
      有空格,输入1a,1 a,1 a都可以正确读入整数和字符
      无空格,只能1a可以正确读入整数和字符。1 a,1 a读入整数1和空格字符。读不进字符a。

 字符计算  

1 #include<stdio.h>
2 int main()
3 {
4     char c = 'A';
5     c++;
6     printf("%c",c);
7     return 0;
8 }
View Code

相关文章:

  • 2021-12-27
  • 2021-08-28
  • 2021-06-09
  • 2022-12-23
  • 2021-07-30
  • 2021-10-27
  • 2021-04-18
  • 2021-08-13
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-29
  • 2022-12-23
  • 2022-02-18
  • 2022-12-23
  • 2021-12-05
相关资源
相似解决方案