重邮 非计算机专业C语言B卷0809.docx
- 文档编号:30167383
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:12
- 大小:58.52KB
重邮 非计算机专业C语言B卷0809.docx
《重邮 非计算机专业C语言B卷0809.docx》由会员分享,可在线阅读,更多相关《重邮 非计算机专业C语言B卷0809.docx(12页珍藏版)》请在冰豆网上搜索。
重邮非计算机专业C语言B卷0809
重庆邮电大学2008/2009学年第一学期
非计算机专业(本科)统考题
“C语言程序设计”期末试题(B卷)
题号
一
二
三
四
五
六
总分
分数
评卷人
(请将答题写在答题纸上)
3、下面程序的输出结果是什么(请注意输出格式!
)?
#include
voidmain()
{charc='a';
inti=97;
printf("%c,%d\n",c,c);
printf("%c,%d\n",i,i);
}
4、以下函数的功能是删除字符串s中的所有数字字符。
请填空。
(每空2分)
voiddele(
(1) )
{intn=0,i;
for(i=0;
(2) ;i++)
if(s[i]>=’0’&&s[i]>=’9’)
s[n++]=s[i];
s[n]=‘\0’;
}
5、从键盘输入10%3后,程序的输出结果是什么?
从键盘上输入10/3后,该程序的输出结果是什么?
(每问2分)
#include
voidmain()
{
intdata1,data2;charop;
printf("Pleaseentertheexpression:
");
scanf("%d%c%d",&data1,&op,&data2);
switch(op)
{case'+':
printf("%d+%d=%d\n",data1,data2,data1+data2);
break;
case'-':
printf("%d-%d=%d\n",data1,data2,data1-data2);
break;
case'*':
printf("%d*%d=%d\n",data1,data2,data1*data2);
break;
case'/':
if(data2!
=0)
printf("%d/%d=%d\n",data1,data2,data1/data2);
else
printf(“Error!
Devideby0!
”);
break;
default:
printf("Unkownoperator!
\n");
break;
}
}
6、若从键盘输入123,则程序的输出结果是什么(请注意输出格式!
)?
#include
voidmain()
{intk,n=0;
printf("k=?
");
scanf("%d",&k);
do
{printf("%d",k%10);
k/=10;
n++;
}while(k>0);
printf("\nn=%d",n);
}
7、下列程序的功能是求两数的最大公约数,请补充程序:
(每空2分)
#include
voidmain()
{inta=24,b=16,r;
do
{r=
(1) ;
a=b ;
b=r ;
}while(
(2));
printf("%d\n",a);
}
8、第二个for语句的含义是什么?
if语句的含义是什么?
(每问2分)。
voidFun(inta[],intn)
{inti,j,max_i,t;
for(j=0;j<=n-2;j++)/*选择法排序*/
{
for(max_i=j,i=j+1;i<=n-1;i++)
if(a[i]>a[max_i])
{max_i=i;}
if(max_i!
=j)
{t=a[max_i];a[max_i]=a[j];a[j]=t;}
}
}
9、下边程序中strlen(str)的含义是什么?
从键盘上输入abcb,程序的输出结果是什么(请注意输出格式!
)?
(每问2分)
#include
#include
voidmain()
{inti,j,flag=1;
charstr[20];
printf("Inputastring:
");
gets(str) ;
for(i=0,j=strlen(str); i {if(str[i] ! =str[j]) flag=0; } if(flag) printf("%s-YES! \n",str); else printf("%s–NO! \n",str); } 10、下列程序实现计算三角形面积,请填空。 (每空2分) #include #include doubleArea( (1)) { doubles=(a+b+c)/2; returnsqrt(s*(s-a)*(s-b)*(s-c)); } voidmain() {doublea,b,c,area; printf("请输入三角形的三个边长: "); scanf(“%lf,%lf,%lf”,&a,&b,&c); area= (2); printf("area=%.2f\n",area); } 11、下面函数中,for语句的循环体是什么? return*p-*q;的含义是什么? (每问2分) intFun(char*p,char*q) { for(;*p! =’\0’&&*p==*q;p++,q++); return*p-*q; } 12、下列程序的功能是求两数的最大公约数,请补充程序: (每空2分) #include voidmain() {inta=24,b=16,r; do {r= (1) ; a=b ; b=r ; }while(r); printf("%d\n", (2)); } 13、下面函数的功能是判断n是否为素数,是返回1,不是返回0,请补充程序。 (每空2分) intPrime(intn) {inti; for(i=2;i<=sqrt(n);i++) {if( (1)) (2) ; } return1; } 14、已知: 结构体数据类型定义如下: structstudent {intnum;/*学号*/ charname[20];/*姓名*/ floatscore[5];/*5门课成绩*/ }; 下面函数的功能是向结构体数组输入数据,请填空。 (每空2分) voidinput(structstudentstu[],intn) { for(i=0;i {printf("pleaseinputthenumber: \n"); scanf("%d",&stu[i].num); getchar(); printf("pleaseinputthename: \n"); gets( (1));/*输入第i个学生的姓名*/ printf("pleaseinput5scores: \n"); for(j=0;j<5;j++) (2);/*输入第i个学生的第j门课成绩*/ } } 15、下列函数的功能是: 用递归法求f(n,x)=x1+x2+…+xn,请填空。 (每空2分) doubleFun(intn,doublex)/*函数功能: 递归法求f(x,n)*/ {if(n==1) return (1); else return (2) ; } 二、编程题(1,2题,每题10分,第3题20分) 1、(10分)请根据下列公式计算存款到期时的本利之和: (人民银行的现行利率表如下表: ) 存款时间 利率 一 年 2.52 二 年 3.06 三 年 3.60 五 年 3.87 时间 利率 一 年 2.52 二 年 3.06 三 年 3.60 五 年 3.87 时间 利率 一 年 2.52 二 年 3.06 三 年 3.60 五 年 3.87 2、(10分)根据下列公式的前100项的积计算π的值。 3、(20分: 三个函数各占4分,主函数和其它占8分) 从键盘上输入某团体10个人的年龄,输出其中年纪最大和年纪最小的人的年龄,并求他们的平均年龄。 要求: 求年纪最大的人的年龄、求年纪最小的人的年龄、求平均年龄要写成函数,通过在主函数中调用这些函数来现实计算。 时间 利率 一 年 2.52 二 年 3.06 三 年 3.60 五 年 3.87 时间 利率 一 年 2.52 二 年 3.06 三 年 3.60 五 年 3.87 时间 利率 一 年 2.52 二 年 3.06 三 年 3.60 五 年 3.87 时间 利率 一 年 2.52 二 年 3.06 三 年 3.60 五 年 3.87 重庆邮电大学2008-2009学年第1学期 非计算机专业 C语言程序设计答题纸(B卷) 班级: 学号: 姓名: 题号 一 二 三 四 五 六 总分 分数 评卷人 一、基础知识题(每题4分,共60分) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 二、编程题(共40分) 1、(10分) 2、(10分) 3、(20分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重邮 非计算机专业C语言B卷0809 计算机专业 语言 0809