21.下面程序的輸出結(jié)果是 SO 。
main()
{char *p[]={“BOOL”, “OPK”, “H”, “SP”};
int i;
for(i=3;i>=0;i--,i--) printf(“%c”,*p[i]);
printf(“\n”);
}
22.下面程序的輸出結(jié)果是 17 。
funa(int a,int B)
{return a+b;}
funb(int a,int B)
{return a-b;}
sub(int(*t)(),int x,int y)
{return((*t)(x,y));}
main()
{int x,(*p)();
p=funa;
x=sub(p,9,3);
x+=sub(funb,8,3);
printf(“%d\n”, x);
}
23.下面程序的輸出結(jié)果是 XYZA 。
#include
void fun(char *a1,char *a2,int n)
{int k;
for(k=0;k
a2[k]=(a1[k]-‘A’-3+26)%26+‘A’;
a2[n]=‘\0’;
}
main()
{char s1[5]=“ABCD”, s2[5];
fun (s1, s2, 4);
puts(s2);
}
24.下面程序的輸出結(jié)果是 7 1 。
void as(int x,int y,int *cp,int *dp)
{*cp=x+y;
*dp=x-y;
}
main()
{int a=4,b=3,c,d;
as(a,b,&c,&D);
printf(“%d %d\n”,c,D);
}
25.下面程序的輸出結(jié)果是 eybdooG 。
#include
main()
{static char b[]=“Goodbye”;
char *chp=&b[7];
while(--chp>=&b[0]) putchar(*chp);
putchar(‘\n’);
}
26.若輸入:this test terminal,以下程序的輸出結(jié)果為:terminal test this。填空補(bǔ)充以下程序。
#include
#define MAXLINE 20
main()
{int i;
char *pstr[3],str[3][MAXLINE];
for(i=0;i<3;i++) pstr[i]=str[i];
for(i=0;i<3;i++) scanf(“%s”,pstr[i]);
sort(pstr);
for(i=0;i<3;i++) printf(“%s\n”,pstr[i]);
}
sort( char *pstr [3] )
{int i,j;
char *p;
for(i=0;i<3;i++)
{for(j=i+1;j<3;j++)
{if(strcmp(*(pstr+i),*(pstr+j))>0)
{p=*(pstr+i);
*(pstr+i)= *(patr+j) ;
*(pstr+j)=p;
}
}
}
}
27.以下程序利用指針?lè)▽蓚€(gè)數(shù)按從小到大的順序輸出來(lái)。
main()
{int a,b, *p1,*p2 , p ;
printf(“input a, b:”);
scanf(“%d%d”, &a,&B);
p1=&a ;
p2=&b;
if(a
{p=p1; p1=p2; p2=p;}
printf(“a=%d b=%d\n”,a,B);
printf(“max=%d min=%d\n”, *p1,*p2 );
}
28.以下程序的輸出結(jié)果是 8 。
fun(int n,int *s)
{int f1,f2;
if(n==1||n==2) *s=1;
else
{fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}
}
main()
{int x;
fun(6,&x);
printf(“%d\n”,x);
}
29.下面的程序通過(guò)函數(shù)average計(jì)算數(shù)組中各元素的平均值,請(qǐng)?zhí)羁铡?/P>
float average(int *pa,int n)
{int i;
float avg=0.0;
for(i=0;i
avg=avg+ *(pa+i) ;
avg= avg/n ;
return avg;
}
main()
{int i,a[5]={2,4,6,8,10};
float mean;
mean=average(a,5);
printf(“mean=%f\n”,mean);
}
30.以下程序?qū)⒆址畇1中的所有與字符串str1相同的子串替換成字符串str2,并將替換后的新串存于字符數(shù)組s2中。
#include
void replace(char *s1,char *s2,char *str1,char *str2)
{char *t0,*t1,*t2;
while( *s1 )
{for(t0=s1,t1=str1;(*t1!=‘\0’&& *t0=*t1 );t0++,t1++);
if(*t1!=‘\0’) *s2++ = *s1++ ;
else
{for(t1=str2;*t1!=‘\0’;) *s2++ = *t1++ ;
s1=t0 ;
}
}
*s2=‘\0’;
}
main()
{static char s1[]=“abcef ababcd abab.”, s2[25];
replace (s1, s2, “abc”, “XYZ”);
printf(“%s\n”, s2);
}
31.以下語(yǔ)句的輸出結(jié)果是 hELLO! 。
char s[80],*sp=“HELLO!”;
sp=strcpy (s, sp); s[0]=‘h’; puts(s);
編輯推薦:
考試吧考后首發(fā)2013年9月計(jì)算機(jī)等級(jí)考試試題及答案
2013年計(jì)算機(jī)等級(jí)考試備考精華資料匯總
2013年9月計(jì)算機(jī)等級(jí)考試真題及答案解析專(zhuān)題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |