设有以下函数: f(int a) { int b=0; static int c=3; b++; c++; return(a+b+c); } 如果在下面的程序中调用该函数,则输出结果是______。 main() { int a=2, i; for(i=0; i<3; i++)printf("% d\n", f(a)); }
A.7 8 9
B.7 9 11
C.7 10 13
D.7 7 7
A.7 8 9
B.7 9 11
C.7 10 13
D.7 7 7
设有以下函数:yoidfun(intn,char*s){……}则下面对函数指针的定义和赋值均正确的是
A.yoid*Pf0;pf=fun;
B.yoid(*pf)(int,char*);pf=fun;
C.yoid*pff);*pf=fun;
D.yoid(*pf)(int,char);pf=&fun;
设有如下C语言程序: void main() { int i.,sum; for fi=0;i<1000;i++) { sum+=funcl(i); } } int funcl(int a) { return(a%50); } 可以对该C语言程序采取的优化措施包括_______。
A.常量合并
B.公共子表达式删除
C.死代码删除
D.函数嵌入
对下列函数,画出调用f(5)时引起的工作栈状态变化情况。 int f(int i) { if(n==1) return(10); else return(f(i一1)+2); }
下面程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。
#include<stdio.h>
int fun(int n)
{int m=0,f=1,i;
for(______;i<-n;i++)/*第一空*/
{m+=i*f;
f=______;/*第二空*/
}
return m;
}
main()
{printf("m=%d\n",______);)/*第三空*/
下面程序通过函数average()计算数组中各元素的平均值。
float average(______,int n)/*第一空*/
{int i;
float avg=0.0;
for(i=0;i<n;i++)
avg=avg+______;/*第二空*/
avg=______;/*第三空*/
return avg;
}
main()
{int i,a[5]={2,4,6,8,10);
float mean;
mean=average(a,5);
printf("%f\n",mean);
}
A.15
B.16
C.7
D.8
以下函数的功能是:求x的y次方。请填空。
double fun(double x,int y)
{int 1;
double z;
for(i=1,z=x;i<y;i++)______;
return z;
}
以下程序的输出结果是______。
#include<stdio.h>
main()
{int i;
for(i=1;i<=5;i++)(if(i%2)print f("*");
else continue;
print f("#");
}
print f("$\n");
}
以下函数用于统计一行字符串中的单词个数,单词之间用空格分隔,请填空。int word_num(char strl[ ])
{inti,num=0,word=0;
for(i=0;strl[i]l='\0';i++)
if(______= =¨)word=0;
else if(word= =0){word=1;num++;}
return(num);
}
A.16
B.17
C.14
D.15
A.4
B.3
C.1
D.2