C语言求助!!!

1. 以下程序运行后的输出结果是 。
main()
{ int i=5, j=0;
do
{ j=j+i;
i--;
}while(i>2);
printf(“%d\n”,j); }
2. 设有以下程序:
main()
{ int n1,n2;
scanf(“%d”,&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf(“%d”,n1); } }
程序运行后,如果从键盘上输入1234;则输出结果为 。
3. 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 。
Struct stud
{ char num[10];
int s[2];
} a,*p;
4. 以下程序运行后的输出结果是 。
main()
{ char s[ ]=“98765”,*p;
for ( p=s ; *p ; p++)
printf(“%c”,*p); }
5. 以下程序运行后的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/3>0 ? p/10 : p%3));}
6. 以下程序运行后的输出结果是 。
main()
{ int a=2,b=-1,c=2;
if(a ) if(b<0) c=0;
else c++;
printf(“%d\n”,c); }
7. 以下程序运行后的输出结果是 。
main()
{ int i,m=0,n=0,k=0;
for(i=9; i<=11;i++)
switch(i/10)
{ case 0: m++; n++; break;
case 10: n++; break;
default: k++; n++; }
printf("%d %d %d\n",m,n,k);}
8. 以下程序的输出结果是 。
void fun( )
{ int a=0;
a+=2 ; printf( “%d” , a ) ;
}
main( )
{ int i;
for(i=0;i<3;i++) fun() ;
printf(“\n”); }
9. 以下程序的输出结果是 。
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{ int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d);
printf(“%d\n”,t); }
10. 以下选项中合法的字符常量是( )
A、“B” B、 ‘\010’ C、68 D、 D
11. 设正x、y均为整型变量,且x=10 ,y=3,则以下语句的输出结果是( )
printf(”%d,%d\n”, x--,--y);
A、10,3 B、 9,3 C、 9,2 D、10,2
12. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )
A、 INPUT x、y、z; B、 scanf(“%d%d%d”,&x,&y,&z);
C、 scanf(“%d%d%d”,x,y,z); D、 read(“%d%d%d”,&x,&y,&z);
13. 阅读以下程序:
main()
{ int x;
scanf(“%d”,&x);
if(x--<5) printf(“%d”,x);
else printf(“%d”,x++);
}
程序运行后,如果从键盘上输人5,则输出结果是( )
A、3 B、4 C、5 D、 6
14. t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ …… }
则以下叙述中正确的是( )
A、 循环控制表达式的值为0 B、 循环控制表达式的值为1
C、循环控制表达式不合法 D、 以上说法都不对
15. 如下程序的功能是将字符串str2连接到串str1后面
main()
{ char str1[40]=”chinese ”,str2[10]=”boy”;
int i=0,j=0;
while (str1[i]!=’\0’) i++;
while (str2[j] !=’\0’)
str1[i]=’\0’;
puts(str1);
}
16上面程序中空白处应填( )
A、str1[i]=str2[j]; B、str1[i++]=str2[j] ;
C、str1[i++]=str2[j++] ; D、 str1[++i]=str2[++j] ;
17. 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是( )
A、 i=*p; B、 i=**p; C、i=&j; D、*p=*&j;
18. 以下定义语句中,错误的是( )
A、int a[]={1,2}; B、char *a[3];
C、char s[10]=”test”; D、 int n=5,a[n];

最后输出:12
第一次执行后:j=5,i=4.符合条件
第二次执行后:j=9,i=3.符合条件
第三次执行后:j=12,i=2.不符合条件

输出结果:4321
输入1234,n2≠0符合条件
第一次执行后:n1=4,n2=123.打印4。符合条件
第二次执行后:n1=3,n2=12.追加打印3。符合条件
第三次执行后:n1=2,n2=1.追加打印2.符合条件
第四次执行后:n1=1,n2=0.追加打印1.不符合条件

12个字节.char数组占4个,int数组占8个。

98765

1
p/3=30/3=10>0结果去p/10=10/10=1

0
a=2≠0为真;b=-1<0为真;所以c=0执行,else不执行。

输出结果:1 3 2
第一次执行:9/10=0,m=1,n=1,i=10。符合条件
第二次执行:10/10=1,k=1,n=2,i=11。符合条件
第三次执行:11/10=1,k=2,n=3,i=12.不符合条件

输出结果:222
共执行3次,每次执行都是:a=0,a=2,打印2.

输出结果:7

D

D

B

B

B

C

D

D
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-13
第2个回答  2011-12-29
1. 12
2. 4321
3 。 20
4. 98765
5. 3
6. 0
7. 1 3 2
8。 222
9. 7
10 D
11 D
12 B
13 B
14 B
16 C
17 D
18 D
第3个回答  2011-12-29
写这么多,累了吧?来喝口茶,先~~~
第4个回答  2011-12-29
不懂
相似回答