052年浙江省计算机等级考二级C语言.docx
- 文档编号:23748945
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:14
- 大小:22.62KB
052年浙江省计算机等级考二级C语言.docx
《052年浙江省计算机等级考二级C语言.docx》由会员分享,可在线阅读,更多相关《052年浙江省计算机等级考二级C语言.docx(14页珍藏版)》请在冰豆网上搜索。
052年浙江省计算机等级考二级C语言
2005年秋浙江省高等学校
计算机等级考试试卷(二级C)
说明:
考生应将试题一至试题四的答案涂在答题卡上,将试题五的答案填写在答卷上,否则作无效处理;
请将你的准考证号的后四位填写在答卷右下角的指定位置内;
考试时间为120分钟。
试题一、判断题(每题1分,共10分)
说明:
在以下提供的若干个陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。
(1)不同类型的变量在内存中占用存储空间的大小都是一样的。
(2)程序调试就是找出并改正C源程序中的语法错误。
(3)表示数学式3 (4)程序设计语言必须具备数据表达和流程控制的功能。 (5)结构化程序语言的三种基本控制结构是顺序、选择和循环。 (6)‘\n’不是一个字符常量。 (7)表达式(1.23<<2)符合C语言语法。 (8)与float型数据相比,double型数据的精度高,取值范围大。 (9)在C语言中,表达式(010+2)的值是10。 (10)do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。 试题二、单选题(每题2分,共20分) (11)若x是double型变量,n是int型变量,执行(11),并输入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); (12)若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式 是(12)。 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) (13)while((13))等价于while(x)。 A、x==0B、x! =0 C、x==1D、x! =1 (14)下列程序段的输出结果是(14)。 intcount=0,x,y,z; for(x=1;x<=2;x++) for(y=1;y<=3;y++) for(z=1;z<=4;z++) count++; printf("%d",count); A、10B、9 C、24D、0 (15)若变量已经被正确定义,则语句(15)是不正确的。 A、p=&(x+1);B、p=&x; C、p=&x+1;D、p=&x,p++; (16)设变量定义如下,则表达式(16)是正确的。 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] (17)对于以下递归函数f,调用函数f(4),其返回值是(17)。 intf(intn) { if(n>2)returnf(n-1)+n; elsereturnn; } A、9B、10C、2D、4 (18)不正确的赋值或赋初值的方式是(18)。 A、char*p="hello";B、chars[10]="hello"; C、chars[10];s="hello";D、chars[5]={'h','e','l','l','o'}; (19)若定义FILE*fp;则文件指针fp指向(19)。 A、文件在磁盘上的读写位置B、文件在缓冲区上的读写位置 C、整个磁盘文件D、文件类型结构体 (20)设变量定义如下,则表达式*p->str++等价于(20)。 struct{ intlen; char*str; }*p; A、*p++->strB、(*p->str)++ C、*p->(str++)D、*(p->str)++ 试题三、程序填空题(每空2分,共20分) 说明: 阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序1 【程序说明】 求2/1+3/2+5/3+8/5+…的前10项之和。 (该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子) 【程序】 #include voidmain() { inti,a=1,b=1,t; (21); for(i=1;i<=10;i++){ t=a; (22); b=t; y=(23); } printf("%f\n",y); } (21)A、inty=0B、inty C、doubley=0D、doubley (22)A、a=bB、b=a+b C、a=a+bD、b=a (23)A、y+1.0*a/bB、y+a/b C、a/bD、1.0*a/b 程序2 【程序说明】 读入一批正整数(以零或负数为结束标志),输出其中的素数。 函数prime(m)用于判断m是否为素数。 素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 【程序】 #include"stdio.h" #include"math.h" voidmain() {intx; intprime(intm); scanf("%d",&x); while((24)){ if(prime(x))printf("%d\n",x); scanf("%d",&x); } } intprime(intm) {intk,n,res; if(m==1)return0; res=1; n=(int)sqrt(m); for(k=2;k<=n;k++) if(m%k==0){ (25); break; } return(26); } (24)A、x<0B、x>=0C、x<=0D、x>0 (25)A、res=1B、res=0C、res=-1D、res=2 (26)A、1B、resC、0D、-1 程序3 【程序说明】 输入1000个整数,用选择法将它们从小到大排序后输出。 【程序】 #include voidsort(inta[],intn); voidmain() {inti,a[1000]; for(i=0;i<1000;i++) scanf("%d",&a[i]); (27); for(i=0;i<1000;i++) printf("%d",a[i]); printf("\n"); } voidsort((28)) {inti,index,k,t; for(k=0;k index=(29); for(i=k+1;i if((30))index=i; t=a[index];a[index]=a[k];a[k]=t; } } (27)A、sort(a[],1000)B、sort(a,1000)C、sort(a)D、sort(a[1000]) (28)A、inta,intnB、inta[]C、int*a,int*nD、int*a,intn (29)A、kB、0C、nD、i (30)A、a[i]≤a[index]B、a[i]≥a[index]C、a[i]a[index] 试题四、程序阅读题(每空2分,共20分) 说明: 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 程序1 #include"stdio.h" voidmain() {intj,k,n=3,temp,sum=0; inta[6][6]; for(k=0;k for(j=0;j a[k][j]=k*n+j; for(k=0;k sum=sum+a[k][k]; printf("%d\n",sum); for(k=0;k sum=sum+a[k][n-k-1]; printf("%d\n",sum); } (31)程序运行时,第1行输出(31)。 A、15B、12C、3D、0 (32)程序运行时,第2行输出(32)。 A、30B、24C、15D、12 程序2 #include voidmain() {charch; while((ch=getchar())! ='\n'){ if(ch>='A'&&ch<='Z')ch='a'+'Z'-ch; putchar(ch); } } (33)程序运行时,输入ABC,输出(33)。 A、abcB、zyxC、ZYXD、ABC (34)程序运行时,输入xyz,输出(34)。 A、XYZB、ABCC、cbaD、xyz (35)程序运行时,输入a+Z,输出(35)。 A、a+aB、z+zC、Z+aD、a+A 程序3 #include intf(intnumber,intdigit) {intcount=0; while(number! =0){ if(number%10==digit)count++; number=number/10; } returncount; } voidmain(){ printf("count=%d\n",f(10090,0)); printf("count=%d\n",f(10090,9)); } (36)程序运行时,第1行输出(36)。 A、count=0B、count=1C、count=3D、count=5 (37)程序运行时,第2行输出(37)。 A、count=3B、count=9C、count=1D、count=5 程序4 #include voidmain() {intchoice,i; floatprice; for(i=1;i<=5;i++){ scanf("%d",&choice); if(choice==-1)break; switch(choice){ case1: price=2.5;break; case2: price=1.5;break; case3: price=4.5;break; case4: price=3.5;break; default: price=0.0;break; } printf("%0.1f\n",price); } printf("Thanks\n"); } (38)程序运行时,输入37-1,第1行输出(38)。 A、0.0B、3.0C、4.5D、Thanks (39)程序运行时,输入37-1,第2行输出(39)。 A、0.0B、3.0C、7.0D、Thanks (40)程序运行时,输入37-1,第3行输出(40)。 A、-1.0B、0.0C、7.0D、Thanks 试题五、程序设计题(每题10分,共30分) 1、输入一个职工的月薪salary,计算并输出应交的个人所得税tax=rate*(salary-850)。 其中rate的计算方式如下: 当salary≤850时,rate=0; 当850<salary≤1350时,rate=5%; 当1350<salary≤2850时,rate=10%; 当2850<salary≤5850时,rate=15%; 当5850<salary时,rate=20%。 2、输出一张平方根表(如下表所示),x的取值范围是[5,1000],请调用库函数sqrt()计算平方根。 x sqrt(x) 5 2.24 6 2.45 … … 999 31.61 1000 31.62 3、输入一个字符串(少于80个字符),再输入一个字符,统计并输出该字符在字符串中出现的次数。 五(3): 准考证号后四位 试题一、判断题(每题1分,共10分) 题号 A B C D 题号 A B C D (1) - (6) - (2) - (7) - (3) - (8) - (4) - (9) - (5) - (10) - 试题二单选题(每题2分,共20分) 题号 A B C D 题号 A B C D (11) - (16) - (12) - (17) - (13) - (18) - (14) - (19) - (15) - (20) - 试题三、程序填空题(每空2分,共20分) 题号 A B C D 题号 A B C D (21) - (26) - (22) - (27) - (23) - (28) - (24) - (29) - (25) - (30) - 试题四、程序阅读题每空2分,共20分) 题号 A B C D 题号 A B C D (31) - (36) - (32) - (37) - (33) - (38) - (34) - (39) - (35) - (40) - 试题五、程序设计题(每题10分,共30分) 1、 #include voidmain() {doublerate,salary,tax; scanf("%lf",&salary); if(salary<=850)rate=0; elseif(salary<=1350)rate=0.05; elseif(salary<=2850)rate=0.10; elseif(salary<=5850)rate=0.15; elserate=0.20; tax=rate*(salary-850); printf("tax=%0.2f\n",tax); } 2、 #include #include voidmain() {intx; printf("xsqrt(x)\n"); for(x=5;x<=1000;x++) printf("%d%f\n",x,sqrt(x)); } 3、 #include voidmain() {charstr[80],ch; intcount=0,i=0; gets(str); ch=getchar(); for(i=0;str[i]! ='\0';i++) if(str[i]==ch)count++; printf("count=%d\n",count); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 052 浙江省 计算机 等级 二级 语言