中国海洋大学C语言期末笔试2010年7月A.doc_第1页
中国海洋大学C语言期末笔试2010年7月A.doc_第2页
中国海洋大学C语言期末笔试2010年7月A.doc_第3页
中国海洋大学C语言期末笔试2010年7月A.doc_第4页
中国海洋大学C语言期末笔试2010年7月A.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

中国海洋大学 2009-2010学年 第二学期 期末考试试卷计算机基础部 C程序设计 课程试题(A卷专业年级 学号 姓名 授课教师 选课班上机课时间 周 第 节 -装-订-线-) 共 8 页 第 1 页考试说明:本课程为闭卷考试,可携带书写与修正文具,满分:100 分。考试结束后请将答题卡与试卷分开上交。一、单选题(每题2分,共30分)1.以下叙述正确的是_。A) C程序的每行只能写一条语句B) C语言本身没有输入输出语句C) 在C程序中,注释说明只能位于一条语句的后面D) 在对C程序进行编译的过程中可发现注释中的拼写错误2.下面正确的int型常量表示是_。A)0xag B)16.700 C)089 D)0XABC3.以下C语言标识符中错误的是_。A)_3max B)s_1_2 C)int3 D)p&sum4.以下关于C语言数据类型使用的叙述中错误的是_。A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型5.当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符),则输出结果是_。1234void main() char a,b,c,d; scanf(%c%c,&a,&b); c=getchar(); d=getchar(); printf(%c%c%c%cn,a,b,c,d);A)1234 B)12 C)12 D)12 3 346. 设有如下程序段,则描述中正确的是 _ 。 int i=5; while(i=0) i=i-1; A)while循环执行5次 B) 循环是无限循环C)循环体语句一次也不执行 D) 循环体语句只执行一次授课教师命题教师或命题负责人签字 年 月 日院系负责人签字年 月 日7以下不正确的一组语句是_。A)char a10=hello; B)char *p=hello;C)char a10; a=hello; D)char *p; p=hello;8若有struct complex int real,unreal; data1=1,8,data2;则以下赋值语句中错误的是_。A)data2=9; B)data2.real= 9; C)data2.real=data1.real; D)data2.real=data1.unreal;9若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是_。A)a=a+,i+; B)i=(a+k)y&xz x+;B)if(x=y) x+=y;C)if(x!=y) scanf(%d,&x); else scanf(%d, &y);D)if(xy) m=x;12.以下能对二维数组a进行正确初始化的语句是:_。A) int a2=1,0,1,5,2,3; B) int a3=1,2,3,3,2,1;C) int a24=1,2,3,4,5,6; D) int a12 =1,2,5,2,3;13.设有定义double a10,*s=a;,以下能够代表数组元素a3的是_。A)(*s)3 B)*(s+3) C)*s3 D)*s+314.若有定义int(*p)3;,则下列说法正确的是_。A)定义了类型为int的三个指针变量B)定义了类型为int的具有三个元素的指针数组pC)定义了一个名为*p、具有三个元素的int型数组D)定义了一个名为p的指针变量,可用它指向每行有三个int元素的二维数组15.下面程序运行后的结果是_。void main() char c5 = a, b, 0, c, 0 ; printf(%s , c);A) a b B)abC)ab cD) ab0c0共8 页 第 2 页中国海洋大学 2009-2010学年 第二学期 期末考试试卷二、填空题(每空2分,共20分)1若有定义unsigned long x=200; char a10= hello ;则语句printf(_【1】_, x, a) ; 将两个数据按x=200, a=hello的形式输出。2.若a=1,b=3,c=A, 则表达式 !ab|0&(c+=3)的结果是_【2】_3.语句printf(%d,strlen(ab021nt);的输出结果是_【3】_ 4.下面程序段的输出是_【4】_ int i,j;for(i=1;i3;i+) for(j=1;j3;j+) if(i=j) continue; printf(i=%d,j=%dn,i,j);5. 下面find函数的功能是查找字符串s中是否包含字符c,若有,返回该字符在串中第1次出现的位置;若无,返回空指针。请完善程序char *find(char *s, char c) while(*s!=0) if(*s=c) _【5】_; s+; return NULL;void main() char a20,key,*p; gets(a); scanf(%c,&key); p=find(a,key); if(p=NULL) printf(no find.n); else printf(The first position is %d,p-a); 6下面程序中main函数调用output函数将二维数组的两个字符串输出,请补充完整函数output形参部分。#include void output(_【6】_ ,int n) int i; for(i=0;in;i+) puts(*(p+i);void main() char a210=china,japan; output(a,2);计算机基础部 C程序设计 课程试题(A卷专业年级 学号 姓名 授课教师 选课班上课时间 周 第 节 -装-订-线-) 共8 页 第 3 页7以下程序的功能是输出100-300之间所有的素数。函数isprime()用于判断形参a是否为素数。若a是素数,返回1,否则返回0。请完善程序。#includeint isprime(int a) int i;for(i=2;i=sqrt(a);i+)if(a%i=0) 【7】 ;return 1;void main() int m;for(m=101;m300;m+=2)if( 【8】 ) printf(%d ,m);printf(n);8下面fun函数的功能是:首先对a所指的N行N列的二维数组,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请完善程序。#include #define N 100int fun(int(*a)N)int row,col,max,min; for(row=0;rowN;row+) for(max=arow0,col=1;colN;col+) if( _【9】_) max=arowcol; if(row=0) min=max; else if( _【10】_) min=max; return min;三、读程序写结果(每题2分,共20分)1 #include void main() int a=11,b=22,t=33; if(ab) t=a;a=b;b=t; printf(a=%d,b=%dn,a,b); 2. void main()char a10=12and34; int i, s=0; for( i=0;ai=0& ai=9; i+)s=10*s+ai-0; printf(%dn, s );共8 页 第 4 页中国海洋大学 2009-2010学年 第二学期 期末考试试卷计算机基础部 C程序设计 课程试题(A卷专业年级 学号 姓名 授课教师 选课班上课时间 周 第 节 -装-订-线-) 共8 页 第 5 页3下面程序运行若输入china,则输出是:_。#include void main()char c;int a=0,b=0; while(c=getchar()!= n) switch(c) case a: case b: a+; break; default : a+; case c: b+; printf(a=%d,b=%dn,a,b); 4#include void f() static int a=1; int b=1; a+;b+; printf(%5d,a+b) ;void main() f();f(); 5#define SUB(a) (a)-(a)void main() int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(%dn,d); 6. #include void main( ) char b=ABCDEFG; char *p=&b3; while(-p&b0) putchar(*p); 7. struct Aint no; char name10;int level; ;void main() struct A a3=1,tiger,3,2,pig,2,3,sheep,1, *p=a; for(;plevel=1) printf(%d,%sn,p-no,p-name); 8. #include int swap(int *x,int *y) int *t; t=x; x=y; y=t;void main( )int a=4,b=3; swap(&a,&b); printf(%d %dn,a,b); 9. void main()char a=YouAndMe,*p=a; p+=3; puts(p); 10. void main() char a20=open,b10=the,*c=window; strcpy(b,c) ; strcat(a+4,b); puts(a);四、编程题(分值依次为6、7、8、9分,共30分)1编写程序实现功能:运行程序用户输入任意三个整数后,程序求出其中最小值并显示。2编写程序,输入一个整数x,按下式输出对应的y值。 3函数void mystrcpy(char *s1,char *s2)的功能是:将s2所指向的数组中的串复制到s1所访问的数组中,请完成函数体的补充。(禁止使用任何库函数) void mystrcpy(char *s1,char *s2) 4. 编写程序,要求用户输入一个分数,然后将其约分为最简分式。输入输出如下所示: Enter a fraction: 6/12 In lowest terms : 1/2 提示:为了把分数约分为最简分式,首先计算分子和分母的最大公约数,然后分子和分母分别都除以最大公约数。答案请答于答题卡上,答题卡上请写清楚考生个人信息与任课教师、选课时间。任课教师按答题卡评分。考试结束后请将答题卡与试卷 分开上交 。共 8 页 第 6 页 中国海洋大学 2009-2010学年 第二学期 期末考试试卷C程序设计答题卡 A2010.7考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分。题号一二三四总分得分一、单选题(每题2分,共30分)(请将所选答案涂黑 如 A B C D )1 A B C D 2 A B C D 3 A B C D 4 A B C D 5 A B C D 6 A B C D 7 A B C D 8 A B C D 9 A B C D 10 A B C D 11 A B C D 12 A B C D 13A B C D 14 A B C D 15 A B C D 二、填空题(每空2分,共20分)注意题号与空格号不一致,以空格编号为准【1】_【2】_【3】_ 【4】_【5】_【6】_【7】_【8】_【9】_ 【10】_三、读程序写结果(每题2分,共20分)1._2 ._ 3._4._ 5._ 6._ 7._ 8._ 9._10._四、编程题(分值依次为6、7、8、9分,共30分)(写于右侧,与反面。请写清楚题号)计算机基础部 C程序设计 课程试题(A卷专业年级 学号 姓名 授课教师 选课班上课时间 周 第 节 -装-订-线-) 共 8 页 第 7 页共 8 页 第 8 页中国海洋大学 2009-2010学年 第二学期 期末考试答案计算机基础部 C程序设计 课程试题(A卷专业年级 学号 姓名 授课教师 选课班上机课时间 周 第 节 -装-订-线-) 共 2 页 第 1 页C程序设计答题卡A 2010.7考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分。题号一二三四总分得分一、单选题(每题2分,共30分)(请将所选答案涂黑 如 A B C D )1 A B C D 2 A B C D 3 A B C D 4 A B C D 5 A B C D 6 A B C D 7 A B C D 8 A B C D 9 A B C D 10 A B C D 11 A B C D 12 A B C D13A B C D 14 A B C D 15 A B C D二、填空题(每空2分,共20分)注意题号与空格号不一致,以空格编号为准【1】 x=

温馨提示

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

评论

0/150

提交评论