{
unsigned char a,b;
a=4|3;
b=4&3;
printf("%d%d\n",a,b);
}
执行后输出结果是( )。
A. 70 B. 07
C. 11 D. 430
【答案】A
【例17】(2004年9月)有以下程序
main()
{
char a,b,c,d;
scanf("%c,%c,%d,%d ",&a,&b,&c,&d);
printf("%c,%c,%c,%c\n ",a,b,c,d);
}
若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是( )。
A. 6,5,A,B B. 6,5,65,66
C. 6,5,6,5 D. 6,5,6,6
【答案】A
【考点解析】在C语言程序设计中,scanf函数的格式控制参数中“%d”表示输入整数,“%c”表示输入字符,也就是说,前两个输入的数是以字符形式输入的,后两个输入的数是以整数形式输入的,输出时,全部都以字符形式输出,而刚才的后两个整数应该用ASCII码转化为字符。则输出的是6,5,A,B。
【例18】(2004年9月)有以下程序
main ( )
{
int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf(“%d\n”,x);
}
程序运行后的输出结果是( )。
A. 3 B. 5
C. -1 D. -2
【答案】D
【考点解析】在本题中,根据C语言中printf函数的用法可知,格式控制参数是d,即是输出是十进制的数,表达式x=-m++可以转换成x=-(m++),可得x的值为-3,而表达式x=x+8/++n可以转换成x=x+8/(++n),代入x的值得x=-3+8/5=-2,所以最后的输出结果是-2。
【例19】(2004年9月)有以下程序
main ( )
{
char a=’a’,b;
printf(“%c”,++a);
printf(“%c\n”,b=a++);
}
程序运行后的输出结果是( )。
A. b,b B. b,c
C. a,b D. a,c
【答案】A
【例20】(2004年9月)有以下程序
main ( )
{
int m=0256,n=256;
printf("%o %o\n",m,n);
}
程序运行后的输出结果是( )。
A. 0256 0400 B. 0256 256
C. 256 400 D. 400 400
【答案】C
【例21】(2004年9月)有以下程序
main ( )
{
int a=666,b=888;
printf(“%d\n”,a,b);
}
程序运行后的输出结果是( )。
A. 错误信息 B. 666
C. 888 D. 666,888
【答案】B
【例22】(2004年9月)有以下程序
main ( )
{
unsigned int a;
int b=-1;