2008c试卷及答案程序设计基础与实验课程期末考试_第1页
2008c试卷及答案程序设计基础与实验课程期末考试_第2页
2008c试卷及答案程序设计基础与实验课程期末考试_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

浙江大学2007–2008学年夏季C开课学院:计算机学院,考试形式:闭卷,允许带/入场考试时间:2008年6月26日上午10:30-12:30,所需时间:120分钟 考生 学号 专业 注意:答题内容必须写在答题卷上,写在本试题卷上无效一、单选题(1分,共10分int类型并已赋值,请问其中哪个x=y=m=n=(-表达式'A'+'B'unsignedchara=0;intb=1;do{a--}变量b的值等于多少A. B. C. D.如果一个函数的返回值类型为void,则以下哪个说法是正确的该函数中不可以用return语该函数中可以用return语句,但必须是最后一个语该函数中可以用return语句,但return后面不能跟任何表达chara[]="ABC\\XYZ\007\xFF";intn;n=变量n的值等于多少A. B. C. D.用scanf()输入一个double类型的变量的值,则输入格式要"%f"或float*p和q的类型均为(floatp的类型为(float*),q的类型为p的类型为float,q的类型为(floatchara='0';printf("%X",a);A. B. C. D.structstcharname[10];intscore;}a[3],p-(*p)-intn=strcmp("ABC",则以下关于n值的描述哪一个是正确的二、填空题(2分,共20分执行以下代码后,将输 #defineFORwhile(x--);intx=3,y=0;{}printf("x=%d,y=%d",x,执行以下代码后,将输 inta=2,b=5,c|=(~a&&b)^!(a&printf("c=%d",执行以下代码后,变量d的值 inta=-10,b=0,c=20,d=a>b?-3.14:b>c?2.68:执行以下代码后,变量x的值 inta=3,b=4,c=3,x;x=a!=(b=c);执行以下代码后,将输 charinta[]={5,1,2,3,4,0,2,4,5},i=0,{putchar(t[go=a[i++]]}若定义unsignedlonginta;且变量a已赋值,试写出判断a的二进制最即最左边那位与1相等的表达式(要求不调用任何函数) 执行以下代码后,将输 longinta[5]={10,20,30,40,longint*p=a+1;longint*q=&a[3];printf("q-p=%d",q-p);执行以下代码后,变量max的值 intx=3,y=2,z=1,max;if(x>=y&&x>=z)max=x;if(y>=x&&y>=z)max=y;max=执行以下代码后,将输 chara[][5]={"ABCD","1234",printf("%s,%c",*a+1,若定义函数时省略该函数的返回值类型,则它的实际返回值类型 三、程序阅读题(5分,共30分以下程序的输出结果 #include<stdio.h>#include<string.h>typedefchar(*AP)[5];APdefy(char*p){intfor(i=0;i<3;i++)p[strlen(p)]='A';return(AP)p+}void{charputs(defy(a)[1]+2}以下程序的输出结果 #include<stdio.h>voidmain(){inti,j,sum=0;for(i=1;i<=3;i++){for(j=1;j<=6;j++){sum+=j;if(sum>=6)}sum+=}printf("sum=%d",}以下程序的输出结果 #include<stdio.h>intg=96;void{}int{intg=10;return}int*{staticintg=20;return}void{inta,b,c,*p;gf();gf();b=df();p=sf();*p=32765;p=sf();c=*p;printf("a=%d,b=%d,c=%d",a,b,c);}3+4*5-则程序的输出结果 #include<stdio.h>intcalc(void){intx;charscanf("%d%c",&x,&p);if(p=='=')returnx;{case'+':returnx+calc();case'-':returnx-calc();case'*':returnx*calc();case'/':returnx/}}void{printf("%d",}以下程序的输出结果 注意:注意:本题输出结果中的空格请 标出,一个空格用一 代替#include<stdio.h>#defineN4void{staticinta[N+1][N+1]={1};inti,j;for(i=1;i<=N;i++)for(j=1;j<=i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<=N;i++){intspace=N-i;putchar('/*输出空格*/for(j=1;j<=i;j++)printf("%-2d",a[i][j]);/*左对齐输出*/ /*左数字右空格*/}}以下程序的输出结果 #include<stdio.h>#defineN5void{staticinta[N][N],i,intleft=0,right=N-1,up=0,down=N-1;intx=1,row=right,col=down,d=1,done;{done=0;{{case1:col--if(col<left){col=left;d=2;continue;}else{done=1;break;}case2:row--if(row<up){row=up;d=3;continue;}else{done=1;break;}case3:if(col>right){col=right;d=4;continue;}else{done=1;break;}case4:row++;if(row==down){down--;left++;up++;right--;row=down;d=1;continue;}else{done=1;}/*endofswitch}}/*endofwhile(x<=N*N)for(i=0;i<N;{for(j=0;j<N;j++)printf("%-3d",a[i][j]);}}四、程序填空题(2分,共40分输入n(2≤n≤5,程序不需要对此范围进行判断),再输入n到数组a中,通过循环查找n个数中是否有重复的数,如果有则输出Yes,否则输出No1次(a[0]与a[1]比较后接下去又对a[1]与a[0]比较是不符合要求的),并且要求一旦找到有数重复则立即结束循环。#include<stdio.h>voidmain(){inta[5],i,j,scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<=n-2;i++){ ;j<=n-1;{if(a[i]==(2)} } }成十六进制字符串并返回所得十六进制数的位数。main()输入长整数x,调用hex()对它进行转化(转化结果存放在字符数组a中),最后输出结果。例13,则返回n=1输出D100,则返回n=264;输入65535,则返回n=4输出FFFF。#include<stdio.h>voidmain(){chara[9];intn;unsignedlongintx;scanf("%lu",&x);{{n=hex(x, }int {char intn;{a[0]=t[x];return1;}n=hex(x/16,a);a[n] }设文件file1.txt中以如下文本格式存放一批学生的及成绩TomJerry与成绩之间用至少一个空格分隔并且每个学生的中不含空格。现通过编程file1.txt中的资料,找出其中成绩最高的那位学生(假定最高分唯一),并把该生的资料写入file2.txt中。#include<stdio.h>#include<string.h>typedefstructstudent{charname[10];intscore;}void{FILE*fp1;FILE*fp2;STa,fp1=fopen("file1.txt",fp2=fopen("file2.txt","w"); {puts("Cannotopenfile!");}max.score=- { if(a.score> max.score=}}fprintf(fp2,"%s%d\n",,max.score);}rotate()函数的功能是把字符串s循环右移t次,所谓循环右移是指各1个位置,原先最右边的字符移出后填到最左边的空位上。例如字符串"ABC123"1次就变成"3ABC12",字符串"ABCXYZ"右移2次就变成"YZABCX"。函数main()输入一行字符存放到字符数组a中,调用rotate()3次,最后用puts()输出结果。#include<stdio.h>#include<string.h>voidrotate(char*s,int{inti,j,n;charc; for(i=0;i<t;{c=s[n- s[j]=s[j-1]; }}void{chara[81]; }输入一个英文句子保存到字符数组a中(句子中各个单词用一个或多个空格分隔,第一个单词前面可以有空格,最后一个单词后面也可以有空格),到

温馨提示

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

评论

0/150

提交评论