关于c++中的char一个简单的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:09:56
这是代码的一部分 for(int i=1; i<=26; ++i)
cout<<char('A'+i-1);
能告诉我下循环的具体内容吗
我知道char是转化字符,能给介绍它的用法吗
输出的A到Z的字母......是不是1代表A,2就是B,以此类推吗?那16位以后的数呢,为什么不是ASCII里面的值呢?我知道char是转化字符,能给介绍它的用法吗本人只是初学者,请教高手,谢谢~~~

char('A'+i-1): A的ASCII码是:65
字符和整型变量进行算术运算的时候,先将A转换成其对应的ASCII码,然后进行算术运算,运算的结果是整型的( int ) ;最后将计算的结果转成字符型.如:当i=1时,char(65+1-1)等于char(65),65对就的字母是A,即最后输出的是A,当i=2时,依此类推!

for(int i=1; i<=26; ++i)
cout<<char('A'+i-1);
输出26个大写字母
char('A'+i-1); 强制类型转换

for(int i=1; i<=26; ++i)
cout<<int('A'+i-1);
输出6566一直到90

cout<<char('A'+i-1)中 'A'就是字符A,在进行'A'+i-1时,编译器会进行类型转换,因为i、1都是整型,而A是字符型,类型不统一。结果是将字符型转换成整型,就是将A转换为65,然后加i,再减去1,最后将结果转换成char型,就是char(),所以结果输出的是26个英文字母.