[键入文字][键入文字][键入文字]
上海海事大学 学生联合会
[键入文字] [键入文字][键入文字]
激情活力 精彩学联 版权所有 违者必究
考前冲刺(机密资料)
(指针)选择题
1若有char a[80],*s=a;正确的输入语句是().
A:scanf("%s",s);B:gets(*s);C:scanf("%c",s);D:getchar(s,80); 答案:A
2以下函数调用语句中实参的个数是().
func((e1,e2),(e3,e4,e5));
A:2B:3C:5D:语法错误 答案:A
3若有char a[80],*s=a;正确的输入语句是().
A:scanf("%s",s);
B:gets(*s);
C:scanf("%c",s);
D:getchar(s,80); 答案:A
4,若有int a[10];
给数组a的所有元素分别赋值为1、2、3、……的语句是().
A:for(i=1;i<11;i++)a[i]=i;
B:for(i=1;i<11;i++)a[i-1]=i;
C:for(i=1;i<11;i++)a[i+1]=i;
D:for(i=1;i<11;i++)a[0]=1; 答案:B
判断题:语句"int *pi,pj"定义了两个指针变量 答案:N
【程序改错】
1题目:函数fun的功能是:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。请改正程序中的4个错误,使它能得出正确的结果。
fun()
{ int i; float f1=1,f2=1,f3;
/**********FOUND**********/
printf("%8d",f1);
/**********FOUND**********/
for(i=1;i<=20;i++)
{f3=f1+f2;
/**********FOUND**********/
f2=f1;
/**********FOUND**********/
f3=f2;
printf("%8.0f",f1); }
printf("\n");}
main() { fun();}
答案: printf("%8f",f1);for(i=1;i<20;i++) f1=f2;f2=f3;
2题目:函数fun的功能是:计算并输出k以内最大的10个能被13 或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。请更改程序中的错误,使它能得出正确的结果。
int fun(int k)
{
int m=0,mc=0,j;
/**********FOUND**********/
while ((k>=2)||(mc<10))
{
/**********FOUND**********/
if((k%13=0)||(k%17=0))
{m=m+k; mc++;}
/**********FOUND**********/
K++;
}
/**********FOUND**********/
return ;
}
main()
{ printf("%d\n",fun(500)); }
答案:while ((k>=2)&&(mc<10)) if((k%13==0)||(k%17==0))k-- return m ;
3题目:下列给定程序中,函数fun的功能是:求1到10的阶乘的和。主函数和fun函数中,各有两个错误,请改正,使其能得到正确的运行结果。
main()
{int i; float t,s=0; float fac(int n);
/**********FOUND**********/
for(i=1;i<10;i++)
/**********FOUND**********/
s=fac(i);
printf("%f\n",s);
}
float fac(int n)
{
/**********FOUND**********/
int y=1;
int i;
for(i=1 ;i<=n;i++)
y=y*i;
/**********FOUND