浙江科技学院c语言2012-2013-1-C试卷A.doc_第1页
浙江科技学院c语言2012-2013-1-C试卷A.doc_第2页
浙江科技学院c语言2012-2013-1-C试卷A.doc_第3页
浙江科技学院c语言2012-2013-1-C试卷A.doc_第4页
浙江科技学院c语言2012-2013-1-C试卷A.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

浙江科技学院考试试卷 专业班级 学号 姓名 装订线 浙江科技学院2012 - 2013学年第1学期考试试卷A卷信息、建工、机械、经管、轻工、理学 学院 2012 年级 理工科专业得分一、判断题(本大题共12小题,每题小1分,共12分)1. “C”指字符常量C。2. if(a=b)语句可用于判断两个字符串a和b是否相等。3. 当需要接受用户从键盘输入的含有空格的字符串时,应使用gets()函数。4. char *a5定义了一个一维指针数组,它有5个元素,每个元素都字符类型的指针。5. (a=3)(b=5)是合法的关系表达式。6. continue语句的作用是结束整个循环的执行。7. 若有说明: int a34; 则数组a中各元素可在程序的编译阶段得到初值0。8. char *p; 定义了一个指针变量p,其值是字符类型的。9. main函数中定义的变量称为全局变量。10. 如果函数的形参和实参类型不一致,以实参的类型为准。11. 对于二维数组a34,a+1与a1完全一样,都是第一行的行地址。12. 在标准C语言中,函数只能有一个return语句。得分二、单选题(本大题共20小题,每题1分,共20分)1. t为int类型,在进入下面的循环之前,t的值为0,while( t=l ) . 则以下叙述中正确的是( )。A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对2. 若有语句scanf(%d%d,&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。A.10 20B.10,20C.1020D.10:203. 以下4个选项中,不能看作一条C语言语句的是( )。A.;B.a=1,b=1,c=1;C.if(x0);D.if(b=1) k=2;n=3;4. 函数strlen(12340xy)的值为( )。A.7B.8C.4D.95. 若变量c为char类型,能正确判断出c为大写字母的表达式是( )。A.A=c=A)|(c=Z)C.(A=c)D.(c=A)&(c=Z)6. 有如下程序段int a=14,b=15,x; char c=A; x=(a&b)&(cB); 执行该程序段后,x的值为( )。A.trueB.falseC.0D.17. 运行下面程序: main() char c =a,b,c,d, e, f, g,h,0; int i,j; i=sizeof(c); j=strlen(c); printf(%d %dn,i,j); 则输出结果是( )。A.9 9B.8 9C.1 8D.9 88. 在下面程序段中,while语句的循环次数是( )。 main() int k=0; while(k10) if (k1) continue; if(k=5) break; k+; . A.0B.10C.6D.死循环,不能确定次数9. 以下选项中,与k=n+完全等价的表达式是( )。A.k=n,n=n+1B.n=n+1,k=nC.k=+nD.k+=n+110. 有以下定义 #include char a10,*b=a; 不能给a数组输入字符串的语句是( )。A.gets(a)B.gets(a0);C.gets(&a0);D.gets(b)11. 在下列选项中,没有构成死循环的程序段是( )。A.int i=100; for(;); i-;B.int i=100; while(1) i=i&100+1; if(i100)break; C.int k=1000; for(;k100;k-);D.int s=36; while(s); -s;12. 假定x和y为 double型,则表达式x=2,y=x+3/2的值是( )。A.3.500000B.3C.2.000000D.3.00000013. 有以下程序,其for语句中循环体执行的次数是( )。#include #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() int i,n=0; for(i=1;i=NUM;i+) n+; printf(%d,n); printf(n); A.5B.6C.8D.914. 下列程序执行后的输出结果是( )。 main() int a22,*p,i; p=&a00; for(i=0;idata.aD.)p.data.a16. 若有以下调用语句,则不正确的fun函数的首部是( )。main() . int a20,n; . fun(n,&a10); . A.void fun(int m, int x )B.void fun(int s, int h )C.void fun(int p, int *s)D.void fun(int n, int a)17. 以下程序运行后输出结果是( )。#include Int func(int a, int b) static int m=0,i=2; i+=m+1; m=i+a+b; return(m); main() int k=4,m=1,p;p=func(k,m);printf(%d,p); p=func(k,m);printf(%dn,p); A.8,15B.8,16C.8,17D.8,818. 有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5);则该函数调用语句中,含有的实参个数是( )。A.4B.3C.5D.有语法错19. 已知链表结点定义语句为“struct nodeint data; struct node *next;”, 在下图所示的链表中,指针变量p1、p2、p3均已正确定义,并用于指向链表结点,指针变量p1总是作为头指针指向链表的第一个结点。p1x1x2x3NULL若有以下程序:p3=p1;p1=p1-next; p2=p1;while( p2-next)p2=p2-next;p2-next=p3;p3-next=NULL;该程序实现的功能是( )。A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点20. 当int x,a=1,b=3,c=5,d=4;时,执行下面一段程序后,x的值为( )。 if(ab) if(cd)x=1; else if(ac) if(bd)x=2; else x=3; else x=6; else x=7;A.1B.2C.3D.6得分三、程序填空题(本大题共5小题,每空2分,共24分)1. 以下程序的功能求两个非负整数的最大公约数和最小公倍数。请填空。#include void main()int m,n,r,p,gcd,lcm; scanf(%d%d,&m,&n); if(mn) p=m,m=n;n=p; p=m*n; r=m%n; while(_(1)_ ) m=n;n=r; _(2)_; gcd=_(3)_; lcm=p/gcd; printf(gcd=%d,lcm=%dn, gcd, lcm ); (1)A.rB.r=0C.!rD.r=1(2)A.r=n%mB.r=m%nC.r=mD.r=m*n/n(3)A.rB.mC.nD.m*n/r2. 下面程序是求一个二维数组中每行的最大值和每行的和。请选择填空。#include #include stdlib.h main() int a55,b5,c5,i,j,k,s=0; for(i=0;i5;i+) for(j=0;j5;j+) aij=random(40)+20; for(i=0;i5;i+) k=ai0; _(4)_ ; for(j=0;j5;j+) if(kaij) _(5)_ ; s=s+aij; bi=k; _(6)_ ; for(i=0;i5;i+) for(j=0;j5;j+) printf(%5d, aij ); printf(%5d%5d,bi,ci); printf(n); (4)A.s=ai0B.s=a00C.s=1D.s=0(5)A.k+B.aij+C.k=aijD.aij=k(6)A.k+B.ci=sC.s+D.ci=k3. 以下程序:输入字符串,再输入一个字符,将字符串中与输入字符相同的字符删除。请填空。#include stdio.h void fun(char a,char c) int i,j; for(i=j=0; ai!=0;i+) if(ai!=c) aj+=ai; _(7)_; main() char a20,cc; gets(a); cc=getchar();_(8)_; puts(a); (7)A.aj=aj+1B.ai=ai+1C.aj=0D.ai=0(8)A.fun(char a20,char cc)B.fun(char a,char cc)C.fun(a20,cc)D.fun(a,cc)4. 以下程序:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。(例如:当s串为ABCD时,则t串的内容应为ABCDDCBA。)请填空。#include #include void fun (char *s, char *t) int i, d; d = _(9)_; for (i = 0; id;i+) ti = si; for (i = 0; iscore;_(12)_;return(sum);(11)A.NULLB.head-nextC.headD.malloc(4)(12)A.p= head-nextB.head=head-nextC.head= p-nextD.p=p-next得分四、程序阅读题(本大题共6小题,每小题4分,共24分)1. 输入we are students ,下面程序运行结果为( )。#include void main() char string81; int i,num=0,word=0; char c; gets(string); for(i=0;(c=stringi)!=0;i+) if(c= ) word=0; else if(word=0) word=1; num+; printf( %dn,num);A.1B.3C.13D.152. 下面程序的运行结果是( )。 #includevoid inv(int x, int n); void main() int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10); printf(The array has been reverted:n); for(i=0;i10;i+) printf(%d,ai);printf(n); void inv(int x, int n) int t,i,j,m=(n-1)/2; for(i=0;i=m;i+) j=n-1-i; t=xi; xi=xj; xj=t; A.3 7 9 11 0 6 7 5 4 2B.2 4 5 7 6 0 11 9 7 3 C.0 2 3 4 5 6 7 7 9 11D.11 9 7 7 6 5 4 3 2 03. 若输入的值是-75,以下程序的运行结果是( )。#include#include void fun(int ); void main( ) int n; scanf(%d,&n); if(n0) printf(-); n=abs(n); fun(n); void fun(int x) int k,r; for(k=2;k1) printf(*); r=x%k; if(x!=1) printf(%dn,x); A.-7*5B.7*5C.-3*25D.3*5*54. 下列程序运行后的输出结果是( )。 #include int func (int ,int ); void main ( ) int k=4,m=1,p1,p2; p1=func(k,m) ; p2=func(k,m) ; printf(“%d,%dn”,p1,p2) ; int func (int a,int b) static int m=0,i=2; i+=m+1; m=i+a+b; return (m);A.9,17B.9,15C.8,15D.8,175. 下列程序运行后的输出结果是( )。#include main()int a33=1,2,3,4,5,6,i,j,s=a00; for(i=1;i3;i+) for(j=0;j=i;j+) s+=aij; printf(%dn,s); A.17B.18C.19D.216. 下列程序运行后的输出结果是( )。 #include #include struct NODE int num; struct NODE *next; ; void main( ) struct NODE *p,*q,*r; int sum=0; p=(struct NODE*) malloc(sizeof(struct NODE); q=(struct NODE *) malloc(sizeof(struct NODE); r=(struct NODE *) malloc(sizeof(struct NODE); p-num=1; q-num=2; r

温馨提示

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

评论

0/150

提交评论