版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学2013–2014学年冬季学期《程序设计基础及实验》课程期末考试试卷课程号:21186020,开课学院:计算机学院__考试试卷:√A卷、B卷(请在选定项上打√)考试形式:√闭、开卷(请在选定项上打√),允许带∕入场考试日期:2014年01月14日,考试时间:120分钟诚信考试,沉着应考,杜绝违纪.考生姓名:学号:所属院系:_(注意:答题内容必须写在答题卷上,写在本试题卷上无效)试题一、单选题(每小题2分,共20分)在C语言中,下列表达式的值最大的是_______.A.sizeof(‘a’)B.sizeof(97)C.sizeof(“aaaa”)D.sizeof(97.0)以下程序经过编译连接后的可执行文件名是How.exe,执行Howareyou!<回车>,输出结果是_______.intmain(intargc,char*argv[]){intlen=0;printf(“%c,”,*(*(argv+1)+1)+1);while(--argc>0)len+=strlen(argv[argc]));printf(“%d”,len);}A.s,5B.s,7C.w,5D.w,7假设a=2,b=‘2‘,s=“2“,下列逻辑表达式中值为1(真)的是_______.A.(s[1]>‘a‘)||~(a+b)B.(b>a)&&(s[2]=‘\0‘)C.!(s+1&&b-a)!a>b&&~(a>b)变量a=1,b=’1’,c=1.0,d=”1”,下列运算不能进行的是_______.A.b/a--B.~a|!bC.c^++aD.d+a-b设chara[]="0123456789abc";inti=0,j=10;执行下列哪一条语句所得到的结果和其他三项不同_______.A.for(;i<=j;i++,--j)a[i]=a[j];B.for(;i<=j;)a[i++]=a[j--];C.while(i++<=--j)a[i]=a[j];D.do{a[i]=a[j];}while(++i<--j);下面四个选项中,均非浮点数正确表示的选项是_______.A.160. 0.12 e3B.-.18 123e4 0.0C.-e3 .234 1e3D.123 2e4.2 .e5若有函数声明voidf(int*p);及inta[][3]={{1},{2},{3}},*c[3]={a[0],a[1],a[2]};则使得函数调用正确的是_______.A.f(a)B.f(c)C.f(*a)D.以上都不是已知职工记录描述如下,下列正确赋值方式是_______.structworker{intno;charname[20];charsex;structbirth{intday;intmonth;intyear;}a;}w,*p=&w;A.p->name=”li”;B.p->a.year=2000;C.w.day=25;D.w.birth.month=10;以下程序段的输出结果是_______.chars1[20]="China",s2[20]="for";if(strcmp(s1,s2))printf("%s\n",strcat(s2,s1));elseprintf("%d\n",strlen(s1));A.3B.5C.ChinaforD.forChina假设a=5,b=1,在执行t=a-b?(b-a?a<<2|b:b<<2|a):a>>b|2之后,t的值为_______.A.21B.11C.6D.1试题二、填空题(每小题2分,共30分)若整型变量x=2,则表达式1<x<<x<4的值为__________.已知unsignedshortm=65539;则执行语句printf("%d",m);后的输出结果是__________.以下程序的输出是__________.#include<stdio.h>#defineF"first%s"#defineD"string"voidmain(){charstring[]="character";printf(F,D);}假设a是一个float变量,语句:printf(____________);可将a按照保留两位小数的百分率形式输出,例如a=0.32049就应输出32.05%(注意需有百分号).运行以下代码段,则输出结果中有__________个“#”.staticinta[10]={1*10},i=0;while(a[i++])printf("#");下列程序段的输出是__________.intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;case4:c+=2;}printf("%d\n",c);根据下面的定义,PRINT1(FUDGE(6)*3)的输出结果是_______.#defineFUDGE(y) 1.57+y#definePR(a) printf(“%d”,(int)(a))#definePRINT1(a) PR(a);putchar(‘\n’)下列程序段的输出是__________.intn=2,k=0;while(k++&&++n>2);printf("%d%d\n",k,n);调用函数calc(2,8)的返回值是__________.intcalc(intx,inty){if(!y)return1;if(y&1)returnx*calc(x*x,y>>1);elsereturncalc(x*x,y>>1);}假设已有结构类型定义:structpoint{inta,intb};请用typedef把具有5个上述结构类型元素的数组类型重新命名为RECT,具体形式为:__________.若有以下的定义和语句,则程序段运行的结果是__________.structwc{inta;int*b;}*p;intx0[]={11,12},x1[]={31,32};structwcx[2]={100,x0,300,x1};p=x;printf("%d",*++(++p)->b);以下程序段运行的结果是__________.inti,j,sum;for(i=11;i>=1;i-=3){for(j=1;j<=i;j+=2);sum+=i*j,sum=i+j;}printf("%d\n",sum);对于以下代码段,若输入“12e-0x34.56”(不含引号),则输出结果是___________.floatf;charc;intd;scanf("%f%c%d",&f,&c,&d);printf("%.2f%c%d",f,c,d);下列程序段的输出结果是__________.chars[]="xyz",*ps=s;while(*ps++);ps--;for(ps--;ps-s>=0;ps--)printf("%s#",ps);假设所有变量均为整型,则表达式(x=3,y=4,x++,y+=y-=x*=y)的值是__________.试题三、程序阅读题(每小题5分,共30分)下列程序的输出是_______.#include<stdio.h>intt=2;intfun(intv,int*u){staticintt=1;t+=2**u-v;returnt;}voidmain(){intu=4,v=3;t+=fun(u,&v);printf("%d",fun(t,&u));}如果输入为:AAA22Bb#44dD,那么下面程序的运行结果是.#include<stdio.h>voidmain(){ chars[32],oldc='\0',cc; intn=0; while((cc=getchar())!='\n'){ if(cc==oldc)continue; elseif(cc=='#') break; elseif(cc>='a'&&cc<='z'||cc>='A'&&cc<='Z') s[n++]=oldc=cc; } s[n]='\0'; printf("%s\n",s);}下面程序的运行结果是.#include<stdio.h>voiddown(unsignedn);voidup(unsignedn);voiddown(unsignedn){ if(n<=2)printf("下");else{ down(n-2); printf("下"); up(n-2); down(n-1); }}voidup(unsignedn){ if(n<=2) printf("上"); else{ up(n-1);down(n-2); printf("上"); up(n-2); }}voidmain(){down(4);}运行以下程序后,将输出________.#include<stdio.h>structnode{charc;structnode*next;};structnode*build(char*s,int*a){structnode*phead=NULL,*pb=NULL,*p;inti=0;while(s[i]!='\0'){p=(structnode*)malloc(sizeof(structnode));p->next=NULL;(*p).c=*(s+*(a+i));if(phead==NULL)phead=p;elsepb->next=p;pb=p;i++;}p->next=phead;returnp;}main(){chars[]="CHARLIE";inta[7]={1,3,5,0,2,4,6},i;structnode*phead;phead=build(s,a);for(i=0;i<5;i++){putchar(phead->c);phead=phead->next;}}下列程序的输出是_______.#include<stdio.h>structinfo{ charletter; intfreq;};intaddOneChar(charc,structinfotable[],intn){ inti; if(!(c>='a'&&c<='z'))return0; for(i=0;i<n;i++) if(table[i].letter==c){ table[i].freq++; return0; } table[n].letter=c; table[n].freq=1; return1;}voidmain(){ chars[]="Science"; structinfot[26]; intn=0,i; for(i=0;s[i]!='\0';i++) if(addOneChar(s[i],t,n))n++; for(i=0;i<n;i++) printf("%c=%d",t[i].letter,t[i].freq);}假定文本文件abc.txt中包含以下4行内容:1 2 3 45 6 7 89 10 11 1213 14 15 16则运行下列程序后,将输出________。#include<stdio.h>#include<math.h>voidconvert(int*p[],intk){inti,j,t;for(i=0;i<k/2;i++){for(j=0;j<k;j++){t=p[i][j];p[i][j]=p[k-1-i][j];p[k-1-i][j]=t;}}}main(){FILE*fp;intx,i,j,k,n=0,*p,**pp;fp=fopen("abc.txt","r");while(!feof(fp)){fscanf(fp,"%d",&x);n++;}fclose(fp);fp=fopen("abc.txt","r");k=sqrt(n);pp=(int**)malloc(k*sizeof(int*));for(i=0;i<k;i++){pp[i]=(int*)malloc(k*sizeof(int));for(j=0;j<k;j++)fscanf(fp,"%d",pp[i]+j);}fclose(fp);convert(pp,k);for(i=0;i<k;i++)printf("#%d",*(*(pp+i)+i));}试题四、程序填空题(每空2分,共20分)下面程序读入一个无符号整数,然后调用函数convert将其表示为十六进制,并输出。#include<stdio.h>voidconvert(unsignedintvalue,char*s){ statictable[]="(1)"; chartemp,*tail=(2); do{ *tail++=table[value%16]; (3); }while(value); *tail--='\0'; /*颠倒字符串s的顺序*/ while(s<tail){ temp=*s; *s++=*tail; (4); }}voidmain(){ charstr[32]; unsignedintn; printf("输入一个正整数:"); scanf("%u",&n); (5); printf("%d的十六进制为:%s\n",n,str);}以下程序先读取文件input.txt中的字符串,然后对字符串进行排序,再把已排序的字符串中重复的字符删除,最后输出结果。例如,文件input.txt中保存的字符串为"abracadabra",则程序输出"abcdr"。其中函数sort()使用冒泡法从小到大排序,函数delete()删除已排序的字符串中重复的字符。#include<stdio.h>#include<stdlib.h>#include<string.h>voidxchg(charp[]){chart;t=p[0];p[0]=p[
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB51T 1471-2012 口蹄疫免疫副反应判定及处置规范
- DB51T 1024-2010 马铃薯抗晚疫病性室内鉴定技术规程
- 滤筒投资规划项目建议书
- 剑麻系列面料生产加工项目可行性研究报告
- 年产xxx水澄剂项目可行性研究报告
- 滤布项目立项申请报告
- 2024-2030年气动三通内螺纹球阀搬迁改造项目可行性研究报告
- 2024-2030年新版中国燃气用具脱排项目可行性研究报告
- 2024-2030年撰写:中国波纹立筒仓行业发展趋势及竞争调研分析报告
- 2024-2030年撰写:中国双辊清弹机项目风险评估报告
- 药为什么这样用?智慧树知到期末考试答案章节答案2024年江西中医药大学
- 全员营销方案实施细则
- 19S406建筑排水管道安装-塑料管道
- 八年级下册道德与法治期末复习-测试卷含答案
- 注塑车间工艺流程
- 八年级上语文课本同步规范汉字字帖
- 《机械制图》期末考试题库388题(含答案)
- 车间生产中的问题分析与解决方案
- 消化性溃疡.课件
- 2024年北京中考记叙文阅读专题03 小说阅读(含答案解析)
- 人力资源部副经理个人述职报告
评论
0/150
提交评论