三、程序分析题 (本大题共5小题,每小题5分,共25分)
阅读下列程序,将输出结果写到各题右侧的空白处
31.
int a = 200;
main()
{int i;
for(i = 1;i< = 5;i + +)
{a + + ;
printf(″﹪d,″,a);
s()
}
{
s()
{static int a = 20;
a + + ;
printf(″﹪d \\ n″,a);
}
32.
# include ″stdio.h″
main()
{char c;
c = getchar();
if((c> =′a′&&c< =′z′) ‖c> =′X′&&c< =′Z′)c = c - 23;
printf(″﹪c \\ n″,c);
}
设从键盘上输入Next ↙
33.
# define N 7
main()
{int i,j,temp,a[N]={1,2,3,4,5,6,7};
for(i = 0;i<N/2;i + + )
{j = N - 1 - i;
temp = a[i];a[i]=a[j];a[j]=temp;
}
for(i = 0;i<N;i + + ) printf(″﹪5d″,a[i]);
}
34.int x=30,y=50;
sub(x,y)
{ y=x>y?x:y;
return y;
}
main( )
{
{int x=100;
printf(″%d\\n″,sub(x,y));
}
printf(″%d,%d\\n″,x,y);
}
35.设文件file1.c的内容为COMPUTER
#include ″stdio.h″
main( )
{ FILE *fp;
char ch;
if((fp=fopen(″file1.c″,″r″))= =NULL)
{ printf(″Cannot open file \\n″);
exit(0);
}
while(!feof(fp))
{
ch=fgetc(fp);if(ch>=′A′&&ch<=′Z′)fputc(ch+32,stdout);
}
fclose(fp);
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.将一个十进制整数n转变为二进制数。
main( )
{ int i=0,j,n,num[20];
scanf(″%d″, ); /*第一空*/
while(n!=0)
{ num[i++]= ; /*第二空*/
n= ; /*第三空*/
}
for(j=i-1;j>=0;j--)printf(″%d″,num [j]);
}
37.一个一维数组和一个二维数组同处一个共用型,将数据输入一维数组后,在二维数组中输出。
main( )
{union data
{ int a[10];
int b ;/*第一空*/
};
union data ab;
int i,j;
for(i=0;i<10,i++)
scanf(″%d″, ); /*第二空*/
for(i=0;i<2;i++)
for(j=0;j<5;j++)
printf(″%5d″, );/*第三空*/
}
38. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元
素,则输出“Not found!”标志。
main()
{int i,x,a[10];
for(i = 0;i<10;i ++ )scanf(″﹪d″,___________);
scanf(″﹪d″,&x);printf(″﹪d″,x);
for(i = 0;i<10;i ++) if(_________________)break;
if (i _________10)printf(″ position:﹪d \\ n″,i);
else printf(″Not found! \\ n″,x);
}
五、程序设计题(第39小题5分,第40、41小题各6分,共17分)
39.输出100之内所有个位数字为6且能被3整除的自然数。(如:36,66,96……)
40. 求1到100之间的奇数之和及偶数之和,并将二者输出。
41. 输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。
模拟试题(一)参考答案
一、单项选择题
1. B 2. C 3. A 4. B 5. D 6. B 7. C 8. D 9. A 10. D 11. A 12. B 13. B
14. C 15. A 16. D 17. D 18. A 19. B 20. B
二、填空题
21. 整型
22. 65535
23. 0
24. 2,1
25. void
26. 静态存储,或者static
27. P - > no = 1234;或者( * p) .no = 1234;
28. 字节
29. 16
30. a[1][0]
三、程序分析题
31. 201,21
202,22
203,23
204,24
205,25
32. N
33. 7 6 5 4 3 2 1
34. 100
30,50
35. computer
四、程序填充题
36. (1) &n
(2) n%2
(3) n/2
37. (1)[2][5]
(2) &ab.a[i]
(3) ab.b[i][j]
38. (1) &a[i] 或者a + i
(2) x = = a[i]
(3) <
五、程序设计题
下述答案仅供参考,若采用其它方法答案,只要正确实现题目要求即可。
39.main()
{
int i=1;
while(i<100)
{
if(i%10==6 && i%3==0)
printf(”%5d”,i);
i++;
}
}
40. main ()
{int a = 0, b = 0, i;
for(i = 2;i< = 100;i + = 2)
{ 2 + = i;b + = i - 1;}
printf(″Sum of even number = ﹪d \\ n″,a);
printf(″Sum of odd number = ﹪d \\ n″,b);
}
41. # include″string.h″
main ()
{int i, n;static char str[80];
gets(str);n = strlen(str);
for(i = 0;i<n/2;i ++ )
if(str[i]! = str[n - 1 -i])
{printf(″No! \\ n″);break;}
if(i = = n/2) printf(″Yes! \\ n″);
}