北京师范大学C语言题库.docx

上传人:文*** 文档编号:68227817 上传时间:2022-12-27 格式:DOCX 页数:96 大小:104.85KB
返回 下载 相关 举报
北京师范大学C语言题库.docx_第1页
第1页 / 共96页
北京师范大学C语言题库.docx_第2页
第2页 / 共96页
点击查看更多>>
资源描述

《北京师范大学C语言题库.docx》由会员分享,可在线阅读,更多相关《北京师范大学C语言题库.docx(96页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、请搜索“第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可以被定义为变量

2、名.答案: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分) 题号:

3、633对以下说明语句inta10=6,7,8,9,10;的正确理解是()。A:将5个初值依次赋给al至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:

4、同一个问题可能有多种实现算法答案:D 第6题(2.0分)题号:114下列数据中,为字符串常量的是()。A:AB: house”C:How do you do.D:$abc答案:B第7题(2.0分) 题号:673C语言规定,函数返回值的类型是由Anturn语句中的表达式类型所决定B:调用该函数时的主调函数类型所决定C:调用该函数时系统临时决定D:在定义该函数时所指定的函数类型所决定答案:D第8题(2.0分) 题号:138下列()不是C语言数据类型中的基本类型.A:整型B:数组类型C:单精度型D:字符类型答案:B第9题(2.0分)题号:89以下标识符中,不能作为合法的C用户定义标识符的是()。A:

5、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第

6、13题(2.0分)题号:171在C语言的函数中,下列正确的说法是()。A:必须有形参B:形参必须是变量名C:可以有也可以没有形参D:数组名不能作形参答案:C第14题(2.0分)题号:3160为表示关系xNyNz,应使用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分)题号:155).C语言中用于结构化程序设计的:种基本结构是(A:顺序结构、选择结构、循环结构B:if、switchbreakC:for while do-whileD:if、for、continue答案:A三、程序填空共1题(共计15分

7、)功能:分别求出批非零整数中的偶数、奇数的平均值,用零作 为终止标记。.*/#include void main()int x,i=Oj=O;float sl=0,s2=0,avl,av2;scanf(M%d&x);/*SP/CE* */ while( ?!)if(x%2=0)sl=sl+x;i+;/*SpCE* */s2=s2+x;j+;/*SPACE* */if(i!=0)avl=sl/i;elseavl=O;if(j!=O)/*SpcE* */【?】;elseav2=0;printf(,oushujunzhi:%7.2f,jishujunzhi:%7.2fnavl,av2); 答案:=(

8、答案 1)=x !=0=或=(答案 2)= elseelse if(x%2=l)=二=或=else if(x%2!=0)if(x%2)=(答案 3)= scanfC%dH,&x)=(答案 4)=:av2=s2/j【程序改错】功能:编写函数fun求20以内所有5的倍数之积。*/#include #define N 20 int fun(int m)/*FOUND* */int s=0,i;for(i=l;iN;i+)/* Found* */if(i%m=O)/*FOUND* */s=*i;return s;void main() int fun(int m);int sum;sum=fun(5)

9、;printfCd以内所有%d的倍数之积为:dn”,N,5,sum); 答案:=(答案 1 )= int s=l , 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)/*卜:nd*/ void main() long int fun(int n);int n;long int resul

10、t;scanf(M%d,&n);result=fun(n);printf(,%ldnM,result);wwjt();)void wwjt()(FILE *IN,*OUT;int i;int ilN;long int iOUT;IN=fopen(Min.datM/rH);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);fo

11、r(i=0;i10;i+)(fscanf(IN,H%d,&iIN);iOUT=fun(iIN);fprintf(OUT,u%ldn,iOUT);fclose(IN);fclose(OUT);)答案:inti;float f=l,s=O;fbr(i=l;i+与i+均实现变量的值加1. 答案:丫第6题(2.0分)题号:11通过return语句,函数可以带回个或个以上的返回值。 答案:N第7题(2.0分)题号:1140链表中的任何个结点,必然要包括一个指针域. 答案:丫第8题(2.0分) 题号:1252在C系统中,将实型数据赋给整型变量时,小数部分会自动四舍五入.第9题(2.0分) 题号:19C语言

12、本身不提供输入输出语句,输入和输岀操作是由函数来 实现的。答案:Y第10题(2.0分)题号:1186C语言的任何个函数,都对应着一段可执行的程序代码,调用函数时均有返回值. 答案:N二、单项选择 共15题(共计30分)第1题(2.0分)题号60能将高级语言编写的源程序转换为冃标程序的是()A:链接程序B:解释程序C:编译程序D:编辑程序答案:C第2题(2.0分)题号:166下列定义数组的语句中不正确的是()。A:int a23= 1,2,3,4,5,6);B:int a2H3=l,4,5;C:int a3=l,4);D:int a=l,2,3),4,5,6);答案:D第3题(2.0分)题号:1

13、26下列()可以作为用户自定义的变量名使用.A:ifB:#a334C:retumD:_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=hb=2,c=3B:a=2,b=3,c=3C:a=2,b=3,c=lD:a=2,b=3,c=2答案:B第7题(2.0分)题号:214有如下定义:FILE *fp;若以只读方式打开文本文件”a.tx应选择语句().A:fp=open(Ha.txt,r

14、M);B:fp=fopen(,a.txt,rM);C:fp=open(a.txW);D:fp=fopen(a.txt,wn);答案:B第8题(2.0分)题号:3162若变量已正确定义,执行语句scanf(M%d,%d,%d ”,&kl,&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

15、第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以下不能正确进行

16、字符串赋初值的语句是()。A:char str5=good!;B:char str=good!;C:char *str=good!;D:char str5=g,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,

17、c=30答案:D三、程序填空 题目:下面程序的功能是用递归法求n!。*/ #include void main()/*SP/CE* */int n;long y;printf(input an integer number:);scanf(M%dM,&n);/*來*SP/CE* */ y=【?】;printf(%d!=%ldn,n,y);long fac(int n)long f;if(n0)printf(*n0,data error!n);else if(n=0,n=l)f=l;else/*SpCE* f= ?;return(f);)答案:=(答案 1)= long fac(int n)=(

18、答案 2)=fac(n)=(答案 3)=fac(n-l)*n=或= n *fac(n-l)四、程序改错功能:输入一行字符,分别统计出其中英文字母、空格、数字和 其它字符的个数。*/#include void main()(char c;int Ietters=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, II c=A&c=,Z)=或=if( c

19、= a II c = A & c=Z)=(答案 3)=else if(c=,)五、程序设计功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数)*/#include #include,conio.hvoid wwjt();long fun(int w)/* * IProgram */* */ void main() long fun(int w);int m;printf(Enter m: );scanf(%d, &m);printf(nThe result is %ldnH, fun(m); wwjt();)void wwjt()(FILE *IN,*OUT;int c

20、;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);)fbr(c=l;c=5;c+)(fscanf(IN,%d,&t);o=fun(t);fprintf(OUT,ldn,);fclose(IN);fclose(OUT);)答案:long y=0;int i;for(i=l;ic)b=a;a=c;c=b;则 c 的值为()。A:1B:2C:3D:不一定答案:B第9题(2.0分)题号:190

21、定义如下变量和数组:int i; int x3H3= 1,2,3,4,5,6,7,8,9;则下面语句的输出结果是()for(i=0;i3;i+) printf(%d ,xi2-i);A:1 5 9B:1 47C:3 5 7D:3 6 9答案:C第10题(2.0分)题号:181C语言中函数调用的方式有()。A:函数调用作为语句种B:函数调用作为函数表达式一种C:函数调用作为语句或函数表达式两种D:函数调用作为语句、函数表达式或函数参数三种答案:D第11题(2.0分) 题号:3144若x=2,y=3则xlly的结果是A:0B:1C:2D:3答案:B第12题(2.0分) 题号:3131判断两个字符串

22、是否相等,正确的表达方式是A:while(sl= =s2)B:while(sl=s2)C:while(strcmp(s l,s2)=0)D:while(strcmp(s l,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:f

23、loat f, *pf = &f;C:float *pf = &f, f;D:float f, pf答案:B三、程序填空共I题(共计15分)第1题(15.0分) 题号:18 【程序填空】功能:将一个数组中的元素按逆序存放。*/#include #define N 7 void main ()static int aN= 12,9,16,5,7,2,1 ,k,s;printf(Mn the origanal array:nM);fbr(k=0;kN;k+)printf(,%4d,ak);/*SpycE* */ for (k=0;kN/2; ?)s=ak;/* * space* */*SpCE*/

24、?;printf(An the changed array:nH);for (k=0;kN;k+)/*SP/CE* */? (4d”,ak);答案: =(答案 1)= k+=或=k=k+ 1=Wc= k+=l=或=二= +k=(答案 2)= ak=aN-k-l=:二=或= ak=aN-l-k=或=ak=a6-k=或=*(a+k)=*(a+Nk-l)=dc=*(a+k)=*(a+N-l-kak=a-l+N-k ak=a-l-k+N=或= ak=a-k-l+N=或= ak=a-k+N-l*(a+k)=*(a+N-k-l) =或= a6-k=s=(答案 3)= a|N-k-l =s=或= aN-l-

25、k=s =x?= a6-k=s或 a|N -k -l=s =或= *(a +N -k-l)=s=(答案 4)= printf四、程序改错共1题(共计15分)第1题(15.0分)题号:381/*【程序改错】功能:求圆面积的二分之一。函数通过形参得到圆的半径。 例如:输入圆的半径值:19.527输出为:s = 598.950017o#include #include /*FouND* */double fun( r)double s;/*FounD* */s=l/2*3.14159*r*r;/* *FouND* */return r;) void main() double fun(float);

26、float x;printf( Enter x: );scanf (%r &x );printf (H s = %fn n, fun ( x );答案:=:=(1 )= float fun(float r) = double fun(float r) =或= double fun(double r)=(答案 2)= s=l.0/2*3.14159* r* r;=(答案 3)= return s;五、程序设计共1题(共计20分)第1题(20.0分)题号:33/*【程序设计】功能:输入自然数m,用do-while语句求1m的累计和。#include void wwjt();long int fun

27、(int n)/* Pro。ram* */* 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 ilN;long int iOUT;IN=fopen(Min.datMMr,*);if(IN=NULL)(printf(Please Verify The Currernt Dir.it May Be Changed);OUT=fopen(out.dat,w);if(OUT=NULL)(printf( P

28、lease 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分)题号:3165 main()int x=

29、l,a=0,b=0;switch (x) case 0: b+;case 1: a+;case 2: a+;b+; printf(n%d,%d,a,b); 该程序的输出结果是() A:2,lB:l,lC:l,0D:2,2答案:A第2题(2.0分)题号:203 下面程序的输出结果是()main() int a8=8,7,6,5,4,321 ),*p; p=a+3; printf(d”,p2); A: 3B:4C:5D:2答案:A 第3题(2.0分) 题号:3556 已知i、j、k为int型变量,若从键盘输入:1,2,女回车,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是。A:s

30、canf(%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,24 ),*p; p=&al; printf

31、(M%d,*(p+3);A:4B:5C:6D:3答案:A第6题(2.0分) 题号:577在C语言中,int、char和shon三种类型数据在内存中所占用的字节数()。A:由用用户自己定义B:均为2个字节C:是任意的D:由所用机器的机器字长决定答案:D第7题(2.0分) 题号:568个C语言程序是由()。A: 个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B第8题(2.0分) 题号:185下列选项中正确的语句组是()A:char s8; s= Beijing;B:char *s; s= Beijing);C:char s8; s=Beijing;D:char *s; s=Beijing;答案:D第9题(2.0分)题号

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com