版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《AE抠像技术》课件
- 2024年度矿井废弃物处理与生态恢复合同
- 电气专项:企业用电安全管理
- 2024年国际马拉松赛道草坪种植合同
- 2024年度单位与物业公司安保服务合同:确保单位财产安全的合作协议
- 2024年度苗木运输及保险服务合同
- 《食品添加剂的毒性》课件
- 2024年度园林景观电照施工合同2篇
- 2024年度股权投资合同:企业投资与股权转让协议
- 2024中国移动湖北公司春季校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 物理化学基本原理
- (完整)中医症候积分量表
- 小学科学教师基本功大赛试题汇总
- 武汉理工大学土力学与基础工程(新)考试答案
- 二次函数的应用(最值问题)说课稿
- 设计行业设计安全培训
- 《脑血管疾病的护理》课件
- 科技畅想未来主题班会 课件
- 储气罐保养记录表
- 计算思维与程序设计
- 境外安全管理培训(海外)课件
评论
0/150
提交评论