1. (1)10 (2)32 (3)75 (4)-617
(5)-111 (6)2483 (7)-28654 (8)21003
解:十 八 十六
(10)=(12)=(a)
(32)=(40)=20
(75)=(113)=4b
(-617)=(176627)=fd97
-111=177621=ff91
2483=4663=963
-28654=110022=9012
21003=51013=520b
3.8 例 3.6 能否改成如下:
#include<stdio.h>
void main()
{
int c1,c2;(原为 char c1,c2)
c1=97;
c2=98;
printf("%c%c",c1,c2);
printf("%d%d",c1,c2);
}
解:可以.因为在可输出的字符范围内,用整型和字符型作用相同.
3.9 求下面算术表达式的值.
(1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)
(2)(float)(a+b)/2+(int)x%(int)y=3.5(设 a=2,b=3,x=3.5,y=2.5)
3.10 写出下面程序的运行结果:
#include<stdio.h>
void main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
解:结果: 9,11,9,10
3.12 写出下面赋值表达式运算后 a 的值,设原来 a=12
(1) a+=a
赋值表达式运算后 a 的值为 24
(2) a-=2
赋值表达式运算后 a 的值为 10
(3) a*=2+3
赋值表达式运算后 a 的值为 60