期终考试命题稿18.docx
- 文档编号:10547549
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:12
- 大小:30.11KB
期终考试命题稿18.docx
《期终考试命题稿18.docx》由会员分享,可在线阅读,更多相关《期终考试命题稿18.docx(12页珍藏版)》请在冰豆网上搜索。
期终考试命题稿18
浙江工业大学期终考试命题稿
2009/2010学年第一学期
课程名称
C++程序设计I
使用班级
信息学院09级
教师份数
10
学生份数
540
命题人
张健、陈晋音
审核人
张健
命题总页数
8页
每份试卷需用白纸
3大张
命题注意事项:
一、命题稿请用A4纸电脑打印,或用教务处印刷的命题纸,并用黑墨水书写,保持字迹清晰,页码完整。
二、两份试题必须同等要求,卷面上不要注明A、B字样,由教务处抽定A、B卷。
三、命题稿必须经学院审核,并在考试前两周交教务处。
浙江工业大学2009/2010学年
第一学期试卷
课程C++程序设计I姓名__nail_________________________
班级____________________________授课教师
题序
一
二
三
四
五
六
七
八
九
十
总评
计分
试题一、选择题(每题2分,共20分)
(1)若x是double型变量,n是int型变量,执行b,并输入31.25后,x=1.25,n=3。
A、scanf("%d%lf",&n,&x);B、scanf("%lf%d",&x,&n);
C、scanf("%lf%d",&n,&x);D、scanf("%d%,lf",&n,&x);
(2)若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式
是d。
A、(x%3!
=0)||(y%3!
=0)B、(x%3!
=0)&&(y%3!
=0)
C、(x%3==0)||(y%3==0)D、(x%3==0)&&(y%3==0)
(3)while(b)等价于while(x)。
A、x==0B、x!
=0
C、x==1D、x!
=1
(4)若intx=0,*p=&x;则语句a是不正确的。
A、p=&(x+1);B、p=&x;
C、p=&x+1;D、p=&x,p++;
(5)设变量定义如下,则表达式d是正确的。
structstudent{
intnum;
charname[20];
floatscore;
}stud[10];
A、stud[2]=stud[1]+3B、stud[1]==stud[2]
C、stud[1]=stud[1]-stud[2]D、stud[1]=stud[2]
(6)下列程序的输出结果是d。
#include
voidmain()
{inty;
doubled=3.4,x;
x=(y=d/2.0)/2;
printf("(%0.2f,%d)",x,y);
}
A、(0.00,1)B、(0.85,1.7)C、(0.50,1)D、以上都不对
(7)程序段d的功能是将变量u、s中的最大值赋给变量t。
A、if(u>s)t=u;t=s;B、t=u;if(t>s)t=s;
C、if(u>s)t=s;elset=u;D、t=s;if(u>t)t=u;
(8)对于以下递归函数f,调用f(3)的返回值是b。
intf(intn)
{if(n)returnf(n-1)+n;
elsereturnn;
}
A、10B、6C、3D、0
(9)不正确的C程序描述是b
A、每个语句的最后必须有个分号
B、一个C程序的书写格式要求严格,一行只能写一个语句
C、C语言的本身没有输入、输出函数
D、一个C程序总是从main()函数开始执行
(10)若有宏定义如下:
#defineX5
#defineYX+1
#defineZY*X/2
则执行一下程序段后,输出结果是d
inta;
a=Y;
printf(“%d”,Z);
printf(“%d\n”,--a);
A、76B、126C、125D、75
试题二、程序选择题(每空1分,共19分)
1.【程序说明】输入1个正整数n(n>=2),输出菲波那契(Fibonacci)序列的前n项,每行输出6个数。
菲波那契(Fibonacci)序列:
1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三个数开始,每个数是前两个数之和。
运行示例:
Entern:
10
11235813213455
【程序】
#include
main()
{intcount,i,n,x1,x2,x;
printf("Entern:
");
scanf("%d",&n);
x1=x2=1;
printf("%6d%6d",x1,x2);
count=2a
(1);
for(i=1;i<=n-2;i++){
x=x1+x2b
(2);
printf("%6d",x);
count++;
if((i+2)%6==0c(3))
printf("\n");
x1=x2;
x2=xb(4);
}
}
【供选择的答案】
(1)A、count=2B、count=0C、count=1D、count=-1
(2)A、x=x1-x2B、x=x1+x2C、x=x1D、x=2
(3)A、count/6==0B、count%6!
=0C、count%6==0D、count/6!
=0
(4)A、x=x1+x2B、x2=xC、x1=x2D、x1=x
2.【程序说明】
输入100个整数,将其中的前20个数从小到大排序,然后输出这100个数。
#include"stdio.h"
voidsort((5)b)
{inti,k,m,t;
for(i=0;i k=i;for(m=i+1;m (7)c } } voidmain() {intk,a[100]; for(k=0;k<100;k++)scanf("%d",&a[k]); (8)a; for(k=0;k<100;k++)printf("%d",a[k]);} (5)A、inta,intnB、int*a,intnC、int*a,int*nD、inta[] (6)A、a[m-1]>a[m]B、a[m-1]a[m] (7)A、a[k]=a[i];a[i]=a[k];B、a[k]=t;a[k]=a[i];a[i]=t;C、t=a[k];a[k]=a[i];a[i]=t;D、a[i]=a[k];a[k]=a[i]; (8)A、sort(a,20)B、sort(a[],20)C、sort(a[20])D、sort(a[]) 3.【程序说明】输入一个正整数n,计算下列算式的前n项之和。 运行示例: Entern: 2 Sum=0.67 【程序】 #include main() {intdenominator,flag,i,n; doubleitem,sum; printf("Entern: "); scanf("%d",&n); denominator=1; (9)d; sum=0; for(i=1;d(10);i++){ (11)d; sum=sum+item; (12)c; denominator=denominator+2; } printf("Sum=%.2f\n",sum); } (9)A、flag=0B、flag=-1C、flag=nD、flag=1 (10)A、i>=nB、i (11)A、item=flag/denominatorB、item=1/denominator C、item=flag*1.0/denominatorD、item=1.0/denominator (12)A、flag=-1B、flag=0C、flag=-flagD、flag=flag 4.【程序说明】以下程序的功能是将文件file1.txt的内容输出到屏幕上并复制到文件file2.txt中,请填入适当的内容。 #include voidmain() { FILE(13) charch; fp1=fopen(“file1.txt”,”r”); (14) while(! feof(fp1))putchar(fgetc(fp1)); (15) while(! feof(fp1)) {ch=fgetc(fp1); fputc((16));} fclose(fp1); fclose(fp2); } (13)A、fp1;B、*fp1;C、fp1,fp2;D、*fp1,*fp2; (14)A、fp1=fopen(“file1.txt”,”w”);B、fp1=fopen(“file2.txt”,”wb”); C、fp2=fopen(“file1.txt”,”r”);D、fp2=fopen(“file2.txt”,”w”); (15)A、ch=fgetc(fp1);B、rewind(fp1); C、ftell(fp1);D、fseek(fp1,1,SEEK_SET) (16)A、ch,fp2B、ch,fp1C、fp1D、fp2 5.【程序说明】函数create用于建立一个链表(结构体类型标识符node定义如下)。 structnode {intdata; structnode*next;}; intn; structnode*create() { structnode*head,*p1,*p2; n=0;/*全局变量n表示链表结点个数,初值为0*/ head=NULL;/*head表示链表的头,初值为NULL*/ (17) scanf("%d",&p1->data); while(p1->data! =-1) {n=n+1; if(n==1) head=p1; else p2->next=p1; (18) p1=(structnode*)malloc(LEN); scanf("%d",&p1->data); } p2->next=NULL; (19) return(head); } (17)A、p1=p2=(structnode*)malloc(LEN);B、p1=(structnode*)malloc(LEN); C、p1=p2=(structnode)malloc(LEN);D、p1=p2=head; (18)A、p1=p2;B、p2=p1; C、p2->next=p1;D、p1->next=p2; (19)A、free(head);B、free(p2); C、free(p1,p2);D、free(p1); 试题三、程序阅读题(每题5分,共25分) 程序1(-1 2 7 6) #include voidmain() {intm=18,s=0; do{ switch(m%7){ case2: m/=2;s+=2;break; case3: m/=3;s+=3;break; case5: m/=5;s+=5;break; default: m--;s--; }; printf("%d\n",s); }while(m); } 程序2() #include intmain(***** ******** *** ****** ******* *********) { inta[6]={5,8,3,6,7,9}; inti,j; for(i=0;i<6;i++) { printf("%d: ",a[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期终 考试 命题 18