以下程序演示了如何使用已初始化的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
接下来的两个语句以两种不同的方式输出三个变量ex1,ex2和ex3:
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
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代码.