已知字母A的ASCII码为十进制的65,下面程序的输出是( )。

main(){char ch1,ch2;
ch
1=‘A’+3;
ch2=’B’+2;
printf(“%d,%c\n”,ch1,ch2);
}
A)68,D B)68,68
C)67,C D)68,d

选择:A
main()
{
char ch1,ch2;
ch1=‘A’+3; //'A'==65,ch1=65+3=68
ch2=’B’+2; //'B'=='A'+1;ch2='A'+1+2=68
printf(“%d,%c\n”,ch1,ch2); //d%以10进制输出,c%以字符输出
}
所以输出ch1对应68,ch2对应大写字母D追问

设有char str[ ]={“beijing”};
则执行printf(“%d\n”,strlen (strcpy (str, ”china”)))后的输出结果是( )。
A)5
B)7
C)12
D)14

追答

A)5

"china"的长度为5,加上结束符,占用空间为6
经过strcpy,"china"被拷贝到str,包括结束符
strlen以后,实际获取的是"china"的长度,也就是5

追问

若执行下面的程序时从键盘上输入5,则输出为( )。
Main()
{ int x;
scanf(“%d”,&x);
if(++x>5) printf(“%d\n”,--x);
else printf(“%d\n”,x++);
} 太谢谢您了。
A)7 B)6 C)4 D)5

追答

D)5
Main()
{
int x;
scanf("%d",&x);
if(++x>5) //x先自加1变成6以后,与5进行比较,满足条件
printf("%d\n",--x); //x先自减1变成5以后,进行输出,所以结果是5
else
printf("%d\n",x++);
}

追问

下面程序的输出是( )。
main()
{ int k=13;
printf(“k=%d,k=%o,k=%x\n”,k,k,k);
}
A) k=13,k=12,k=d
B) k=13,k=o13,k=oxb
C) k=13,k=o15,k=oxd
D) k=13,k=15,k=d

追答

D) k=13,k=15,k=d

printf(“k=%d,k=%o,k=%x\n”,k,k,k);

实际上是在区分以不同进制输出
%d 是以十进制输出,所以13就是13
%o是以八进制输出,所以13是十进制的8+5,也就是八进制的15
%x是以十六进制输出,所以十进制的13实际上市十六进制的d

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-09
A)68,D 输出的时候 ch1 输出格式是数字格式,所以是68 而ch2的输出格式是字符,所以显示字符D
第2个回答  2013-01-09

选A

自己敲到电脑里运行就知道了

第3个回答  2013-01-09
B 这么简单的例子。敲代码比来这里发文还要快呢。。。
相似回答