浙江理工大学 C程序设计试卷11_第1页
浙江理工大学 C程序设计试卷11_第2页
浙江理工大学 C程序设计试卷11_第3页
浙江理工大学 C程序设计试卷11_第4页
浙江理工大学 C程序设计试卷11_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江理工大学C程序设计试题(十一)[注意]所有答案写在单张的答题卷上,考试结束递交答卷,试卷不必递交。单选题(本题共20分,每小题2分)(1)一个C程序的执行是从___(1)___。[A]本程序的main函数开始,到main函数结束 [B]本程序的第一个函数开始,到本程序的最后一个函数结束[C]本程序的main函数开始,到本程序的最后一个函数结束[D]本程序的第一个函数开始,到main函数结束(2)设有以下定义:inta=0;doubleb=1.25;charc='A';#defined2则下面语句中错误的是___(2)___。[A]a++; [B]b++; [C]c++; [D]d++;(3)设有以下定义和输入语句,要使x、y和z的值分别为10,3.1和A,程序运行后,正确的输入数据的方式是___(3)___。intx;floaty;charz;scanf("%d%f%c",&x,&y,&z);[A]103.1A [B]10,3.1,A[C]103.1A [D]103.(4)判断int型变量x是否为1≤x≤100的偶数,可以用表达式___(4)___。[A]1≤x≤100&&x%2==0 [B]x>=1&&x<=100&&x%2==0[C]x>=1&&x<=100&&x==2n [D]x>=1||x<=100&&x%2==0(5)设有以下定义intx=1,y=2;,执行赋值语句x=(x>y)?x+1:y+2;后x和y的值分别是___(5)___。[A]1和2 [B]2和4 [C]4和4 [D]4和2(6)设有程序段for(i=1;i<10;i++){printf("%d",i);i++;}以下叙述正确的是___(6)___。[A]for循环执行的输出是13579 [B]for循环执行的输出是123456789[C]for循环体语句执行10次 [D]for循环体语句执行9次(7)以下能正确进行数组定义的是___(7)___。[A]inta(10); [B]intn=10,a[n]; [C]#defineSIZE10[D]inta[10]=0;inta[SIZE]; (8)pq若要建立如图所示的存储结构,且已有定义floatp=3.14,*q;,则正确的赋值语句是___(8)___。pq3.143.14[A]*q=p; [B]*q=&p; [C]q=p [D]q=&p(9)以下语句执行后屏幕上将显示___(9)___。chars1[]="ABC",s2[]="XYZ";strcpy(s2,s1);s2[2]='\0';printf("%s,%s",s1,s2);[A]ABC,ABC [B]XYZ,XYZ [C]ABC,AB [D]XYZ,XY(10)表达式2&3的结果值为___(10)___。[A]1 [B]2[C]3 [D]5程序填空题(本题共30分,每小题2分)阅读下列程序说明和程序代码,在每小题提供的若干可选项中,挑选一个最佳的选项。(1)【程序说明】打印数字金字塔,运行结果如右图示。【程序代码】#include<stdio.h>voidmain(){inti,j;for(i=1;i<=5;i++){for(j=5-i;___(11)___;j--)printf("");for(j=1;___(12)___;j++)___(13)___printf("\n");}}【选项】(11)[A]j<=1 [B]j==1[C]j>=1 [D]j>1(12)[A]j<=2*i [B]j==2*i[C]j<=2*i-1 [D]j==2*i-1(13)[A]printf("%d",j); [B]printf("%d",i); [C]printf("*"); [D]printf("i");(2)【程序说明】计算1~99之间的素数和。prime函数用于判断任意一个数是否是素数,若是素数则返回1,否则返回0。其中数值1和2直接被认定为非素数。【程序代码】#include<stdio.h>#include<math.h>voidmain(){intm,i,s=0;intprime(int);for(m=1;m<=99;___(14)___){if(___(15)___)s+=m;}printf("s=%d",s);}___(16)___{inti,t=1;if(x==1||x==2)___(17)___for(i=2;i<=sqrt(x);i++)if(x%i==0){t=0;break;}___(18)___}【选项】(14)[A]m++; [B]m=m+2;[C]m+2 [D]m+=2(15)[A]prime(m)=1 [B]prime(m)[C]!prime(m) [D]prime(x)!=0(16)[A]intprime(intm) [B]intprime(int) [C]intprime(intx) [D]voidprime(intx)(17)[A]t=0;break; [B]returnt; [C]t=0;returnt; [D]t=0;(18)[A]returnt; [B]return; [C]; [D]returnt(3)【程序说明】任意输入一个少于80个字符的字符串,统计字符串中的阿拉伯数字的个数。程序运行结果如右图所示。【程序代码】#include<stdio.h>voidmain(){charstr[80],*p;ints=0;___(19)______(20)______(21)___{if(___(22)___)s++;___(23)___}printf("阿拉伯数字有%d个。\n",s);}【选项】(19)[A]gets(str); [B]gets(&str);[C]scanf("%s",&str); [D]scanf("%c",&str[i]);(20)[A]p=&str;[B]p=str;[C]*p=&str; [D]*p=str;(21)[A]while(p=='\0') [B]while(*p=='\0')[C]while(p!='\0') [D]while(*p!='\0')(22)[A]*p>=48&&*p<=57 [B]*p>=48||*p<=57 [C]*p>=0&&*p<=9 [D]*p>=0||*p<=9(23)[A]p++; [B]p+1;[C]*p++; [D]str++;(4)【程序说明】定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?程序运行结果如下图所示。注意闰年问题。(提示:能被4整除且不能被100整除或能被400整除的年份是闰年)【程序代码】#include<stdio.h>voidmain(){___(24)___intmon[12]={31,28,31,30,31,30,31,31,30,31,30,31},i,days=0;printf("pleaseinputthedate(yyyy-mm-dd):");scanf("%d-%d-%d",&today.year,&today.month,&today.day);if(today.year%4==0&&today.year%100!=0||today.year%400==0)mon[1]=29;for(i=0;i<today.month-1;i++)days=days+mon[i];___(25)___printf("Todayisthe%dstdayin%d.\n",days,today.year);}【选项】(24)[A]structdate{[B]struct{intyear;intyear;intmonth;intmonth;intday;intday;}}today;structdatetoday; [C]structdate{[D]structdate{intyear;intyear;intmonth;intmonth;intday;intday;};}todaystructtoday; (25)[A]days=days+day; [B]days=days+today.day;[C]days=days+today [D]today.day=days+today.day;程序阅读题(本题共20分,每小题2分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案。(1)【程序代码】#include<stdio.h>voidmain(){intx=1,y=2,z;scanf("%d",&z);switch(z%2){//------①-------case1:z=x*y;break;default:z=x/y;}printf("%d",z);}【选项】(26)程序运行时,输入分别是1和2的情况下,输出的结果分别是___(26)___。[A]2和0 [B]2和0.5 [C]0和2 [D]0.5和2(27)如果将上述程序代码标示为①行中switch语句括号内的表达式改为z%2==0,那么程序运行时,输入分别是1和2的情况下,输出的结果分别是___(27)___。[A]2和0 [B]2和0.5 [C]0和2 [D]0.5和2(2)【程序代码】#include<stdio.h>voidmain(){inta[5]={1,3,2,5,4},i,j,k,t;for(i=0;i<5;i++){k=i;for(j=i+1;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)___。[A]12345 [B]54321 [C]13254 [D]45321(29)如果将上述程序代码标示为②行的语句改为if(a[k]<a[j]),那么程序运行时输出的结果是___(29)___。[A]12345 [B]54321 [C]13254 [D]45321(3)【程序代码】#include<stdio.h>voidmain(){intm=17,s=0;while(m>=1){m/=2;s+=2;printf("m=%d,s=%d\n",m,s);}}【选项】(30)程序运行时,while循环执行了___(30)___次。[A]0 [B]4 [C]5 [D]17(31)程序运行时,第1行输出___(31)___。[A]m=17,s=0 [B]m=8,s=2 [C]m=8.5,s=2 [D]m=9,s=2(32)程序运行时,最后一行输出___(32)___。[A]m=0,s=10 [B]m=1,s=8 [C]m=1,s=10 [D]m=2,s=6(33)如果将代码中while判断条件改为while(m!=0),那么while循环将___(33)___。[A]一次也不执行 [B]无法停止 [C]执行4次 [D]执行5次(4)【程序代码】#include<st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论