收藏 分销(赏)

大学专业试卷浙江理工大学计算机专业-C语言考试-4.docx

上传人:二*** 文档编号:4522228 上传时间:2024-09-26 格式:DOCX 页数:11 大小:58.29KB 下载积分:5 金币
下载 相关 举报
大学专业试卷浙江理工大学计算机专业-C语言考试-4.docx_第1页
第1页 / 共11页
本文档共11页,全文阅读请下载到手机保存,查看更方便
资源描述
IB] for循环执行的输出是123456789 [D] for循环体语句执行9次 [B] int n=10,a[n]; [D| int a[10]=0; 3.14 [A] *q=p; [B] *q=&p; [C] q=p [D] q=&p 浙江理工大学 C程序设计试题(十_) [注意]所有答案写在单张的答题卷上,考试结束递交答卷,试卷不必递交。 一、单项选择题(此题共20分,每题2分)一个C程序的执行是从— [A] 本程序的main函数开始,到main函数结束 [B] 本程序的第一个函数开始,到本程序的最后一个函数结束 [C] 本程序的main函数开始,到本程序的最后一个函数结束 [D] 本程序的第一个函数开始,到main函数结束⑵设有以下定义: int a=0; double b=1.25; char c='A'; #define d 2 那么下面语句中错误的选项是―⑵ [A] a++;[B] b++;[C] C++;[D] d++;设有以下定义和输入语句,要使x、y和z的值分别为10, 3.1和A,程序运行后,正确的输入 数据的方式是—⑶―。 int x;float y;char z; scanf("%d%f%c",&x,&y,&z); [A] 10 3. 1 A[B] 10,3.1,A [C] 10 3.1A(D] 103.1A判断int型变量x是否为IWxWIO0的偶数,可以用表达式—⑷—。 [A] IWxWlOO && x%2==0|B]x>=l &&xv=100&&x%2==0 [C] x>=l && x<=100 && x==2n[D] x>=l 11 x<=100 && x%2==0⑸ 设有以下定义intx=l,y=2;,执行赋值语句x=(x>y)?x+l:y+2;后x和y的值分别是—⑸. [A] 1 和 2[B] 2 和 4[C] 4 和 4[D] 4 和 2设有程序段 for(i=l;iv]();i++) {printf(”%d",i);i++;} 以下表达正确的选项是—(6) _一。 IA] for循环执行的输出是13579 [C] for循环体语句执行10次以下能正确进行数组定义的是—(7)—。 [A] int a(10); [CJ #define SIZE 1() int a[SIZE];(8) (8) 假设要建立如下图的存储结构,且己有定义fk)atp=3.14,*q;,那么正确的赋值语句是—(8) q p(9)以下语句执行后屏幕上将显示_(9)__。 char s 1 [ ]=HABCn,s2[ ]=,,XYZ,,;strcpy(s2,s 1 );s2[2]='\0';prin【f("%s,%s",s 1 ,s2); [A] ABC, ABC [B] XYZ, XYZ [C] ABC, AB[D] XYZ, XY(10)表达式2&3的结果值为(10) [A]lIB] 2 (10)表达式2&3的结果值为(10) [A]lIB] 2 [C]3 [D|5 (ID (12) 二、程序填空题(此题共30分,每题2分) 阅读以下程序说明和程序代码,在每题提供的假设干可选项中,挑选一个最正确的选项。 ⑴【程序说明】打印数字金字塔,运行结果如右图示。 【程序代码】 # include<stdio.h> B^GAOSCXexamXendXOS-Ax.fill int i,j; for(i=l;i<=5;i++)( for(j=5-i;— (11) printf(""); for(j=l; _(12) _;j++) (13) (13) 【选项】 [A] [A] [A] [C] J<=1 j<=2*i [B] j==l [B] j==2*i 1£ 2222=1 33333 4444444 555555555 Press any key to continue..- ±1I出 [C] j>=l [C] j<=2*i-l [B] printf(”%d”,i); [D] printfCT'); [D] j>l [D] j==2*i-l 【程序说明】计算1~99之间的素数和。prime函数用于判断任意一个数是否是素数,假设 是素数那么返回1,否那么返回0。其中数值1和2直接被认定为非索数。 【程序代码】 # include<stdio.h> # include<math.h> int m,i,s=0; int prime(int); for(m=l;m<=99; (14) )(if(—(15) s+=m; ) printf("s=%d,,,s); ) —(16) —{ int i,t=l; if(x==l| |x==2) — (17) for(i=2;i<=sqrt(x);i++)if (x%i==O){ t=0; break;) _ (18) _ } 【选项】 (14) [A] m++; [B] m=m+2; [C] m+2 [D] m+=2 (15) [A] prime(m)=l [B] prime(m) [C] !prime(m) [D] prime(x)!=0 (16) [A] int primc(int m) [B] int prime(int) [C] int prime(int x) [D] void prime(int x) (17) [A] t=0;break; [B] return t; [C] t=0;return t; [D] t=0; (18) [A] return t; [B] return; [C]; [D] return t (1) 【程序说明】任意输入•个少于80个字符的字符串,统计字符串中的阿拉伯数字的个 数。程序运行结果如右图所示。 回“G:\05C\exam\end\06-A ■■ 【程序代码】 There are 10 apples.▲ 阿拉伯数字有2个。 Press any key to continue.. \ M i出 # include<stdio.h> void main()( char str[80],*p; int s=0; —(19)— —(20)— _ (21) _(if(—(22)—) s++;_ (23) _ } printf(”阿拉伯数字有%d个。\n”,s); 【选项】(19) [A] gets(str); [C] scanf("%s'\&str); (20) [A] p=&str;[B] p=str; (21) [A] while(p==*\0') [C] while(p!=\0') (22) [A] *p>=48 && *p<=57 [C] *p>=0 && *p<=9 (23) [A] p++; [C] *p++; (24) [A] gets(str); [C] scanf("%s'\&str); (25) [A] p=&str;[B] p=str; (26) [A] while(p==*\0') [C] while(p!=\0') (27) [A] *p>=48 && *p<=57 [C] *p>=0 && *p<=9 (28) [A] p++; [C] *p++; [B] gets(&str); ID] scanf("%c”,&str[i]); [CJ *p=&str;ID] *p=str; [B] while(*p=='\0') [D] while(*p!='\0') [B]*p>=48 || *p<=57 [D]*p>=0 || *p<=9 田]P+1; [D] str++; (4)【程序说明】定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?程 序运行结果如以下图所示。注意闰年问题。(提示:能被4整除且不能被100整除或能被400 整除的年份是闰年) please input the date <> : 2006-6-1▲ | Today is the 152st day in 2006. Press any key to continue... 【程序代码】 #include<stdio.h>(24) int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31},i,days=0;printf("please input the date(yyyy-mm-dd):"); scanf("%d-%d-%d",&today.year,&today.month,&today.day);if(today.year%4==0 && today.year%100!=0 11 today.year%400==0) mon(l]=29;for(i=0;i<today.month-l;i++) days=days+mon[i];(25) printf("Today is the %dst day in %d.\n"zdays,today.year); 【选项】 (24) [A] struct date{ int year; int month; int day; I struct date today; [C] struct date{ int year; int month; int day; I; struct today; (25) [A] days=days+day; [C] days=days+today [B] struct {int year; int month;int day; } today;[DI struct date{ int year;int month; int day;} today [B] days=days+today.day;[D] today.day =days+today.day; 三、程序阅读题(此题共20分,每题2分) 阅读以下程序并回答以下问题,在每题提供的假设干可选答案中,挑选一个正确的答案。 (1) 【程序代码】 # include<stdio.h> void main()( int x=l,y=2,z; scanf("%d",&z); switch(z%2) {//®case l:z=x*y;break; default:z=x/y; } printf(”%d”,z); } 【选项】程序运行时,输入分别是1和2的情况下,输出的结果分别是__(26)__。 [A] 2 和 0[B] 2 和 0.5[C] 0 和 2[D] 0. 5 和 2如果将上述程序代码标示为①行中switch语句括号内的表达式改为z%2-0,那么程序运行 时,输入分别是1和2的情况下,输出的结果分别是_(27)__。 [A] 2 和 0[B] 2 和 0.5[C]()和 2[D] 0. 5 和 2 (2) 【程序代码】 # include<stdio.h> void main()( inta[5]={l,3,2,5,4},i,j,k,t; for(i=0;i<5;i++)(k=i; for(j=i+l;j<5;j++)if(a[i]<a[j])//② k=j;t=a[i];a[i]=a[k];a[k]=t; ) for(i=0;i<5;i++)printf("%d",a[i]); 【选项】 (28) 程序运行时输出的结果是—(28)—o [A] 12345[B] 54321[C] 13254如果将上述程序代码标示为②行的语句改为if(a[k]<a[j]), _(29)_ [A] 12345 [D] 45321那么程序运行时输出的结果是 [B] 54321[C] 13254[D] 45321 ⑶【程序代码】# include<stdio.h> void main()( int m=17,s=0;while(m>=l)( m/=2; s+=2; printf("m=%d,s=%d\n",m,s); ) } 【选项】 (30)(31) (32)程序运行时,while循环执行了—(30)—次。 [A] 0[B] 4程序运行时,第1行输出—(31)—o [A] m=17, s=0[B] m=8, s=2程序运行时,最后一行输出_(32)__。 [A] m=0, s=10[B] m=l,s=8[C] [C][C] [D]17m=8. 5, s=2 m=l, s=10(33) 如果将代码中while判断条件改为while(m!=0),那么while循环将[A]一次也不执行[B]无法停止 [C]执行4次[D] m=9, s=2 [D]护2, s=6_(33)—o H)]执行5次 ⑷【程序代码】# include<stdio.h> void fl(int x)( x=x+l; } void f2(int *y)( *y=*y+l; } void main()( int x; x=15; fl(x);printf("%o,%d\n",x,x); x=15; f2(&x); printf("%o,%d\n",x,x); } 【选项】(34)程序运行时,第1行输出—(34) [C] 17,15 [D] 20, 16 [A] 15,15[B] 16,16(35)程序运行时,第2行输出—(35) [A] 15J5[B] 16,16 (35)程序运行时,第2行输出—(35) [A] 15J5[B] 16,16 [C] 17,15 [D]20,16 四、程序设计题(此题共30分,每题10分) (1)编写程序,求解ax2+bx+c=O方程的根。(提示:求根公式为x= -b±^!b2 -4ac) 要求从键盘上输入系数a、b、c,根据以下几种情况分别进行求解: • a=0,输出“不是一元二次方程” • a/0且b2-4ac=0,求解并输出两个相等实根。 • aAO且b2-4ac>0,求解并输出两个不等实根。 • a尹0且b2-4ac<0,输出“没有实根”。 (2)编写程序,定义计算阶乘的函数intfact(intx),在main。函数中调用fact函数计算求和 20 1 式 s=y-o 笊! (3)编写一•个统计平均成绩的程序。文件“stu.txt”中记录了一批成绩数据。请输出所有成 绩和平均成绩。文件“stu.txt”中的数据和程序运行结果分别如以下图所示。 《C程序设计》试题11考试答案与评分标准 (一)、单项选择题(每题2分,总分值20分) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) A D C B D D C D C B (二)、程序填空题(此题共30分,每题2分) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) C C B A B C C D A B B (三)程序阅读题(此题共20分,每题2分) (26) (27) (28) (29) (30) (31) (32) (33) (.34) (35) A C D B C B A D C D (四)、程序设计题(此题共30分,每题10分) 1 ttinclude <stdio.h> #include <math.h> int main() { int a,b,c; double p; scanf("%d%d%d”,&a,&b,&c); p=b*b*-4*a*c; if(a==O)printfC不是一元二次方程\n“); else if(p<0)printf(”没有实根 \n”); else printf(”%lf%lf\n”,(-1.0*b+p)/2*a,(-1.0*b-p)/2*a); return 0; } 2 #include <stdio.h> int fact(int x) ( int s=x,i; for(i=2;i<x;i++)s*=i; return s; } int main() ( int i; double s=0.0; for(i=l;i<=20;i++)s+=l/fact(i); printf(”%lf\n”,s); return 0; } 3 ^include <stdio.h> int main() double sum=0,tmp; int c=0;FILE *p=fopen(,,stu.txt,,;,r"); while(!feof(p)) (fscanf(p,"%lf",&tmp); printf("%O.llf\n",tmp);C++; sum+=tmp; )printf("Average Score=%0.llf\n",sum/c); fclose(p); return 0;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服