计算机语言BC语言春季学期期末考试.docx
- 文档编号:18995997
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:15
- 大小:19.79KB
计算机语言BC语言春季学期期末考试.docx
《计算机语言BC语言春季学期期末考试.docx》由会员分享,可在线阅读,更多相关《计算机语言BC语言春季学期期末考试.docx(15页珍藏版)》请在冰豆网上搜索。
计算机语言BC语言春季学期期末考试
2010春计算机语言B(C语言)A卷
得分
一、选择题(每小题1分,共10分)
说明:
请将你认为各小题最恰当的正确答案的编号填写在下表中(阅卷以下表为准)。
题号
1
2
3
4
5
6
7
8
9
10
编号
1.有如下程序:
main()
{intn=9;
while(n>6)
{n--;
printf("%d",n);
}
}
该程序的输出结果是【】。
A.987B.8765C.876D.9876
2.有如下程序:
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是【】。
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
3.有如下程序:
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);
}
该程序的输出结果是【】。
A.0.000000B.0.250000C.0.500000D.1.000000
4.有如下程序:
intadd(inta,intb)
{return(a+b);
}
main()
{intx=3,y=6,z=9,r;
r=add(add(x,y),z);
printf("%d\n",r);
}
该程序的输出结果是【】。
A.15B.16C.17D.18
5.有如下程序段:
int*p,a=13,b=2;
p=&a;a=*p+b;
执行该程序段后,a的值是【】。
A.16B.15C.14D.编译出错
6.有如下程序:
longfib(intn)
{if(n<2)return
(1);
elsereturn(fib(n-1)+fib(n-2));
}
main()
{printf("%ld\n",fib(3));
}
该程序的输出结果是【】。
A.2B.3C.4D.6
7.有如下程序:
#defineN2
#defineMN+1
#defineNUM2*M+1
main()
{
inti;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是【】。
A.5B.6C.7D.8
8.有如下程序段:
inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为【】。
A.trueB.falseC.0D.1
9.若有如下定义:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是【】。
A.*p+9B.*p+=9C.*(p+8)D.p+8
10.有如下程序:
main()
{intn[5]={3,3,3},i,k=2;
for(i=0;i n[i]=n[i]+1; printf("%d\n",n[k]); } 该程序的输出结果是【】。 A.3B.5C.4D.不确定的值 得分 二、阅读程序,写出运行结果(每小题3分,共18分) 说明: 请将答案填写在下表中(阅卷以下表为准)。 题号 输出结果 题号 输出结果 题号 输出结果 1 2 3 4 5 6 1.以下程序的输出结果是【】。 #include main() { inti,j,k; i=12; j=20; k=i+j; printf("k=i+j=%d\n",k); } 2.以下程序的输出结果是【】。 #include main() {floatx,y=9.5; x=-12.34; if(x>0)y=1; if(x=0)y=0; if(x<0)y=-1; printf("x=%f\ny=%f",x,y); } 3.以下程序的输出结果是【】。 #include intfun(intx) {intp; if(x==0||x==1)return(3); p=x*fun(x-2); returnp; } main() { printf("%d\n",fun(7)); } 4.以下程序的输出结果是【】。 #include main() { char*p[]={"POOL","opk","he","SP"}; inti; for(i=3;i>=0;i--)printf("%c",*p[i]); printf("\n"); } 5.以下程序的输出结果是【】。 #include y=%d\n",y);}main(){ intx=3;sub(x);y+=x++;printf("main: y=%d\n",y);} 6.以下程序的输出结果是【】。 #include {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf("%d\n",s); } 得分 三、填空题(每空2分,共22分) 1.以下函数返回a所指数组中最小值所在的下标值,请填空。 intfun(int*a,intn) { inti,p; for(i=1;i if(a[i] return(p); } 2.以下函数把b字符串连到a字符串的后面,并返回a中新字符串的长度,请填空。 intstrcen(chara[],charb[]) {intnum=0,n=0; while(*(a+num)! =) num++; while(b[n]) {*(a+num)=b[n]; num++; ; } returnnum; } 3.在磁盘的当前目录下有名为“lut2009.txt”的文本文件,下面的程序是从文件中读出其中的字符,并统计文件中字符的个数,同时还要求统计出字母“m”或“M”出现的次数,请填空。 #include main() {charch;intnum=0,cm=0; ; if((fp=fopen())==NULL) exit (1); else while((ch=fgetc(fp))! =EOF) { num++; if()cm++; } printf("num=%d\tcm=%d\n",num,cm); } 4.下面程序的功能是求1! +2! +3! +4! +5! ,请填空。 main() {inti,j,f,sum=0; for(i=1;i<=5;i++) {f=1; for(j=1;;j++) ; sum=sum+f; } printf("sum=%d",sum); } 5.下面程序的功能是计算一个3×3矩阵的主对角线的元素之和,请填空。 main() {inti,; inta[3][3]={{-1,2,3},{6,7,-8},{9,11,20}}; for(i=0;i<=2;i++) sum=; printf("%d\n",sum); } 得分 四、编程题(每小题10分,共50分) 1.请编写一个完成输入长方形的长和宽,计算并输出该长方形面积的程序。 2.请编写一个实现符号函数的程序。 1x>0 符号函数即: y=f(x)=0x=0 -1x<0 3.请编写一个输出如下图案的程序。 ******* ***** *** * 要求: 必须用循环结构实现。 4.请编写子函数sub_fun(intx),返回1-2+3-4+…+99-100的值。 5.请编写一个实现对数组a的10个数{20,50,30,10,60,80,100,70,70,40}按从小到大排序的程序。 参考答案和评分标准 一、选择题(每小题1分,共30分) 题号 1 2 3 4 5 6 7 8 9 10 编号 C A C D B B B D C A 二、阅读程序,写出运行结果(每小题3分,共27分) 题号 输出结果 题号 输出结果 题号 输出结果 1 k=i+j=32 2 x=0.000000 y=9.500000 3 315 4 ShoP 5 sub: y=4 main: y=8 6 18 三、填空题(每空2分,共30分) 1.p=0; p=i 2.'\0'或0 n++或++n或n=n+1或n+=1 3.FILE*fp "lut2009.txt","r" ch=='m'||ch=='M' 4.j<=i f=f*j 5.sum=0 sum+a[i][i] 四、编程题(每小题10分,共50分) 评分标准: 结构完整2分(主函数或子函数); 变量声明恰当、控制符对应正确2分; 输入(或初始化)2分; 加工处理(顺序、选择或循环)2分; 输出(结果)2分 参考程序: 1. #include main() { floatx,y,z; printf("inputx,y: \n"); scanf("%f,%f",&x,&y); z=x*y; printf("z=%10.2f\n",z); getch(); } 2. #include main() { floatx,y; printf("inputx: \n"); scanf("%f",&x); if(x>0) y=1; if(x==0) y=0; if(x<0) y=-1; printf("x=%10.2f\t,y=%10.2f\n",x,y); getch(); } 3. #include main() { inti,j; for(i=4;i>=1;i--) { for(j=1;j<=4-i;j++) printf(""); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } getch(); } 4. #include intsub_fun(intx) { inti,k=1,s=0; for(i=1;i<=x;i++) { s=s+k*i; k=-k; } returns; } 以下主函数可以不写: main() { printf("%d\n",sub_fun(100)); getch(); } 5. #include #defineN10 main() { inti,j,k,t,a[N]={20,50,30,10,60,80,100,70,70,40}; for(i=0;i { k=i; for(j=i+1;j { if(a[j] k=j; } t=a[i]; a[i]=a[k]; a[k]=t; } for(i=0;i printf("%4d",a[i]); printf("\n"); getch(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机语言 BC 语言 春季 学期 期末考试