C语言小试题

来源:百度知道 编辑:UC知道 时间:2024/06/19 01:48:42
1.int a=1,b=-1;
则语句printf("%d\n",(a--,++b));的输出结果是什么

2.若int i,j;则for(i=j=0;i<=10&&j<8;i++,j+=3)控制的循环体执行的次数是多少

3.char a[15],b[15]={"I love China"};则在程序中能将字符串I love China赋给数组a的正确语句是
A a="I love China" B strcpy (b,a) C a=b D strcpy(a,b)

4.#include "stdio.h"
main()
{ char *str="abcdefghijklmnopq";
while(*str++!=' e');
printf("%c\n",*str);}
执行后的结果是?
第4题的选项是A.f B.a C.e D.q

1. 0;(我也不知道为什么,不过我运行了一下。。知道的人说下输出时那括号里怎么算的);
2. 3次;(先循环完,然后判断条件,第2次,j=6,还符合条件,所以继续执行第3次,之后j=9,不符合,所以不执行第4次);
3。 D
4。 。。。。这题我有点疑问啊,我个人认为他会输出
“ abc ”
3个字符,而不是一个字符,要不自己去运行一下看看!
最后,我还是一个C语言初学者,但有几点要说一下楼主,
while(*str++!=' e');
这句,最后那个分号是不要的!
还有死楼的兄弟,while(*str++!=' e');
这句是正确的,在有“!”在场是只要一个“=”就可以了!

1 输出结果0
2 循环次数 3
3 D
4 A

1.0
2.3
3.D
4.abcd

第一提是 2...
第四题是e啊

1 输出结果0
2 循环次数 3
3 D
4 A
while(*str++!=' e');
while(*str++!==' e'); 应该是==吧

注意while后有; 空语句!!

当*str==‘e’是循环结束 此时*str存放的是f的地址 故选 A