浙江大学“程序设计基础-C”试题卷_第1页
浙江大学“程序设计基础-C”试题卷_第2页
浙江大学“程序设计基础-C”试题卷_第3页
浙江大学“程序设计基础-C”试题卷_第4页
浙江大学“程序设计基础-C”试题卷_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、浙江大学“程序设计基础-C”试题卷2001-2002学年秋季学期考试时间: 2002年1月20日上午8:30-10:30注意:答题内容必须写在答题卷上,写在本试题卷上无效一单项选择题(每题2分,共30分)1. C语言源程序文件经过编译连接之后生成一个后缀为_C_的文件。A”.c”B“.obj”C“.exe”D“.bas”2. 以下选项中不正确的整型常量是_C_。A 12L B -10 C 1,900 D 123U 3. 表达式_C_的值是0。A3%5B3/5.0C3/5D3<54. 表达式 !(x>0|y>0) 等价于_D_。A!x>0|!y>0B!(x>0

2、)|!(y>0)C!x>0&&!y>0D!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式_D_不符合C语言语法。A4&&3B+aCa=b=5Dint(3.14)6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,_B_是正确的输入。A203040 B20 30 40C20, 30 40D20, 30,407. 执行语句 printf(" _D_", 2); 将得到出错信息。A%dB%oC%xD%f

3、8. 设变量定义为 char s ="hellonworldn",则数组s中有_B_个元素。A12B13C14D159. 若x是整型变量,表达式 (x=10.0/4.0) 的值是_D_ 。A2.5B2.0C3D210. 若变量已正确定义并赋值,表达式 -k+ 等价于_A_。A-(k+)B(-k)+C-(k+1) D-(+k)11. 在C 语言程序中,在函数内部定义的变量称为_C_。A全局变量B外部变量C局部变量D内部变量12. 设变量定义为 int a2=1,3, *p=&a0+1;,则*p的值是_B_。A2B3C4D&a0+113. 对于以下的变量定义,表

4、达式_A_是正确的。struct node char s10;int k; p4;Ap->k=2Bp0.s=“abc”Cp0->k=2Dp->s=a14. 下列运算符中,优先级从高到低依次排列为_A_。A!,&&,|B|,&&,!C&&,|,!D&&,!,|15. 下列程序段的输出结果是_B_。 int *p, *q, k = 1, j=10 ; p=&j; q = &k ; p = q ; (*p)+;printf("%d",*q);A1B2C10D11二、填空题(每题2分,

5、共20分)1. 设ch是字符型变量,判断ch为英文字母的表达式是_ch>='a'&&ch<='z'|ch>='A'&&ch<='Z'_。2. 计算下列分段函数的 if 语句是_if(x>0) y=1; if(x=0) y=0;if(x<0)_y=0;_。 1 x>0y= 0 x=0 -1 x<03. 表达式 !5的值是_1_。4. 下列程序段的输出结果是_12_。printf("%xn", (0x19 <<1) &

6、; 0x17); 5. 下列程序段的输出结果是_k=4 s=6_。 int k, s;for(k=0, s=0; k<10; k+)if (s>k) break; else s += k; printf("k=%d s=%d", k, s);6. 下列程序段的输出结果是_100_。 #define MIN(x,y) (x)<(y)?(x) : (y) printf("%d",10*MIN(10,15);7. 下列程序在运行时可能会出错,原因是_指针没有赋值_。# include <stdio.h>void main( ) c

7、har *s; gets(s); puts(s);8. 下列程序的输出结果是_15 6_。# include <stdio.h> int f(int m) static int k=0; int s=0; for(; k<=m; k+) s+; return s;void main( ) int s=1; s=f(5); printf("%d %dn", s, f(3);9. 下列程序段的输出结果是_fgn_。 char *st ="abcd","efgh","ijkl","mnop&q

8、uot;printf("%s", *(st+1)+1);10. 用typedef定义一个10个元素的整型数组类型ARR,再用ARR定义一个10个元素的整型数组a。typedef int ARR10;ARR a;三、程序阅读题(每题5分,共15分)1. 输入123+234=357Yes?<回车>后,下列程序的输出结果是_6123111_。# include <stdio.h>void main( ) int k, n1, n310; char c; n1=0; for(k=0; k<10; k+) n3k=0; while(c=getchar(

9、)!='n') switch(c) case'0': case '1': case '2': case '3': case '4': case'5': case '6': case '7': case '8': case '9': n3c-'0'+; break; default: n1+; break; if(n1) printf("%d ", n1); for(k=0; k<

10、10; k+) if(n3k) printf("%d ", n3k);2输入3<回车>后,下列程序的输出结果是_612#745#840_。#include "stdio.h"void main() int j,k,n,temp, a66; scanf("%d",&n); for(k=0;k<n;k+) for(j=0;j<n;j+) akj=j+k*n; for (k=0;k<n;k+) for(j=0;j<n/2;j+) temp=an-j-1k; an-j-1k=akj; akj=tem

11、p; for(k=0;k<n;k+) for(j=0;j<n;j+) printf("%d ",akj); printf("#"); 3下列程序的输出结果是_。# include <stdio.h>#define LEN sizeof(struct line)struct line int num ; struct line *next;void main( ) int k ; struct line *p , *head , *tail; void f(struct line *p); head=tail=NULL; for(k

12、=1; k<6; k+) p=(struct line *) malloc (LEN) ; p->num=k; p->next=NULL; if(head=NULL) head=p; else tail->next=p; tail=p; f(head);void f(struct line *p) if(p!=NULL) f(p->next); if(p!=NULL) printf("%d ", p->num) ; 四、程序(段)填空题(每空2分,共20分)1输入1 个正整数 n, 计算并输出 s 的前n项的和。 S = 1 -1/2 +

13、 1/3 - 1/4 + 1/5 -1/6 + #include <stdio.h>void main( ) int k, flag, n; float s; flag=1; s=0; scanf("%d", &n); for (k=1 ; k<=n; k+) s=s+ (1) ; (2) ; printf("sum=%fn", s);2输入以 -1结束的一批整数,输出其中的最大值。 例如: 输入 -3 -8 -10 -1 后,输出:max=-3。#include <stdio.h>void main( ) int

14、max, x; scanf("%d", &x); if(x!=-1) (3) ; while( (4) ) if(max<x) max=x; (5) ; printf("max=%dn", max); 3设变量x, y, z已正确定义和赋值,请仔细阅读程序段,然后在程序段中填入正确的内容,使程序段和程序段的输出结果一样(每空只能写一个赋值表达式)。程序段A程序段Bx=x+y;y=x-y;x=x-y;z=x+y;printf("%d,%d,%d",x,y,z); (6) ; (7) ;y=z; z=x+y;printf(&

15、quot;%d,%d,%d",x,y,z);4请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数f1和函数f2有相同的功能。char *f1(char s , char t ) int k; for(k=0; tk!='0' k+) sk=tk; sk='0' return s;char *f2(char *s, char *t) (8) ; while( (9) = *t+)!='0') ; return (10) ;五、编程题 (共15分,竺可桢学院混合班学生做第3、4题,其他学生做第1、2题)1设a是一个整型数组,n和x都

16、是整数,数组a中各元素的值互异。请编写函数 find(a,n,x),在数组a的前n个元素中查找x, 如果找到,返回x在数组a中的位置;如果没有找到,返回0。例如:数组a中有元素1,4,3,2,5,调用find(a,5,2)后返回4,因为在a的前5个元素中找到了2,它在a中的位置是4;而调用find(a,5,10)后返回0,因为在a的前5个元素中没有找到10。2文本文件 input.txt 中存放着一批互异的整数(数量不多于100)。请编写一个程序,当运行该程序时,首先从键盘输入一个整数x,如果文本文件 input.txt中包含了x,则输出x在文件中的位置,否则,输出”Not found” ( 必须调用第1题定义的函数 find查找x )。例如:如果文件input.txt中存放了1,4,3,2,5,运行程序,并输入2后,输出4。3设a是一个整型数组,n和x都是整数,数组a中各元素的值互异,并按升序排列。请编写函数 find(a,n,x),采用二分法在数组a的前n个元素中查找x, 如果找到,返回x在数组a中的位置;如果没有找到,返回0。例如:数组a中有元素1,3,5,7,8,调用find(a,5,3)后返回2,因为在a的前5个元素中找到了3,它在a中的位置是2;而调用find(a,5

温馨提示

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

最新文档

评论

0/150

提交评论