4.表达式~(10<<1)&4 的值是___________________________。 5.表达式sizeof(“hello”)的值是_______________________。 6. 下列程序的输出结果是_____________。
int k,s;
for(k=1,s=0;k<10;k++)
{if(k%2==0)continue; s+=k;
}
printf(“k=%d s=%d”,k,s);
7. 下列程序的输出结果是_____________。
#define MM(x,y) (x*y) printf(“%d”,MM(2+3,15));
8. 下列程序的输出结果是_____________。
int k=1,s=0;
switch(k){
case 1:s+=10; case 2:s+=20;break; default:s+=3; }
printf(“k=%d s=%d”,k,s);
9.对于以下递归函数f,调用 f (3) 的返回值是_______________。 #include
int f (int n)
{static int k; return ++k; } void main() {int k;
for(k=0;k<3;k++) printf(“%d#”,f()); }
10. 下列程序的输出结果是_____________。
f(int x)
{if(x<=1)return 1; else return f(x-1)+f(x-2); }
void main() { printf(“%d”,f(4));
}
11. 下列程序的输出结果是_____________。
Int k=1,j=2,*p,*q,*t; p=&k;q=&j; t=p;p=q;q=t;
printf(“%d,%d”,*p,k);
12. 下列程序的输出结果是_____________。
int c[]={10,30,5}; int *pc;
for(pc=c;pc printf(“%d#”,*pc); 13. 下列程序的输出结果是_____________。 Char *st[]={“ONE”,”TWO”,”FOUR”,”K”}; printf(“%s,%c\\n”,*(st+2),**st+1); 14. 下列程序的输出结果是_____________。 #include void main() {int x=0,y=3; p(&y,y); printf(“%d,%d”,x,y); } 15. 用typedef定义一个10个元素的字符指针数组类型CP____________。 三、程序阅读题(每题5分,共30分) 13. 下列程序的输出结果是_________。 # include for(k=1;k<=3;k++) { t=t*10+x; s=s+t; printf(“%d#”,s);} } 14. 输入7 3 0 3 0 3 1 2 9 7 6 0<回车>后,下列程序的输出结果是___________________。 # include { int j, k, sub,x; int a[5]; for(j=1;j<=2;j++){ for(k=0;k<5; k++) scanf(“%d”,&a[k]); scanf(“%d”,&x); sub=-1; for(k=0;k<5; k++) if(a[k]==x)sub=k; printf(\ }} 3. 下列程序的输出结果是___________________。 # include { long number,wt,x; x=number=10230; wt=1; while(x!-0) {wt=wt*10;x=x/10;} wt=wt/10; while(number!=0){ printf(“%d#”,number/wt); number=number%wt; wt=wt/10; }} 4. 输入3 9 8 6 5 3 7 1 2 4 2 1 2 3 4<回车>后,下列程序的输出结果是_________________。 # include void main() { int flag, i,j,k, col,n,ri,a[6][6]; for(ri=1;ri<=2;ri++){ scanf(“%d”,&n); for(i=0;i scanf(“%d”,&a[i][j]); flag=0; for(i=0;i if(a[i][col]=n){ printf(“a[%d][%d]=%d#”,i,col,a[i][col]); flag=1; } } if(!flag)printf(“NO#”); } } 5. 输入how are you?<回车>后,下列程序的输出结果是_________________。 # include word=0; while((ch=getchar())!=???){ if(ch==? ?)word=0; else if(word==0){ word=1; if(ch<=?z?&&ch>=?a?) ch=ch-?a?+?A?; } putchar(ch); } } 6.假设文本文件a.txt中存放了下列数据: one?two?1234?output? 文本文件b.txt中存放了下列数据: one?two?1204?output? 下列程序的输出结果是_________________。 # include If((f1=fopen(“a.txt”,”r”))==NULL){ Printf(“Can?t open file :%s\\n”,”a.txt”); Exit(0); } If((f2=fopen(“b.txt”,”r”))==NULL){ Printf(“Can?t open file :%s\\n”,”b.txt”); Exit(0); } count=0; while(!feof(f1)||!foef(f2)){ ch1=fgetc(f1); ch2=fgetc(f2); if(ch1!=ch2){ printf(“%c#%c#”,ch1,ch2); printf(“%d#”,count); break; } if(ch1==???) count++; } fclose(f1);fclose(f2); } 四、程序填空题(每空2分,共30分) 7. 输入1个正整数n,计算并输出s的前n项的和。