C语言考试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题:(10分,每题2分)
1.char*p[10];该语句声明了一个:。
A)指向含有10个元素的一维字符型数组的指针变量p
B)指向长度不超过10的字符串的指针变量p
C)有10个元素的指针数组p,每个元素可以指向一个字符串
D)有10个元素的指针数组p,每个元素存放一个字符串
2.若intx;且有下面的程序片断,则输出结果为:。
for(x=3;x<6;x++)
{
printf((x%2)"##%d":"**%d\n",x);
}
A) ##3B)**3 C)**3D)##3**4
**4##4##4**5##5
##5**5
3.在while(!x)语句中的!x与下面条件表达式等价的是:。
A)x!=0B)x==1 C)x!=1D)x==0
4.已知
structpoint
{
intx;
inty;
};
structrect
{
structpointpt1;
structpointpt2;
};
structrectrt;
structrect*rp=&rt;
则下面哪一种引用是不正确的________。
A) r t.pt1.xB) (*rp).pt1.xC) rp->pt1.x
D)rt->pt1.x
5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:。
A)*(a+j*n+i)B)*(a+i*n+j)C)*(*(a+i)+j)D)*(*a+i) +j
CDDDC
二、分析程序并写出运行结果。(25分,每题5分)
1.#include
main()
{intn;
staticchar*monthName[]=
{"Illegalmonth","January","February",
"March","April","May","June","July","August", "September","October","November","December"};
for(n=1;n<=12;n++)
{
printf("%s\n",monthName[n]);
}
}
运行结果是:
January
February
March
April
May
June
July
August
September
October
November
December
2.#include
#defineARR_SIZE7
voidYH(inta[][ARR_SIZE],intn);
voidPrintYH(inta[][ARR_SIZE],intn);
main()
{inta[ARR_SIZE][ARR_SIZE];
YH(a,ARR_SIZE-1);
PrintYH(a,ARR_SIZE-1);
}
voidYH(inta[][ARR_SIZE],intn)
{inti,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
if(j==1||i==j)
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
}
}
voidPrintYH(inta[][ARR_SIZE],intn) {
inti,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
}
运行结果是:
1
11
121
1331
14641
15101051
3.
#include
main()
{
inti,n;
for(i=1;i<=5;i++)
{
printf("Pleaseentern:");
scanf("%d",&n);
if(n<=0)continue;
printf("n=%d\n",n);
}
printf("Programisover!\n");
}
程序运行时输入:1-23-45↙
运行结果是:
n=1
Pleaseentern:Pleaseentern:n=3
Pleaseentern:Pleaseentern:n=5
Programisover!
4.
#include
voidFunc(intn);
main()
{
inti;
for(i=0;i<2;i++)
{
Func(i);
}
}
voidFunc(intn)
{
staticintt=1;
printf("t=%d\n",t++);
}
运行结果是:
t=1
t=2
5.
#include
intFunc(inti);
main()
{
inti;
for(i=3;i<5;i++)
{