大学科目《C语言程序设计》期末练习试卷和答案(6套).docx
《大学科目《C语言程序设计》期末练习试卷和答案(6套).docx》由会员分享,可在线阅读,更多相关《大学科目《C语言程序设计》期末练习试卷和答案(6套).docx(118页珍藏版)》请在课桌文档上搜索。
1、一、选择题(每Ii1分,共30分)(要求将答案写入下表)1-56-1011-1516-2021-2526-301 .下面四个选项中,均是C语言关键字的选项是()A)INTwhileB)switchsqrtC)unsignedunionD)iftype2 .若以下选项中的变量已正确定义,则正确的赋值语句是()a=3.5B)a=3+2=5C)a=3.5%2D)3+5=a3 .以下运算符中,运算对象必须是整型数据的是()A)/B)%C)!=D)=4 .以下程序段中与语句f=ab?l:0;功能等价的是()A) if(ab)f=l;B) if(ab)f=ljelsef=0;C) if(ab)a=l;el
2、seb=0;D)语法错误5 .设有定义Chara,*p=&a;以下不能正确为变量a读入数据的是()scanf(%c,p);B)scanf(%c”,&a);C)SCanf(%c”,a);D)a=getchar();6 .下面程序中,while循环执行次数是()intmain()inti=5;while(i=0)i一;printf%d*,i);return0;D)无穷多次A)O次B)I次7 .语句While(X):中的条件表达式X等价于()A)X!=0B)x=0C)X=OD)语法错误8 .有定义:intX,y;,若要通过scanfC%d,&x,&y);使变量X得到数值3,变量y得到数值2,下面四组
3、输入形式中,正确的是()A)32回车B)3,2V回车C)3V回车2V回车D)32V回车9 .若已定义:inta10,*p=a:并在以后语句中未改变p的值,则不能表示al元素地址的表达式是()A)p+B)p+1C)a+D)a+110 .已定义inta22=l,2,3,4);则表达式rta00+alla2的值是()6B)4C)10D)错误的表达式11 .若有定义inta=0,b=l,c=2;则以下选项中值为0的表达式是()A)(!a=l)U(!b=0)B)bC)a&bD)a(b+b)M(c-a)12 .下面程序运行后输出结果是()voidmain()chara10=*xOxOO*;printf(*
4、%d%dn*,sizeof(八),strlen(八));return0;A)1010B)102C)101D)1113 .以下程序段中,不能正确为字符串赋值的是()A)chart口=abc;B)chart4=abc;C)chart4;Strcpy(t,*abc*);D)chart4;t=*abc*;14 .有如下程序段int*p,a=l,b=2;p=&b;b=*p+a;执行该程序段后,a、b的值分别为()A)12B)13C)21D)3115 .若有定义:intn=l,m=2*p=&n,*q=m;,则以下非法的赋值语句是()A)p=q;B)*p=*q;C)p=m;D)*q=n:16 .下面函数的功
5、能是()intfun(char*a,char*b)intm=0,n=O;while(*a!=0,)m+;a+;while(*b!=O)n+;b+;return(m-n);)A)计算a和b所指字符串的长度之差B)比较a和b所指字符串的大小O将b所指字符串连接到a所指字符串后面D)将b所指字符串连接到a所指字符串中17 .下面程序的输出是()intmainOinta10=0,1,2,3,4,5,6,7,8,9,*p=a;printf(,%c1,*(p+1);return0;A)OB)1C)2D)318 .以下叙述中正确的是()A)输入项可以是一个实型常量,例如:scanf(*%f*,3.5);B)
6、只有格式控制,没有输入项,也能正确输入数据,例如:SCanf(a=%d,b=%d);C)输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(*%4.2f,&f);D)输入数据时,必须指明变量地址,例如:scanf%f);19 .以下哪个函数的运行不可能影响实参的数据()voidfl(charx)B)voidf2(charx)C)voidf3(char*x)D)voidf4(char*x)20 .若有定义:charc;能正确判断出c为小写字母的表达式是(A),a,=c=,a,)ll(c=z)C)(*a,=c)D)(c=a)&(c=z)21 .以下程序的输出结果是()# in
7、clude# includeintmainOinta=l,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)c+sqrt(double)y)*l.2/c+x;printf(*%fn*,z);return0;A)14.000000B)015.400000C)13.700000D)14.90000022 .已有定义:Chara口=happy”,b=h,a,p,p,y;以下叙述中正确的是()A)a数组长度大于b数组长度B)a数组长度小于b数组长度O数组a和b的长度相同D)上述说法都不对23 .以下不正确的叙述是()在C程序中,ABC和abc是两个不同的变量B)在C程序中,逗号运算
8、符的优先级最低O从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值D)如果变量a和变量b类型相同,在执行了赋值语句“a=b;后b中的值将放入a中,而b中的值保持不变24 .在定义一个结构体变量时,系统分配给它的存储空间是()该结构体中所有成员所需存储空间的总和B)该结构体中第一个成员所需存储空间O该结构体中最后一个成员所需存储空间D)该结构体中占用最大存储空间的成员所需存储空间25 .以下正确的函数定义是()A) doublef(intx,inty)z=x+y;returnz;B) f(intx,y)intz;returnz;C) f(x,y)intx,y;doubl
9、ez;z=x+y;returnz;D) doublef(intx,inty)doublez;z=x+y;retrunz;26 .若有定义intx,y,t;,则执行语句x=y=3;t=+x|+y;后,y的值为()A)0B)lC)3D)427 .下面的程序()intmainOinta=5,b=0,c=0;if(a=b+c)printf(*n);elseprintf(*$*);return0:A)有语法错不能通过编译B)可以通过编译但没有运行结果C)输出*D)输出$28 .在C语言中,函数返回值的类型最终取决于()retum语句中表达式值的类型B)函数定义时在函数首部所说明的函数类型C)调用函数时主
10、函数所传递的实参类型D)函数定义时形参的类型29 .函数fopen(my.txt,)的作用是()A)为读打开一个文本文件B)为写打开一个文本文件O为读打开一个二进制文件D)为写打开一个二进制文件30 .设有定义:structchara10;intb;doublec;sl,s2;,若变量均已正确赋值,则以下语句中错误的是()A)sl=s2:B)sl.a=s2.a;C)si.b=s2.b;D)sl.c=s2.c;二、读程序,写出运行结果(每小题5分,共50分)(答案写在题目右侧)1 .下面程序的输出结果是:Jtincludeintmain()inti=l;for(;i=j;i-,j+)k+=i+j
11、;Printf(%dn”,k);return0;3 .下面程序的输出结果是:intmain()inta=100,X=I0,y=20,ok1=5,ok2=0;if(xy)if(y!=10)if(!okl)a=l;elseif(ok2)a=10:a=-l:Printf(%dn”,a);return0;4 .下面程序的输出结果是:intmain()intf=l,a=0,b=0;switch(f)case0:b+;case 1: a+;case 2: a+;b+;)printf(*a=%d,b=%dn”,a,b);return0;j5 .下面程序的输出结果是:#includevoidfun(char*
12、s,intn,intk)inti;for(i=n;ik-l;i+)si=si+2;intmainOchars=abcdefg”;fun(s,3,strlen(三);puts(三);return0;6 .下面程序的输出结果是:#includevoidsub(intx,intyfint*z)*z=-y;)intmain()inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(z,%4d,%4d,%4dn,a,b,c);return(0);7 .下面程序的输出结果是:longf(intn)longc;if(n=0n=l)c=l;elsec=f(11
13、-l)*n;returnc;voidmainOprintf(%ldr,f(3);8 .下面程序的输出结果是:voidfl(int*p)intt;t=*p;*p=*(p+l);*(p+l)=t;)voidf2(intx,inty)intt;t=x;x=y;y=t;voidmain()inta2=0,2,b2=l,5;fl(八);f2(b0,bl);printfC%d%d%d%dn*,a0,al,b0,bl);)9 .下面程序的输出结果是:#includeintmain()voidf(int*p,intn);inta=3,5,8,9,6,i;f(a,5);for(i=0;i5;i+)printf(
14、*%d”,ai);return0;)voidf(int*p,intn)inti,j,k,t;for(i=0;in-l;i+)k=i;for(j=i+l;jn;j+)if(pjpk)k=j;if(k!=i)t=pk;pk=pi;pi=t;)10 .下面程序的输出结果是:voidfund(inti);voidfunc2(inti);charst=hello,friend!”;voidfund(inti)Printf(%c”,sti);if(i3)i+=2;func2(i);)voidfunc2(inti)printf(,%c*,sti);if(i3)i+=2jfuncl(i);)voidmainO
15、inti=0;fund(i);Printf(n);三.编程题(每题10分,共20分)1 .输入m个数,求其最大数、最小数和平均值。2 .编写一个函数fun,实现在一个整型维数组中查找某数是该数组中第几个元素的功能。要求:若要查找的数是数组中的元素则返回元素下标值,若不是则返回T;再编写一个主函数,实现:输入整型数组a10所有元素的值,以及需要查找的整数,并利用fun函数查找输入的整数是否在数组a中,着在则输出该数下标值,否则输出“Nofoundo选择题(4营题1分,共30分)2-5CABBC6-10AABCD11-15CBDBC16-20ABDAD21-25CACAD26-30CD.BBB二、
16、读程序,写出运行结果(每小题5分,共50分)根据学生对程序的理解程度,适当给扣分。1. 2582. 603. -14. a=2,b=l5. abcfg6. 5,2,37. 68. 20159. 35689)10. hlo三.编程题(每题10分,共20分)根据学生对程序的理解程度,适当给扣分。2.输入In个数,求其最大数、最小数和平均值。参考程序1:intmain()intm,i;floatmax,min.ave,a;Printf(请输入要计算的个数:,);SCanfr%d,&m);确定输入数的个数不使用数组,需要用第一个数初始化max,min,ave三个变量PrintfC请输入第一个数:n);
17、scanf(%f,a);max=a;min=a;ave=a;Printf(请输入余下的数:n);for(i=l;ia)?max:a:min=(mina)?min:a;)Printf(最大值f,最小值f,平均值fn”,max.min,avem);return0;)参考程序2;#detmeM100intmain()intm,i;floatnum(M,max,min.sum=0.average;定义一个足够大的数组scanf(%d,&m);for(i=0;im;i+)scanf(%f,&numi);max=num(0;min=num0;for(i=0;imax)max=numi;if(numimin
18、)min=numi;sum+=numi;)average=sum/m;PrintfC最大值fn,max);PrinIf(最小值fn,min);Printf(平均%fn,average);returnO:)2.编写一个函数fun,实现查找某数是否在一个整型一维数组中的功能。要求:若要查找的数是数组中的元素则返回元素1,若不是则返回0:再编写一个主函数,实现:输入整型数组a10所有元素的值,以及需要查找的整数,并利用fun函数查找输入的整数是否在数组a中,若在则输出该数,否则输出“Nofound”。intfunl(inta,intn,intt)/方法1inti;for(i=0;in;i+)if(a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 大学 科目 语言程序设计 期末 练习 试卷 答案

链接地址:https://www.desk33.com/p-1380940.html