发布时间 : 星期二 文章自学考试、计算机基础与程序设计(09.4-12.7)试题汇总更新完毕开始阅读
x+=2:
} }
请把程序改写为for结构。
27.声明语句char s[20]=\; 能用下面的语句替代吗?为什么? char s[20]; s=\; 28.设有说明: struct node{ int num;
char name[12]; char sex; float income; }a,*ptr=&a;
写出对ptr所指成员num,name,sex,income分别赋值123,\,′m′,654.25的赋值语句。
29.设有说明:unsigned x=10;试写出通过仅对x进行移位操作的表达式,使表达式的值为 16。
四、阅读分析题 (本大题共6小题,每小题5分,共30分) 30.阅读下列程序并写出运行结果。 void main(void) {
int x=1,y=2; char ch=′a′: x++;y-=2;++ch;
printf(\%c,%d,%d\n\,ch,x,y); }
31.阅读下列程序并写出运行结果。 void main(void) {
int x=11; switch(x-1){ case O:
printf(\%d\n\,x++); break: case 10:
printf(\%d\n\,x*2); case 20:
printf(\%d\n\,x*4); default:
printf(\%d\n\,x); } }
32.阅读下列程序,当依次输入11,l2,l3,14,16这5个数时,请写出程序的运行结果。 void main(void)
{
int x,i,s=O; for(i=O;i<5;i++){ scanf(\%d\,&x); if(x%2)continue; printf(\%d\t\,x); s+=x; }
printf(\\n\;
printf(\%d\n\,s); }
33.阅读下列程序并写出运行结果。 void main(void) {
int x=3,y[7]={1,3,5,8,9,11,12}; int t=O,b=7,f=O,m; m=(b+t)/2; while(b-t>=O)
if(y[m]==x){f=1;
printf(\\ny[%d]=%d\n\,m,y[m]); break;
}
else if(y[m]>x) {
b=m-1;printf(\%d\t\,y[m]); m=(b+t)/2;} else{
t=m+1;printf(\%d\t\,y[m]); m=(b+t)/2;} if(! f)
printf(\\n not find!\n\; 34.阅读下列程序序并写出运行结果。 int fun(int y); void main(void) {
int x[4]={3,5,7,O},s=0,i=0; while(x[i]){ s+=fun(x[i]); i++;
printf(\%d\n\,s); } }
int fun(int y) {
static int a=O; a=a+y;
return a;
}
35.阅读下列程序并写出运行结果。 void f1(char*t,char*s); void main(void) {
char s1[20]=\,t1[20]=\; printf(\%s\n%s\n\,s1,t1); f1(t1,s1);
printf(\%s\n\,t1); }
void f1(char*t,char*s) {
while((*t=*s)!=′\0′){ t++; s++; } }
五、编程题 (本大题共2小题,每小题12分,共24分)
36.从键盘输入20个整数存放到数组a 中,计算数组a中下标为奇数的所有元素的和。 37.从键盘上输入20个字符存放到一个字符数组s中。对数组s中的元素按升序(由小到大)排序,再将排序后的结果写到c:\abc.dat文本文件中。