一、選擇題
(1)有以下程序
# include
void f(char *s, char *t)
{ char k;
k=*s; *s=*t; *t=k;
s++; t--;
if (*s) f(s, t);
}
main()
{ char str[10]="abcdefg", *p ;
p=str+strlen(str)/2+1;
f(p, p-2);
printf("%s\n",str);
}
程序運行后的輸出結(jié)果是
A)abcdefg
B)gfedcba
C)gbcdefa
D)abedcfg
(2)有以下程序
float f1(float n)
{ return n*n; }
float f2(float n)
{ return 2*n; }
main()
{ float (*p1)(float),(*p2)(float),(*t)(float), y1, y2;
p1=f1; p2=f2;
y1=p2( p1(2.0) );
t = p1; p1=p2; p2 = t;
y2=p2( p1(2.0) );
printf("%3.0f, %3.0f\n",y1,y2);
}
程序運行后的輸出結(jié)果是
A)8, 16
B)8, 8
C)16, 16
D)4, 8
(3)程序中若有如下的說明和定義語句
char fun(char *);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
……
}
以下選項中對函數(shù)fun的正確調(diào)用語句是
A)(*f1)(a);
B)*f1(*s);
C)fun(&a);
D)ch=*f1(s)
(4) 在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則
A) 稱為函數(shù)的直接遞歸調(diào)用
B) 稱為函數(shù)的間接遞歸調(diào)用
C) 稱為函數(shù)的循環(huán)調(diào)用
D) C語言中不允許這樣的遞歸調(diào)用
(5) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i { t=a[i];a[i]=a[j];a[j]=t;
i++; j--;
fun(a,i,j);
}
}
main()
{ int x[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<4;i++) printf("-",x[i]);
printf("\n");
}
程序運行后的輸出結(jié)果是
A) 1 2 6 8
B) 8 6 2 1
C) 8 1 6 2
D) 8 6 1 2
(6) 有以下程序
#include
main(int argc ,char *argv[ ])
{ int i,len=0;
for(i=1;i printf(“5d\n”,len);
}
經(jīng)編譯鏈接后生成的可執(zhí)行文件是ex.exe,若運行時輸入以下帶參數(shù)的命令行
ex abcd efg h3 k44
執(zhí)行后輸出結(jié)果是
A) 14
B) 12
C) 8
D) 6
(7) 有以下程序
void f(int a[],int i,int j)
{ int t;
if(i { t=a[i]; a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
main( )
{ int i,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++) printf(“%d,”,aa[i]); printf(“\n”);
}
執(zhí)行后輸出結(jié)果是
A) 5,4,3,2,1,
B) 5,2,3,4,1,
C) 1,2,3,4,5,
D) 1,2,3,4,5,
(8) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i { t=a[i];a[i]=a[j];a[j]=t;
fun(a,++i,--j);
}
}
main()
{ int a[]={1,2,3,4,5,6},i;
fun(a,0,5)
for(i=0;i<6;i++)
printf("%d",a[i]);
}
執(zhí)行后的輸出結(jié)果是
A) 6 5 4 3 2 1
B) 4 3 2 1 5 6
C) 4 5 6 1 2 3
D) 1 2 3 4 5 6
(9) 有以下程序
int f(int n)
{ if (n==1) return 1;
else return f(n-1)+1;
}
main()
{ int i,j=0;
for(i=i;i<3;i++) j+=f(i);
printf(“%d\n”,j);
}
程序運行后的輸出結(jié)果是
A) 4
B) 3
C) 2
D) 1
(10) 有以下程序
#include
main(int argc,char *argv[])
{ int i,len=0;
for(i=1;iprintf(“%d\n”,len);
}
程序編譯連接后生成的可執(zhí)行文件是ex1.exe,若運行時輸入帶參數(shù)的命令行是:
ex1 abcd efg 10<回車>
則運行的結(jié)果是:
A) 22
B) 17
C) 12
D) 9
(11) 有以下程序
int fa(int x)
{ return x*x; }
int fb(int x)
{ return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{ return f2(x)-f1(x); }
main()
{ int i;
i=f(fa,fb,2); printf(“%d\n”,i);
}
程序運行后的輸出結(jié)果是
A) -4
B) 1
C) 4
D) 8
(12) 不合法的main函數(shù)命令行參數(shù)表示形式是
A) main(int a,char *c[])
B) main(int arc,char **arv)
C) main(int argc,char *argv)
D) main(int argv,char *argc[])
(13) 假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:
PROG ABCDEFGH IJKL<回車>,則輸出結(jié)果為
A) ABCDEFG
B) IJHL
C) ABCDEFGHIJKL
D) IJKLABCDEFGH
main( int argc, char *argv[]))
{ while(--argc>0) printf(“%s”,argv[argc]);
printf(“\n”);
}
(14) 以下程序的輸出結(jié)果是
A) 1
B) 2
C) 3
D) 4
long fun( int n)
{ long s;
if(n= =1 || n= =2) s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf(“%ld\n”, fun(3)); }
(15) 有如下程序
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main0
{ printf(“%d\n”,fib(3));
該程序的輸出結(jié)果是
A) 2
B) 4
C) 6
D) 8
(16) 若有以下說明和定義
fun(int *c){ }
main()
{ int (*a)()=fun,*b(),w[10],c;
┆
}
在必要的賦值之后,對fun函數(shù)的正確調(diào)用語句是
A) a=a(w);
B) (*a)(&c);
C) b=*b(w);
D) fun (b);
(17) 下列程序執(zhí)行后的輸出結(jié)果是
A) hello
B) hel
C) hlo
D) hlm
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{ int i=0; func1(i); printf("\n");}
(18) 假定下列程序的可執(zhí)行文件名為prg.exe,則在該程序所在的子目錄下輸入命令行: prg hello good<回車>后,程序的輸出結(jié)果是
A) hello good
B) hg
C) hel
D) hellogood
main()(int argc, char *argv[])
{ int i;
if(argc<-0)return;
for(i=1;i }
(19) 以下程序的輸出結(jié)果是
A) 5 4 3 2 1
B)0 1 2 3 4 5
C) 1 2 3 4 5
D) 5 4 3 2 1 0
main()
{ int w=5; fun(w); printf(“\n”);}
fun(int k)
{ if (k>0) fun(k-1);
printf(“%d”,k);
}
(20) 若以下程序所生成的可執(zhí)行文件名為filel.exe;當(dāng)打入以下命令執(zhí)行該程序時;
FILEL CHINA BEIJING SHANGHAI
程序的輸出結(jié)果是
A) CHINA BEIJING SHANGHAI
B) FILEL CHINA BEIJING
C) C B S
D) F C B
main(int argc,char *argv[])
{ while(arge-->0)
{ ++argv;printf("%s ",*argv);}
}
(21) C語言規(guī)定,程序中各函數(shù)之間
A) 既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B) 不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C) 允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D) 不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
二、填空題:
(1)以下程序運行后的輸出結(jié)果是 【1】 。
int f(int a[], int n)
{ if (n >= 1) return f(a, n-1)+a[n-1];
else return 0;
}
main()
{ int aa[5]={1,2,3,4,5}, s;
s=f(aa, 5); printf("%d\n", s);
}
(2) 下面程序的運行結(jié)果是:【2】
int f( int a[], int n)
{ if(n>1) return a[0]+f(&a[1],n-1);
else return a[0];
}
main ( )
{ int aa[3]={1,2,3},s;
s=f(&aa[0],3); printf(“%d\n”,s);
}
(3) 以下程序運行后的輸出結(jié)果是 【3】
fun(int x)
{ if (x/2>0) fun(x/2);
printf("%d",x);
}
main()
{ fun (6); }
(4) 設(shè)函數(shù)findbig已定義為求3個數(shù)中的值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請?zhí)羁铡?BR> main()
{ int findbig(int,int,int);
int (*f)(),x,yz,z,big;
f=【4】;
scanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,z);
printf("bing=%d\n",big);
}
(5) 以下程序的輸出結(jié)果是【5】 。
main()
{ int x=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{ if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
(6) 以下程序的輸出結(jié)果是 【6】 。
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); }
(7) 下面程序的輸出是【7】 。
long fun5(int n)
{ long s;
if((n==1)||(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);}
main()
{ long x;
x=fun5(4);
printf("%ld\n",x);}
(8) 下面h函數(shù)的功能是計算如下數(shù)學(xué)函數(shù)H的值。請?zhí)羁铡?BR> double fgh(double( *f)(double a)< double( *g)(double b),
double x, double y)
{ return(【8】 );}
double h(double a, double b)
return(fgh( sin,cos,a,b)*fgh( 【9】] )); }
(9) 請讀程序:
#include
main( int argc, char *argv[])
{ int i;
printf( '%d\n", argc);
for( i=0; i<=argc+1; i++) printf( "%s ", argv[i]);
printf("\n");
}
若上面的程序編譯、連接后生成可執(zhí)行文件ABC.EXE,則輸入以下命令行
abc file1 file2(表示回車)
程序執(zhí)行后的輸出結(jié)果是 【10】 。
(10) 下面程序的輸出結(jié)果是 【11】 。
#include
fun( int x)
{ int p;
if( x==0||x==1) return(3);
p=x-fun( x-2);
return p;
}
main()
{ printf( "%d\n", fun(9));}
(11) 下面程序的輸出結(jié)果是 【12】 。
#include
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);
}
(12) 設(shè)有如下程序:
#include
main(int argc, char *argv[ ])
{ while( --argc>0) printf("%s",argv[argc]);
printf("\n");
}
假定上述程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在DOS提示符下鍵入PROG ABCD EFGH IJKL ,則輸出結(jié)果為 【13】 。
(13) 以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組中元素的值。a數(shù)組中的值在main函數(shù)中讀入。
#include
#define N 10
invert(int *s,int i,int j)
{ int t; if(imain()
{ int a[N],i;
for(i=0;i invert(a,0,N-1);
for(i=0;i printf("\n"); }
一、選擇題:
01) B 02) A 03) A 04) B 05) C
06) D 07) A 08) A 09) B 10) D
11) C 12) C 13) D 14) A 15) B
16) B 17) C 18) B 19) B 20) A
21) A
二、填空題:
(1) 15
(2) 6
(3) 1 3 6
(4) findbig
(5) 7
(6) 8
(7) 9
(8) f(xy)/g(y-x)或(*f)(x+y)/g(y-x)或f(x+y)/(*g)(y_x)或(*f)或(*f)(x+y)/(*g)(y-x)
(9) cos,sin,a,b
(10) 3 abc.exe file1 file2 (注:兩個答案,每個1分)
(11) 7
(12) 17
(13) IJKLEFGHABCD
(14) i+1
(15) I
(1)有以下程序
# include
void f(char *s, char *t)
{ char k;
k=*s; *s=*t; *t=k;
s++; t--;
if (*s) f(s, t);
}
main()
{ char str[10]="abcdefg", *p ;
p=str+strlen(str)/2+1;
f(p, p-2);
printf("%s\n",str);
}
程序運行后的輸出結(jié)果是
A)abcdefg
B)gfedcba
C)gbcdefa
D)abedcfg
(2)有以下程序
float f1(float n)
{ return n*n; }
float f2(float n)
{ return 2*n; }
main()
{ float (*p1)(float),(*p2)(float),(*t)(float), y1, y2;
p1=f1; p2=f2;
y1=p2( p1(2.0) );
t = p1; p1=p2; p2 = t;
y2=p2( p1(2.0) );
printf("%3.0f, %3.0f\n",y1,y2);
}
程序運行后的輸出結(jié)果是
A)8, 16
B)8, 8
C)16, 16
D)4, 8
(3)程序中若有如下的說明和定義語句
char fun(char *);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
……
}
以下選項中對函數(shù)fun的正確調(diào)用語句是
A)(*f1)(a);
B)*f1(*s);
C)fun(&a);
D)ch=*f1(s)
(4) 在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則
A) 稱為函數(shù)的直接遞歸調(diào)用
B) 稱為函數(shù)的間接遞歸調(diào)用
C) 稱為函數(shù)的循環(huán)調(diào)用
D) C語言中不允許這樣的遞歸調(diào)用
(5) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i { t=a[i];a[i]=a[j];a[j]=t;
i++; j--;
fun(a,i,j);
}
}
main()
{ int x[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<4;i++) printf("-",x[i]);
printf("\n");
}
程序運行后的輸出結(jié)果是
A) 1 2 6 8
B) 8 6 2 1
C) 8 1 6 2
D) 8 6 1 2
(6) 有以下程序
#include
main(int argc ,char *argv[ ])
{ int i,len=0;
for(i=1;i printf(“5d\n”,len);
}
經(jīng)編譯鏈接后生成的可執(zhí)行文件是ex.exe,若運行時輸入以下帶參數(shù)的命令行
ex abcd efg h3 k44
執(zhí)行后輸出結(jié)果是
A) 14
B) 12
C) 8
D) 6
(7) 有以下程序
void f(int a[],int i,int j)
{ int t;
if(i { t=a[i]; a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
main( )
{ int i,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++) printf(“%d,”,aa[i]); printf(“\n”);
}
執(zhí)行后輸出結(jié)果是
A) 5,4,3,2,1,
B) 5,2,3,4,1,
C) 1,2,3,4,5,
D) 1,2,3,4,5,
(8) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i { t=a[i];a[i]=a[j];a[j]=t;
fun(a,++i,--j);
}
}
main()
{ int a[]={1,2,3,4,5,6},i;
fun(a,0,5)
for(i=0;i<6;i++)
printf("%d",a[i]);
}
執(zhí)行后的輸出結(jié)果是
A) 6 5 4 3 2 1
B) 4 3 2 1 5 6
C) 4 5 6 1 2 3
D) 1 2 3 4 5 6
(9) 有以下程序
int f(int n)
{ if (n==1) return 1;
else return f(n-1)+1;
}
main()
{ int i,j=0;
for(i=i;i<3;i++) j+=f(i);
printf(“%d\n”,j);
}
程序運行后的輸出結(jié)果是
A) 4
B) 3
C) 2
D) 1
(10) 有以下程序
#include
main(int argc,char *argv[])
{ int i,len=0;
for(i=1;iprintf(“%d\n”,len);
}
程序編譯連接后生成的可執(zhí)行文件是ex1.exe,若運行時輸入帶參數(shù)的命令行是:
ex1 abcd efg 10<回車>
則運行的結(jié)果是:
A) 22
B) 17
C) 12
D) 9
(11) 有以下程序
int fa(int x)
{ return x*x; }
int fb(int x)
{ return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{ return f2(x)-f1(x); }
main()
{ int i;
i=f(fa,fb,2); printf(“%d\n”,i);
}
程序運行后的輸出結(jié)果是
A) -4
B) 1
C) 4
D) 8
(12) 不合法的main函數(shù)命令行參數(shù)表示形式是
A) main(int a,char *c[])
B) main(int arc,char **arv)
C) main(int argc,char *argv)
D) main(int argv,char *argc[])
(13) 假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:
PROG ABCDEFGH IJKL<回車>,則輸出結(jié)果為
A) ABCDEFG
B) IJHL
C) ABCDEFGHIJKL
D) IJKLABCDEFGH
main( int argc, char *argv[]))
{ while(--argc>0) printf(“%s”,argv[argc]);
printf(“\n”);
}
(14) 以下程序的輸出結(jié)果是
A) 1
B) 2
C) 3
D) 4
long fun( int n)
{ long s;
if(n= =1 || n= =2) s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf(“%ld\n”, fun(3)); }
(15) 有如下程序
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main0
{ printf(“%d\n”,fib(3));
該程序的輸出結(jié)果是
A) 2
B) 4
C) 6
D) 8
(16) 若有以下說明和定義
fun(int *c){ }
main()
{ int (*a)()=fun,*b(),w[10],c;
┆
}
在必要的賦值之后,對fun函數(shù)的正確調(diào)用語句是
A) a=a(w);
B) (*a)(&c);
C) b=*b(w);
D) fun (b);
(17) 下列程序執(zhí)行后的輸出結(jié)果是
A) hello
B) hel
C) hlo
D) hlm
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{ int i=0; func1(i); printf("\n");}
(18) 假定下列程序的可執(zhí)行文件名為prg.exe,則在該程序所在的子目錄下輸入命令行: prg hello good<回車>后,程序的輸出結(jié)果是
A) hello good
B) hg
C) hel
D) hellogood
main()(int argc, char *argv[])
{ int i;
if(argc<-0)return;
for(i=1;i }
(19) 以下程序的輸出結(jié)果是
A) 5 4 3 2 1
B)0 1 2 3 4 5
C) 1 2 3 4 5
D) 5 4 3 2 1 0
main()
{ int w=5; fun(w); printf(“\n”);}
fun(int k)
{ if (k>0) fun(k-1);
printf(“%d”,k);
}
(20) 若以下程序所生成的可執(zhí)行文件名為filel.exe;當(dāng)打入以下命令執(zhí)行該程序時;
FILEL CHINA BEIJING SHANGHAI
程序的輸出結(jié)果是
A) CHINA BEIJING SHANGHAI
B) FILEL CHINA BEIJING
C) C B S
D) F C B
main(int argc,char *argv[])
{ while(arge-->0)
{ ++argv;printf("%s ",*argv);}
}
(21) C語言規(guī)定,程序中各函數(shù)之間
A) 既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B) 不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C) 允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D) 不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
二、填空題:
(1)以下程序運行后的輸出結(jié)果是 【1】 。
int f(int a[], int n)
{ if (n >= 1) return f(a, n-1)+a[n-1];
else return 0;
}
main()
{ int aa[5]={1,2,3,4,5}, s;
s=f(aa, 5); printf("%d\n", s);
}
(2) 下面程序的運行結(jié)果是:【2】
int f( int a[], int n)
{ if(n>1) return a[0]+f(&a[1],n-1);
else return a[0];
}
main ( )
{ int aa[3]={1,2,3},s;
s=f(&aa[0],3); printf(“%d\n”,s);
}
(3) 以下程序運行后的輸出結(jié)果是 【3】
fun(int x)
{ if (x/2>0) fun(x/2);
printf("%d",x);
}
main()
{ fun (6); }
(4) 設(shè)函數(shù)findbig已定義為求3個數(shù)中的值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請?zhí)羁铡?BR> main()
{ int findbig(int,int,int);
int (*f)(),x,yz,z,big;
f=【4】;
scanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,z);
printf("bing=%d\n",big);
}
(5) 以下程序的輸出結(jié)果是【5】 。
main()
{ int x=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{ if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
(6) 以下程序的輸出結(jié)果是 【6】 。
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); }
(7) 下面程序的輸出是【7】 。
long fun5(int n)
{ long s;
if((n==1)||(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);}
main()
{ long x;
x=fun5(4);
printf("%ld\n",x);}
(8) 下面h函數(shù)的功能是計算如下數(shù)學(xué)函數(shù)H的值。請?zhí)羁铡?BR> double fgh(double( *f)(double a)< double( *g)(double b),
double x, double y)
{ return(【8】 );}
double h(double a, double b)
return(fgh( sin,cos,a,b)*fgh( 【9】] )); }
(9) 請讀程序:
#include
main( int argc, char *argv[])
{ int i;
printf( '%d\n", argc);
for( i=0; i<=argc+1; i++) printf( "%s ", argv[i]);
printf("\n");
}
若上面的程序編譯、連接后生成可執(zhí)行文件ABC.EXE,則輸入以下命令行
abc file1 file2(表示回車)
程序執(zhí)行后的輸出結(jié)果是 【10】 。
(10) 下面程序的輸出結(jié)果是 【11】 。
#include
fun( int x)
{ int p;
if( x==0||x==1) return(3);
p=x-fun( x-2);
return p;
}
main()
{ printf( "%d\n", fun(9));}
(11) 下面程序的輸出結(jié)果是 【12】 。
#include
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);
}
(12) 設(shè)有如下程序:
#include
main(int argc, char *argv[ ])
{ while( --argc>0) printf("%s",argv[argc]);
printf("\n");
}
假定上述程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在DOS提示符下鍵入PROG ABCD EFGH IJKL ,則輸出結(jié)果為 【13】 。
(13) 以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組中元素的值。a數(shù)組中的值在main函數(shù)中讀入。
#include
#define N 10
invert(int *s,int i,int j)
{ int t; if(imain()
{ int a[N],i;
for(i=0;i invert(a,0,N-1);
for(i=0;i printf("\n"); }
一、選擇題:
01) B 02) A 03) A 04) B 05) C
06) D 07) A 08) A 09) B 10) D
11) C 12) C 13) D 14) A 15) B
16) B 17) C 18) B 19) B 20) A
21) A
二、填空題:
(1) 15
(2) 6
(3) 1 3 6
(4) findbig
(5) 7
(6) 8
(7) 9
(8) f(xy)/g(y-x)或(*f)(x+y)/g(y-x)或f(x+y)/(*g)(y_x)或(*f)或(*f)(x+y)/(*g)(y-x)
(9) cos,sin,a,b
(10) 3 abc.exe file1 file2 (注:兩個答案,每個1分)
(11) 7
(12) 17
(13) IJKLEFGHABCD
(14) i+1
(15) I

