北京师范大学C语言题库.doc_第1页
北京师范大学C语言题库.doc_第2页
北京师范大学C语言题库.doc_第3页
北京师范大学C语言题库.doc_第4页
北京师范大学C语言题库.doc_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

请搜索“第X套”,以便快速达到目标位置第一套第1题 (2.0分) 题号:1147一个字符型数据可以用整型数据格式输出,一个整数(只限于与字符相对应的整数)也可以用字符形式输出.答案:Y第2题 (2.0分) 题号:1284在C语言中,void型函数将返回一个void型的数值.答案:N第3题 (2.0分) 题号:1106C语言的函数可以嵌套定义.答案:N第4题 (2.0分) 题号:15整数 -32100可以赋值给int型和long int型变量。答案:Y第5题 (2.0分) 题号:1229函数嵌套就是在定义函数的函数体中调用被定义的函数本身.答案:N第6题 (2.0分) 题号:1238在C语言中,FLOAT可以被定义为变量名.答案:Y第7题 (2.0分) 题号:1245函数的递归就是反复地进行函数调用.答案:N第8题 (2.0分) 题号:1224在C语言程序中, 同一个问题可以有多种实现算法.答案:Y第9题 (2.0分) 题号:1282字符型数据与整型数据之间可以互相赋值和运算.答案:Y第10题 (2.0分) 题号:1110c程序总是从程序的第一条语句开始执行.答案:N第1题 (2.0分) 题号:87C语言源程序的基本单位是()。A:过程B:函数C:子程序D:标识符答案:B第2题 (2.0分) 题号:139定义双精度实型变量应使用( ).A:long intB:floatC:charD:double答案:D第3题 (2.0分) 题号:633对以下说明语句 int a10=6,7,8,9,10; 的正确理解是()。A:将5个初值依次赋给a1至a5B:将5个初值依次赋给a0至a4C:将5个初值依次赋给a6至a10D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B第4题 (2.0分) 题号:655假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是()。A:3B:6C:10D:20答案:D第5题 (2.0分) 题号:117在程序设计中,下面关于算法的最恰当描述是( ).A:算法是求解问题的数学计算公式B:流程图是描述算法的唯一方法C:在某一算法中,至少应该有一个输入(或多个输入).D:同一个问题可能有多种实现算法答案:D第6题 (2.0分) 题号:114下列数据中,为字符串常量的是()。A:AB:houseC:How do you do.D:$abc答案:B第7题 (2.0分) 题号:673C语言规定,函数返回值的类型是由()。A:return语句中的表达式类型所决定B:调用该函数时的主调函数类型所决定C:调用该函数时系统临时决定D:在定义该函数时所指定的函数类型所决定答案:D第8题 (2.0分) 题号:138下列( )不是C语言数据类型中的基本类型.A:整型B:数组类型C:单精度型D:字符类型答案:B第9题 (2.0分) 题号:89以下标识符中,不能作为合法的C用户定义标识符的是()。A:a3_b3B:voidC:_123D:IF答案:B第10题 (2.0分) 题号:586以下选项中合法的实型常数是()。A:5E2.0B:E-3C:.2E0D:1.3E答案:C第11题 (2.0分) 题号:3130下列说法中错误的是A:一个数组只允许存储同种类型的变量B:如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值C:数组的名称其实是数组在内存中的首地址D:当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改答案:B第12题 (2.0分) 题号:604下面不正确的字符串常量是()。A:abcB:1212C:0D: 答案:A第13题 (2.0分) 题号:171在C语言的函数中,下列正确的说法是()。A:必须有形参B:形参必须是变量名C:可以有也可以没有形参D:数组名不能作形参答案:C第14题 (2.0分) 题号:3160为表示关系xyz,应使用C语言表达式A:(x=y)&(y=z)B:(x=y) AND (y=z)C:(x=y=z)D:(x=z)&(y=z)答案:A第15题 (2.0分) 题号:155C语言中用于结构化程序设计的三种基本结构是( ).A:顺序结构、选择结构、循环结构B:if、switch、breakC:for、while、do-whileD:if、for、continue答案:A三、程序填空 共1题 (共计15分)功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。-*/#include void main() int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf(%d,&x); /*SPACE*/ while(【?】) if(x%2=0) s1=s1+x; i+; /*SPACE*/ 【?】 s2=s2+x; j+; /*SPACE*/ 【?】; if(i!=0) av1=s1/i; else av1=0; if(j!=0) /*SPACE*/ 【?】 ; else av2=0; printf(oushujunzhi:%7.2f,jishujunzhi:%7.2fn,av1,av2);答案:=(答案1)=x != 0=或=x=(答案2)=else=或=else if(x%2=1)=或=else if(x%2!=0)=或=if(x%2)=(答案3)=scanf(%d,&x)=(答案4)=av2=s2/j/*- 【程序改错】-功能:编写函数fun求20以内所有5的倍数之积。-*/#include #define N 20int fun(int m) /*FOUND*/ int s=0,i; for(i=1;iN;i+) /*FOUND*/ if(i%m=0) /*FOUND*/ s=*i; return s;void main() int fun(int m); int sum; sum=fun(5); printf(%d以内所有%d的倍数之积为: %dn,N,5,sum);答案:=(答案1)=int s=1 , i ;=(答案2)=if(i%m=0)=(答案3)=s=s*i;=或=s=i*s;=或=s*=i;五、程序设计 共1题 (共计20分)功能:编写函数fun求1!+2!+3!+ +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun 函数。例如:若n值为5,则结果为153。-*/ #includevoid wwjt(); long int fun(int n) /*Program*/ /* End */ void main() long int fun(int n); int n; long int result; scanf(%d,&n); result=fun(n); printf(%ldn,result); wwjt();void wwjt()FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%ldn,iOUT); fclose(IN); fclose(OUT);答案:-int i;float f=1,s=0;for(i=1;i=n;i+) f=f*i; s=s+f; return s;-第二套第1题 (2.0分) 题号:1094设有数组定义: char array =hello; 则数组 array所占的空间为5.答案:N第2题 (2.0分) 题号:1101逻辑表达式-5&!8的值为1.答案:N第3题 (2.0分) 题号:1145链表是结构体最重要的应用,它是一种非固定长度的数据结构,是一种动态存储技术.答案:Y第4题 (2.0分) 题号:1235可以使用变量定义数组的长度.答案:N第5题 (2.0分) 题号:1189定义int *p,a5,i;p=a;i=10;p+与i+均实现变量的值加1.答案:Y第6题 (2.0分) 题号:11通过return语句,函数可以带回一个或一个以上的返回值。答案:N第7题 (2.0分) 题号:1140链表中的任何一个结点,必然要包括一个指针域.答案:Y第8题 (2.0分) 题号:1252在C系统中,将实型数据赋给整型变量时,小数部分会自动四舍五入.答案:N第9题 (2.0分) 题号:19C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。答案:Y第10题 (2.0分) 题号:1186C语言的任何一个函数,都对应着一段可执行的程序代码,调用函数时均有返回值.答案:N二、单项选择 共15题 (共计30分)第1题 (2.0分) 题号:560能将高级语言编写的源程序转换为目标程序的是()。A:链接程序B:解释程序C:编译程序D:编辑程序答案:C第2题 (2.0分) 题号:166下列定义数组的语句中不正确的是()。A:int a23=1,2,3,4,5,6;B:int a23=1,4,5;C:int a3=1,4;D:int a=1,2,3,4,5,6;答案:D第3题 (2.0分) 题号:126下列( )可以作为用户自定义的变量名使用.A:ifB:#a334C:returnD:_example答案:D第4题 (2.0分) 题号:190定义如下变量和数组:int i; int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )for(i=0;ib)c=a; a=b; b=c;执行该程序段后,变量a、b、c的值是( ).A:a=1,b=2,c=3B:a=2,b=3,c=3C:a=2,b=3,c=1D:a=2,b=3,c=2答案:B第7题 (2.0分) 题号:214有如下定义:FILE *fp;若以只读方式打开文本文件a.txt,应选择语句( ).A:fp=open(a.txt,r);B:fp=fopen(a.txt,r);C:fp=open(a.txt,w);D:fp=fopen(a.txt,w);答案:B第8题 (2.0分) 题号:3162若变量已正确定义,执行语句scanf(%d,%d,%d ,&k1,&k2,&k3);时,_是正确的输入A:2030,40B:20 30 40C:20, 30 40D:20,30,40答案:D第9题 (2.0分) 题号:706若有说明:int *p,m=5,n;以下正确的程序段是()。A:p=&n;scanf(%d,&p);B:p=&n;scanf(%d,*p)C:scanf(%d,&n);*p=n;D:p=&n;*p=m;答案:D第10题 (2.0分) 题号:3163C语言中while和dowhile循环的主要区别是A:While的循环控制条件比dowhile的循环控制条件严格B:dowhile的循环体至少无条件执行一次C:dowhile允许从外部转到循环体内D:dowhile循环体不能是复合语句答案:B第11题 (2.0分) 题号:525C语言中不可以嵌套的是()。A:函数调用B:函数定义C:循环语句D:选择语句答案:B第12题 (2.0分) 题号:669若用数组名作为函数的实参,传递给形参的是()。A:数组的首地址B:数组第一个元素的值C:数组中全部元素的值D:数组元素的个数答案:A第13题 (2.0分) 题号:657以下不能正确进行字符串赋初值的语句是()。A:char str5=good!;B:char str=good!;C:char *str=good!;D:char str5=g,o,o,d;答案:A第14题 (2.0分) 题号:146定义双精度实型变量应使用( ).A:long intB:floatC:long doubleD:double答案:D第15题 (2.0分) 题号:182有程序段如下:int a=10,b=20,c=30;if(ac) c=a; a=b; b=c;执行该程序段后,变量a、b、c的值是_.A:a=20,b=30,c=10B:a=10,b=20,c=30C:a=20,b=30,c=20D:a=20,b=30,c=30答案:D三、程序填空 题目:下面程序的功能是用递归法求n!。-*/#include void main() /*SPACE*/ 【?】; int n; long y; printf(input an integer number:); scanf(%d,&n); /*SPACE*/ y=【?】; printf(%d!=%ldn,n,y);long fac(int n) long f; if(n0) printf(n0,data error!); else if(n=0,n=1) f=1; else /*SPACE*/ f=【?】; return(f);答案:=(答案1)=long fac(int n)=(答案2)=fac(n)=(答案3)=fac(n-1)*n=或=n *fac(n-1)四、程序改错 功能:输入一行字符,分别统计出其中英文字母、空格、数字和 其它字符的个数。-*/#include void main() char c; int letters=0,space=0,digit=0,others=0; printf(please input some charactersn); /*FOUND*/ while(c=getchar()=n) /*FOUND*/ if(c=a&c=A&c=0&c=a&c=A&c=Z )=或=if( c=a | c=A&c=Z )=或=if( c = a | c = A & c=Z )=(答案3)=else if(c= )五、程序设计 功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数)-*/#include #includeconio.hvoid wwjt(); long fun(int w) /*Program*/ /* End */ void main() long fun(int w); int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %ldn, fun(m); wwjt();void wwjt() FILE *IN,*OUT; int c ; int t; long o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(c=1;c=5;c+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%ldn,o); fclose(IN); fclose(OUT);答案:-long y=0; int i; for(i=1;ic)b=a;a=c;c=b;则c的值为()。A:1B:2C:3D:不一定答案:B第9题 (2.0分) 题号:190定义如下变量和数组:int i; int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )for(i=0;i3;i+) printf(%d ,xi2-i);A:1 5 9B:1 4 7C:3 5 7D:3 6 9答案:C第10题 (2.0分) 题号:181C语言中函数调用的方式有()。A:函数调用作为语句一种B:函数调用作为函数表达式一种C:函数调用作为语句或函数表达式两种D:函数调用作为语句、函数表达式或函数参数三种答案:D第11题 (2.0分) 题号:3144若x=2,y=3则x|y的结果是A:0B:1C:2D:3答案:B第12题 (2.0分) 题号:3131判断两个字符串是否相等,正确的表达方式是A:while(s1= =s2)B:while(s1=s2)C:while(strcmp(s1,s2)=0)D:while(strcmp(s1,s2)=0)答案:C第13题 (2.0分) 题号:188两个指针变量不可以()。A:相加B:比较C:相减D:指向同一地址答案:A第14题 (2.0分) 题号:569C语言规定,在一个源程序中,main函数的位置()。A:必须在最开始B:必须在系统调用的库函数的后面C:可以任意D:必须在最后答案:C第15题 (2.0分) 题号:3112下列语句定义pf为指向float类型变量f的指针,_是正确的.A:float f, *pf = f;B:float f, *pf = &f;C:float *pf = &f, f;D:float f, pf答案:B三、程序填空 共1题 (共计15分)第1题 (15.0分) 题号:18/*-【程序填空】-功能:将一个数组中的元素按逆序存放。-*/#include #define N 7void main () static int aN=12,9,16,5,7,2,1,k,s; printf(n the origanal array:n); for (k=0;kN;k+) printf(%4d,ak); /*SPACE*/ for (k=0;kN/2; 【?】 ) s=ak; /*SPACE*/ 【?】 ; /*SPACE*/ 【?】 ; printf(n the changed array:n); for (k=0;kN;k+) /*SPACE*/ 【?】 (%4d,ak);答案:=(答案1)=k+=或=k= k + 1=或=k+=1=或=+k=(答案2)=ak=aN-k-1=或=ak=aN-1-k=或=ak=a6-k=或=*(a+k)=*(a+N-k-1)=或=*(a+k)=*(a+N-1-k=或=ak=a-1+N-k=或=ak=a-1-k+N=或=ak=a-k-1+N=或=ak=a-k+N-1=或=*(a+k)=*(a+N-k-1)=或=a6-k=s=(答案3)=aN-k-1=s=或=aN-1-k=s=或=a6-k=s=或=aN -k -1=s=或=*(a +N -k -1)=s=(答案4)=printf四、程序改错 共1题 (共计15分)第1题 (15.0分) 题号:381/*- 【程序改错】-功能:求圆面积的二分之一。函数通过形参得到圆的半径。例如:输入圆的半径值:19.527 输出为:s = 598.950017。-*/#include #include /*FOUND*/double fun( r) double s; /*FOUND*/ s=1/2*3.14159* r * r; /*FOUND*/ return r;void main() double fun(float); float x; printf ( Enter x: ); scanf ( %f, &x ); printf ( s = %fn , fun ( x ) );答案:=(答案1)=float fun(float r)=或=double fun(float r)=或=double fun(double r)=(答案2)=s=1.0/2*3.14159* r * r;=(答案3)=return s;五、程序设计 共1题 (共计20分)第1题 (20.0分) 题号:33/*-【程序设计】-功能:输入自然数m,用do-while语句求1m的累计和。-*/#includevoid wwjt(); long int fun(int n) /*Program*/ /* End */ void main () long int fun(int n); int m; scanf(%d,&m); printf(累加和为:%ldn,fun(m); wwjt();void wwjt() FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%ldn,iOUT); fclose(IN); fclose(OUT);答案: int i =1, sum =0; do sum = sum + i; i+; while ( i b)=c 的值为真。答案:Y第10题 (2.0分) 题号:1135语句printf(%c,65);存在语法错误.答案:N二、单项选择 共15题 (共计30分)第1题 (2.0分) 题号:3165main()int x=1,a=0,b=0;switch (x) case 0: b+; case 1: a+; case 2: a+;b+; printf(%d,%d,a,b);该程序的输出结果是( )A:2,1B:1,1C:1,0D:2,2答案:A第2题 (2.0分) 题号:203下面程序的输出结果是( )main() int a8=8,7,6,5,4,3,2,1,*p; p=a+3; printf(%d,p2);A:3B:4C:5D:2答案:A第3题 (2.0分) 题号:3556已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是_。A:scanf(%2d%2d%2d,&i,&j,&k);B:scanf(%d %d %d,&i,&j,&k);C:scanf(%d,%d,%d,&i,&j,&k);D:scanf(i=%d,j=%d,k=%d,&i,&j,&k);答案:C第4题 (2.0分) 题号:629为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定:else子句总是与()配对。A:缩排位置相同的ifB:其之前最近的ifC:其之后最近的ifD:同一行上的if答案:B第5题 (2.0分) 题号:206下面程序的输出结果是( )main() int a10=8,7,6,5,4,3,2,1,*p; p=&a1; printf(%d,*(p+3);A:4B:5C:6D:3答案:A第6题 (2.0分) 题号:577在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。A:由用用户自己定义B:均为2个字节C:是任意的D:由所用机器的机器字长决定答案:D第7题 (2.0分) 题号:568一个C语言程序是由()。A:一个主程序和若干子程序组成B:函数组成C:若干过程

温馨提示

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

评论

0/150

提交评论