c语言练习



[例2.6] 字符型数据与整型数据的关系
main()
{ char ch;
int i;
c1='A'; i=65;
printf("%c,%c\n",ch,i); /* i的值理解成字符输出,65对应的字符为'A' */
printf("%d,%d\n",ch,i); /* 将ch中存储的值(即'A'的ASCII码)直接输出 */
ch=65; i='A'; /* 字符型数据与整型数据通用 */
printf("%c,%c\n",ch,i);
printf("%d,%d\n",ch,i);
i=321; ch=i;
printf("i=(%d,%c)\n",i,ch);
}

[例2.7] 没有考虑类型转换时,有问题的程
main()
{
int a=3,b=2;
float c;
c=a/b;
printf("%f",c);
}

[例2.8] 强制转换不影响原变量
main()
{ float x;
int a;
x=3.5;
a=(int)x;
printf("x=%f,a=%d\n",x,a);
}

[例2.9] 类型转换对数据的影响
main()
{ char a;
int b;
unsigned c;
long d;
b=-500; /* b为二进制:1111,1110,0000,1100 */
a=(char)b; /* b的低8位:0000,1100 */
c=(unsigned)b; /* 与b二进制位相同 */
d=(long)b; /* 值与b相同 */
printf("a=%d,b=%d,c=%u,d=%ld\n",a,b,c,d);
}

[例2.10] “++”和“--”运算符在表达式中的使用
main()
{ int k1=3,k2=3,a,b;
a=++k1;
b=k2--;
printf("a=%d,k1=%d\n",a,k1);
printf("b=%d,k2=%d\n",b,k2);
}

