新手救教一些C语言题目,请给解晰,多追积分

[复制链接]
查看11 | 回复2 | 2009-7-14 21:19:15 | 显示全部楼层 |阅读模式
1:下列程序的输出结果是()
main()
{int a=011;
printf("%d\n",++a);
}
A:12
B:11
C:10
D:9
2:定义:int a=511,*b=&a;,则printf("%d\n",*b);的输了结果为()
A;无确定值
B:a的地址
C;512
D:511
3:经过以下语句定义后,表达式z+=x>y?++x:++y的值为()
int x=1,y=2,z=3;
A:2
B:3
C:6
D:5
4:下面说明不正确的是()
A:char a[1]="china"
B:char a[10],*p=a;p="chian"
C:char *a:a="china";
D:char a[10],*p:p=a="china"
5:以下程序段的输出结果为()
for(i=4;i>1;i--)
for(j=1;jy?++x:++y可转换为z=z+x>y?++x:++y,右边是一个条件表达式,++x=2,++y=3,所以整个条件表达式的值为3,最后z=z+3,即为6。 4.A
显然字符的个数已经超出了字符数组定义的大小,其它的都是定义字符数组的形式,记得就行了。5.应该是6个"#"的。
外循环进行了3次,相应的内循环则分别进行了3、2、1次,加起来为6次。6.C
这个是类型转换,double精度最高...
回复

使用道具 举报

千问 | 2009-7-14 21:19:15 | 显示全部楼层
1C 011为八进制数,转换为十进制数为9,而++a则是在使用a之前先使a自加1,所以最后结果为10。2.D
b为指针变量,存放的是变量a的地址,所以输出的值为a的值。3.C
z+=x>y?++x:++y可转换为z=z+x>y?++x:++y,右边是一个条件表达式,++x=2,++y=3,所以整个条件表达式的值为3,最后z=z+3...
回复

使用道具 举报

千问 | 2009-7-14 21:19:15 | 显示全部楼层
1.a楼上的说错了~事先++再赋值!你说的那种情况是a++才是2.b3.c4.a5.a这个答案的意思没懂,是说不输出?还是说bcd都是错的?反正答案是6个#6.c...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行