易百教程

char类型值的算术运算

以下程序演示了如何使用已初始化的char类型变量执行算术运算。

main()正文中的前三个语句如下:

char first = 'A';
char second = 'B';
char last = 'Z';

下一个语句使用整数值来初始化char类型的变量:

char number = 40;

初始化值必须在单字节变量可以存储的值范围内。
接下来的三个语句声明了另外三个char类型的变量:

char ex1 = first + 2;    // 在字符'A'的值上相加2
char ex2 = second - 1;   // 从'B'的值中减去1
char ex3 = last + 2;     // 在字符'Z'的值上相加2

接下来的两个语句以两种不同的方式输出三个变量ex1ex2ex3:

printf("现在的字母值是:%-5c%-5c%-5c\n", ex1, ex2, ex3);
printf("字母的数字等价值是:%-5d%-5d%-5d\n", ex1, ex2, ex3);

第一个语句使用%-5c转换说明符解释存储为字符的值。它指定该值应输出为字段宽度为5的左对齐字符。
第二个语句再次输出相同的变量,但使用%-5d说明符将值解释为整数。
最后一行输出变量号作为字符和整数:

printf("数字 %d 是字符 '%c' 的ASII代码.\n", number, number);

示例代码

#include <stdio.h>

int main(void)
{
      char first = 'A';
      char second = 'B';
      char last = 'Z';

      char number = 40;

      char ex1 = first + 2;  // 在字符'A'的值上相加2
      char ex2 = second - 1;  // 从'B'的值中减去1
      char ex3 = last + 2;   // 在字符'Z'的值上相加2

      printf("现在字母值是: %-5c%-5c%-5c\n", ex1, ex2, ex3);
      printf("字母的数字等价值是: %-5d%-5d%-5d\n", ex1, ex2, ex3);
      printf("数字 %d 是字符 '%c' 的ASII代码.\n", number, number);
      return 0;
}

执行上面示例代码,得到以下结果:

hema@ubuntu:~/book$ gcc -o main main.c
hema@ubuntu:~/book$ ./main
现在字母值是: C    A    \
字母的数字等价值是: 67   65   92
数字 40 是字符 '(' 的ASII代码.