浙江省2004年1月高等教育自学考试高级语言程序设计(一)试题
课程代码:00342
一、选择和计算题(第1小题6分,第2小题4分,第3小题3分,第4小题10分,共23分)
1.假定有以下变量定义:
int k=6,x=12;
则能使x、k值为5、6的表达式是:( )。
A.x%=++k%10
B.x%=k+k%5
C.x-=++k%5
D.x-=k++%5
2.下列符号中哪些不是正确的C标识符__________
le4 (x+2) x12 2.78 π int
3.下列叙述中正确的有哪些?( )
A.实参和与其对应的形参各占用独立的存储单元。
B.形参是虚拟的,不占用存储单元。
C.一个变量或常数也是一个表达式。
D.建立函数的目的只是为了提高函数的可读性。
E.程序中的变量必须是先定义后使用。
二、填充题(每空5分,共30分)
1.下面程序的功能是输出100以内能被3整除且个位数为6的所有整数,请在空格上填上适当内容。
#include
main()
{int i,j;
for(i=0;_(1)_________;i++)
{j=i*10+6;
if (_(2)_________)continue;
printf(“%d”,j);
}
}
2.以下程序在3行4列的二维数组中找出每一行上的最大值并输出。请在空格上填上适当内容。
main()
{int x[3][4],i,j,p;
x[3][4]={1,5,7,4,2,6,4,3,8,2,3,1};
for (i=0;i<3;i++)
{p=0
for(j=1;j<4;j++)
if (x[i][p]<x[i][j])_(3)_________;
printf(“the max value in line %d is %d \n”,i,_(4)_________);
}
}
3.以下程序是计算阶乘,请在空格上填上适当内容。
main()
{int i,n;
long np;
scanf(“%d”,n);
np=_(5)_________;
for (i=2;i<=来源:91exam .orgn;i++)
_(6)_________;
printf(“n=%d, n!=%1d \n”,n,np);
}
三、程序分析题(第1小题10分,第2小题12分,共22分)
1.阅读下列程序,回答问题。
#include
int Fun(int n);
Void main()
{
printf(″the Fun of 3 is %d\n″, Fun(3));
printf(″The Fun of 4 is %d\n″, Fun(4));
}
int Fun(int n)
{
int result=1;
while (n>1)
result *=n--;
return result;
}
程序的运行结果是什么?
2.阅读下列程序,回答列出的问题,写出答案。
int fun(char *s, char *t)
{
for(;*s==*t;s++,t++)
if(*s==’\0’) return 0;
return *s- *t;
}
void main()
{
char s[20]=”hello”,t[20]=”henlo”;
printf(“%d”,fun(s,t))
}
问题1:程序运行后的输出结果是什么?
问题2:fun的主要功能是什么?