重庆邮电大学学年1学期C语言程序设计A卷.docx
- 文档编号:5381939
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:12
- 大小:18.25KB
重庆邮电大学学年1学期C语言程序设计A卷.docx
《重庆邮电大学学年1学期C语言程序设计A卷.docx》由会员分享,可在线阅读,更多相关《重庆邮电大学学年1学期C语言程序设计A卷.docx(12页珍藏版)》请在冰豆网上搜索。
重庆邮电大学学年1学期C语言程序设计A卷
试题编号:
重庆邮电大学2014-2015学年1学期
C语言程序设计试卷(期末)(A卷)(闭卷)
题号
一
二
三
总分
得分
评卷人
注意:
所有试题的答案必须写在答题纸上。
一、基础知识测试题(本大题共15小题,每小题4分,共60分)
1读程序,并回答问题:
#include
voidmain()
{inti,j=8;
i=j++;//问题②
printf("i=%d\n",i);
}
问题①:
该程序的输出结果是什么?
(2分)
问题②:
如果将i=j++改为i=++j,程序的输出结果又是什么?
(2分)
2下列程序计算并输出一个三位整数的个位、十位和百位及它们的和,请补充完整。
#include
voidmain()
{intx=369,b0,b1,b2,sum;
b2=x/100;
b1=;//问题①
b0=;//问题②
sum=b2+b1+b0;
printf("b2=%d,b1=%d,b0=%d,sum=%d\n",b2,b1,b0,sum);
}
问题①:
该处应填入的代码是什么?
(2分)
问题②:
该处应填入的代码是什么?
(2分)
3读程序,并回答问题:
#include
#defines(a,b)a*b//问题②
voidmain()
{printf("%d",s(3+7,2+3));
}
问题①:
该程序的输出结果是什么?
(2分)
问题②:
将宏定义改为#defines(a,b)((a)*(b)),输出结果又是什么?
(2分)
4读程序,并回答问题:
#include
voidmain()
{intj=4,n=15;
switch(j/2)//问题②
{case0:
n++;break;
case1:
++n;
case2:
n++;
case3:
n--;
}
printf("n=%d\n",n);
}
问题①:
该程序的输出结果是什么?
(2分)
问题②:
如果将j/2改成j%2,程序的输出结果又是什么?
(2分)
5下列程序实现输入n值,计算并输出1!
+2!
+3!
+…+n!
,请补充完整。
#include
main()
{inti,n;
longsum=0,term=1;
printf("Inputn:
");
scanf("%d",&n);
for()//问题①
{
;//问题②
sum=sum+term;
}
printf("1!
+2!
+…+%d!
=%ld\n",n,sum);
}
问题①:
该处应填入的代码是什么?
(2分)
问题②:
该处应填入的代码是什么?
(2分)
6读程序,并回答问题:
#include
main()
{inti,count=0;
for(i=1;i<=100;i++)
{if(i%3!
=0&&i%5!
=0)
continue;//问题②
printf("%5d",i);
count++;
if(count%5==0)
printf("\n");
}
}
问题①:
程序的功能是什么?
(2分)
问题②:
该处语句的作用是什么?
(2分)
7读程序,并回答问题:
#include
longFunc(intn);
voidmain()
{inti;
for(i=3;i<=6;i++)
{printf("%4d",Func(i));
}
}
longFunc(intn)
{staticlongf1=1,f2=1;//问题①
longf;
f=f1+f2;
f1=f2;
f2=f;
returnf;
}
问题①:
该处static的作用是什么?
(2分)
问题②:
程序的输出结果是什么?
(2分)
8读程序,并回答问题:
#include
intFunc(intm,intn);
voidmain()
{intm=15,n=9;
intk;
k=Func(m,n);
printf("result=%d\n",k);
}
intFunc(intm,intn)//问题①
{intr;
r=m%n;
while(r!
=0)
{m=n;
n=r;
r=m%n;
}
returnn;
}
问题①:
函数Func(intm,intn)的功能是什么?
(2分)
问题②:
程序的输出结果是什么?
(2分)
9读程序,并回答问题:
#include
#include
voidFunc(chardes[],charsrc[]);//问题①
voidmain()
{chara[20],b[20];
scanf("%s",a);//问题②
Func(b,a);
printf("%s",b);
}
voidFunc(chardes[],charsrc[])
{inti=0,j=0;
while(des[i++]=src[j++]);
}
问题①:
函数Func(chardes[],charsrc[])的功能是什么?
(2分)
问题②:
该处语句应该怎么修改才能允许输入的字符串包含空格?
(2分)
10下列程序实现将输入的整形数组逆序排列后输出,请补充完整。
#include
#defineN10
voidReverse(inta[],intn);
voidmain()
{inta[N];
inti;
for(i=0;i scanf("%d",&a[i]); Reverse(a,N); for(i=0;i printf("%d\t",a[i]); } voidReverse(inta[],intn) {inti,j; for(i=0,j=N-1;;i++,j--)//问题① { intt; //问题② } } 问题①: 该处应填入的代码是什么? (2分) 问题②: 该处应填入的代码是什么? (2分) 11下列函数删除字符串中的指定字符如字符串”helloworld”,删除字符’l’后,变成”heoword”,请补充完整。 voidDeleteChar(char*str,charx) {char*p=str; while(*p) {if()//问题① {char*q,*t; t=p; q=p+1; while();//问题② } elsep++; } } 问题①: 该处应填入的代码是什么? (2分) 问题②: 该处应填入的代码是什么? (2分) 12读程序,并回答问题: #include #defineN10 voidmain() {inta[N][N],n,i,j; printf("Inputn: "); scanf("%d",&n); while(n>N||n<1)//问题① {printf("Error.Inputagain: "); scanf("%d",&n); } for(i=0;i a[i][i]=a[i][0]=1; for(i=1;i for(j=1;j { a[i][j]=a[i-1][j-1]+a[i-1][j]; } for(i=0;i { for(j=0;j<=i;j++) printf("%4d",a[i][j]); printf("\n"); } } 问题①: 该处语句的作用是什么? (2分) 问题②: 程序的功能是什么? (2分) 13读程序,并回答问题: #include structEmployee { longintid; charname[20]; floatsalary; }; typedefstructEmployeeEMP;//问题① voidFunc(EMPemp[],intn,int*t,int*b)//问题② { inti; *t=0; *b=0; for(i=1;i { if(emp[i].salary>emp[*t].salary) *t=i; if(emp[i].salary *b=i; } } voidmain() { EMPemp[5]; inti,j,k; for(i=0;i<5;i++) scanf("%ld%s%f",&emp[i].id,emp[i].name,&emp[i].salary); Func(emp,5,&j,&k); printf("A: %ld%s%f\n",emp[j].id,emp[j].name,emp[j].salary); printf("B: %ld%s%f\n",emp[k].id,emp[k].name,emp[k].salary); } 问题①: 该语句的功能是什么? (2分) 问题②: 函数Func(EMPemp[],intn,int*t,int*b)的功能是什么? (2分) 14读程序,并回答问题: typedefstructlink {intscore; structlink*next; }LINK; LINK*CreateLink() {ints; LINK*p=NULL,*q; printf("Inputscore: "); scanf("%d",&s); while(s! =-1) {q=(LINK*)malloc(sizeof(LINK));//问题① q->score=s; q->next=NULL; if(p==NULL) {p=q;} else {q->next=p;//问题② p=q; } printf("Inputscore: "); scanf("%d",&s); } returnp; } 问题①: 该语句的功能是什么? (2分) 问题②: 该语句的功能是什么? (2分) 15读程序,并回答问题: #include #include voidmain() {FILE*fp; charch; if((fp=fopen("c: \\test.txt","r"))==NULL) {printf("Failuretoopentest.txt! \n"); exit(0); } while((ch=fgetc(fp))! =EOF)//问题① {if(ch>='a'&&ch<='z') ch=ch-32; putchar(ch); } fclose(fp); } 问题①: 该语句的功能是什么? 问题②: 该程序的功能是什么? 二、编程题(本大题共3小题,共40分) 1.(8分)用100元人民币兑换10元、5元和1元的纸币(每一种都要有)共50张,编程计算共有多少种兑换方案,每种方案各兑换多少张纸币。 2.(12分,其中自定义函数8分,主函数4分)编写一个函数intBePalindrome(char*str)判断一个字符串是否回文,回文是指正序和逆序都相同的字符串,如”ab121ba”,”abba”等,如果是返回1,否则返回0。 编写主函数测试这个函数。 3.(20分)某比赛有30个选手参赛(包含编号、姓名和最终得分),有10名评委给选手打分,编程完成: (1)实现评分过程,选手的最终得分为10名评委打分的平均分。 (10分) (2)对比赛结果进行降序排列,并将前三名选手的信息存入result.txt文件中。 (10分) 答题纸 班级学号姓名 题号 一 二 三 总分 得分 评卷人 一、基础知识测试题(本大题共15小题,每小题4分,共60分) 1① ② 2① ② 3① ② 4① ② 5① ② 6① ② 7① ② 8① ② 9① ② 10① ② 11① ② 12① ② 13① ② 14① ② 15① ② 二、编程题(本大题共3小题,共40分) 1(8分) 2(12分,自定义函数8分,主函数4分) 3(20分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重庆 邮电大学 学年 学期 语言程序设计