C语言预赛练习之-函数章节选择题
1.在C语言中,全局变量的存储类别是: A) static B) extern C) void D) register A
2.C语言中,凡未指定存储类别的局部变量的隐含存储类别是: A) 自动(auto) B) 静态(static) C) 外部(extern) D) 寄存器(register) A
3. 在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用 的全局变量,则该变量需要使用的存储类别是:________。 A) extern B) register C) auto D) static D
4. 若有以下调用语句,则正确的fun函数首部是 main() { ∶ ∶
int a;float x; ∶ ∶ fun(x,a); ∶ ∶ }
A) void fun(int m,float x) B) void fun(float a,int x) C) void fun(int m,float x[]) D) void fun(int x,float a) B
5. 有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是 A) 3 B) 4
C) 5 D) 有语法错误 A
6. 以下程序的运行结果是 。 #include
{ int k=4,m=1,p;
p=func(k,m); printf(\ p=func(k,m); printf(\ } func(int a,int b) { static int m=0,i=2;
i+=m+1; m=i+a+b; return m; }
A) 8,17, B) 8,17 C) 8,8 D) 4,1 B
7. 函数fun的功能是:根据以下公式计算S,n通过形参传入,n的值大 于等于0。划线处应填________。 1 1 1 1 S=1 - ─ + ─ - ─ + ? ─── 3 5 7 2n-1 float fun(int n)
{ float s=0.0,w,f=-1.0; int i=0;
for(i=0;i<=n;i++) {________; w=f/(2*i+1); s+=w; } return s; }
A) f=1 B) f=-1 C) f=-1*f D) f=0 C
8. 函数fun的功能是:根据以下公式计算并返回S,n通过形参传入,n的值 大于等于0。划线处应填________。 1 1 1 1 S=1 - ─ + ─ - ─ + ? ─── 3 5 7 2n-1 float fun(int n)
{ float s=0.0,w,t,f=-1.0; int i;
for(i=0;i w=f/(2*i+1); s+=w; } ____________; } A) return (f) B) return (S) C) return (s) D) return (w) C 9. 有如下程序 int func(int a,int b) { return(a+b); } main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(\ } 该程序的输出结果是__________。 A) 12 B) 13 C) 14 D) 15 D 10. 有如下程序 int func(int a,int b) { return(a+b); } main() { int x=2,y=5,z=8,r; r=func((x-y),z); printf(\ } 该程序的输出结果是__________。 A) 10 B) 13 C) 5 D) 15 C 11. 以下函数返回a数组中最小值所在的下标,在划线处应 填入的是________。 fun( int a[],int n) { int i,j=0,p; p=j; for(i=j;i if(a[i] A) i=p B) a[p]=a[i] C) p=j D) p=i D 12. 函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n) 请你在下面程序中的划线部分填入________,完成求π的功能。 #include \ double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+________; return (sqrt(6*s)); } A) 1.0/i/i B) 1.0/i*i C) 1/(i*i) D) 1/i/i A 13. 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;正确 的fun函数的首部应为________(要求形参名为b)。 main() { double s[10][22]; int n; ∶ ∶ fun(s); ∶ ∶ } A) void fun(double b[22]) B) void fun(double b[][22]) C) void fun(double b[][]) D) void fun(double b[22][]) B 14. 以下程序的输出结果是________。 void fun() { static int a=0; a+=2; printf(\ } main() { int cc; for(cc=1;cc<4;cc++) fun( ); printf(\ } A) 2222 B) 2468 C) 222 D) 246 C 15. 以下函数把b字符串连接到a字符串后面,并返回a中新字符串的长度。 下面的两划线处应分别填入________。 strcen(char a[],char b[]) { int num=0,n=0; while( a[num]!=______) num++; while(b[n]) { a[num]=b[n];num++;________;} return (num); } A) '\\n'和n++ B) '\\n'和num++ C) '\\0'和n++ D) '\\0'和num++ C 16. 以下程序的输出结果是 #include { char a[]=\ fun(a); puts(a); } fun( char s[]) { int x,y; char c; for(x=0,y=strlen(s)-1; x 17. 以下程序的输出结果是 #include { char a[]=\ fun(a); puts(a); } fun( char s[]) { int x,y; char c; for(x=0,y=(strlen(s)-1)/2; x 18. 以下程序的输出结果是 #include { char a[]=\ fun(a); puts(a); } fun( char s[]) { int x,y; char c; for(x=0,y=3; x {c=s[y];s[y]=s[x];s[x]=c; } } A) ihgfedcba B) abcdefghi C) dcbaefghi D) ihgfefghi C 19. 以下程序的输出结果是________。 main() { int w=5; fun(w); printf(\ fun (int k) { if(k>0) fun(k-1); printf(\ } 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 B 20. 以下程序的输出结果是________。 main() { int w=5; printf(\ fun (int k) { int n; if(k>0) n=n+fun(k-1); else n=0; return n; } A) 5 4 3 2 1 0 B) 0 1 2 3 4 5 C) 15 D) 25 D 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言预赛练习之-函数章节选择题在线全文阅读。
相关推荐: