您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 大学《C语言程序设计》期末考试试卷及参考答案
本文由猫儿王城贡献《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.52.a!=0&;&;b!=03.m=1b4.windows955.x[i]='A'&;&;x[i]='Z'6.2345677.文件的首纪录前8、structtree*Ltree,*Rtree9.i=10010.chara[10]=continue;11.p*pow(1+r,5)12.'D'13.10、514.#defineutol(ch)ch=ch='A'&;&;ch='Z'?ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17.(-b+sqrt(b*b-4*a*c))/2/a18.float(*fg)(float**,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C10、A四、程序阅读题(20分,每题4分)1、ACEG2、x=3y=23、thetwostringaresame:fthetwostringaresame:r4、K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。()2、在标准C中,整型变量与字符变量是可以通用的。()3、在标准C中,“=”是判断两个数是否相等。()4、在if语句中,else前一个语句可不加“;”。()5、在C语言中操作系统是以文件为单位对数据进行管理的。()6、在C语言中,定义结构体变量时可以省略关健字struct。()7、内存单元的地址与内存单元中的内容是两个相同的内容。()8、在标准C语言中,在定义带参数的宏时也要定义参数的类型。()9、在标准C语言中,所有函数在调用之前都要进行声明。()10、在标准C语言中,数组的下标必须是常量,不允许是表达式。()二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.设floatx=2.5,y=4.7;inta=7;,则表达式x+a%3*(int)(x+y)%2/4的值为。2.判断变量a、b的值均不为0的逻辑表达式为。3.整型变量m的值为27,语句printf(m=%x,m);的输出结果为。4.如定义语句为“chara[]=windows,b[]=95;”,语句printf(%s,strcat(a,b));的输出结果为。5.宏定义语句#definef(c)c='A'&;&;c='Z'的引用f(x[i])置换展开后为。6.inti=234,j=567;函数printf(%d%d\n,i,j)的输出结果是7.文件打开方式为r+,文件打开后,文件读写位置在。8、为了建立如图所示的存储结构(即:每个结点含三个域,data是数据域,Ltree是指向左子树结点的指针域,Rtree是指向右子树结点的指针域),请填空.structTREE{chardata;LtreedataRtree____________;}node;┏━━┯━━┯━━┓┃││┃┗━━┷━━┷━━┛9.求1至100的和,写作for(s=0,i=1;;++i)s+=i;10.定义a为长度为10的字符串、同时为字符串赋初值continue的语句为。11.p为本金,r为1年期存款年利率,计算存款p元5年到期时本金、利息总和(计复利)的算术表达式为。12.若s='d',执行语句s=(s='a'&;&;s='z')?s-32:s;字符变量s的值为。13.函数change定义如下,若a=10、b=5,执行change(a,b)后a、b的值分别为。voidchange(inta,intb){intt=0;t=a;a=b;b=t;}14.定义一个带参数的宏,若变量中的字符为大写字母则转换成小写字母15.数组声明为“inta[6][6];”,表达式“*a+i”是指、“*(a+i)”是指、“**a”又是指。16.动态分配n个int类型数据的存储空间,并将该存储空间的首地址返回给指向int类型数据的指针变量p,写作语句。17.已知方程ax2+bx+c=0系数a、b、c且存在两个实根,计算其中一个实根的算术表达式为。18.声明fg为指向返回值为float类型、形参依次为float**、int、int类型变量的函数的指针,声明语句为。三、单项选择题(在每小题的四个备选答案中选出一个正确的。10分)1、一个C程序的执行是从。A、本程序的main函数开始,到main函数结柬B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、能正确表示“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。A、(x=1)&;&;(x=10)&;&;(x=200)&;&;(x=210)B、(x=1)&;&;(x=10)||(x=200)&;&;(x=210)C、(x=1)||(x=10)||(x=200)||(x=210)D、(x=1)&;&;(x=10)||(x=200)||(x=210)3、以下对一维数组正确初始化的语句是。A、inta[10]=(0,0,0,0,0);B、inta[10]={};C、inta[]={0};D、inta[10]={10*1};4、若int类型数据字长为4,其最大值为。A、231B、231-1C、232-1D、2325、下列各语句中,能够输出整型变量a、b中最大值的是。A、printf(%d\n,(ab)?a,b);B、(ab)?printf(%d,b):printf(%d,a);C、printf(%d,if(ab)aelseb);D、printf(%d\n,(ab)?a:b);6、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。A、char<int=<longint<=float<doubleB、char=int<longint<float<doubleC、charint<longint=float=doubleD、charint<longint=float=double7、若用数组作为函数调用的实参,传递给形参的是。A、数组的首地址B、数组的第一个元数C、数组中全部元素的值D、数组元素的个数8、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为。A、算术运算、赋值运算、关系运算B、算术运算、关系运算、赋值运算C、关系运算、赋值运算、算术运算D、关系运算、算术运算、赋值运算9、假如指针p已经指向变量x,则&;*p相当于。A、xB、*pC、&;xD、**p10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。main(){intx;scanf(%d,&;x);if(x++5)printf(%d,x);elseprintf(%d\n,x--);}A、7和5B、6和3C、7和4D、6和4四、程序阅读题(20分,每题4分)要求:阅读下列程序,将程序运行时的输出结果填写在答案栏内。1.#includestdio.hvoidmain(){charch;intk=0;for(ch='A';ch'H';ch++,k++)if(k%2==0)printf(%c,ch);printf(\n);}输出结果:2、#includestdio.hintx;add(){inty;x=y=3;}main(){inty;y=x=2;add();printf(x=%dy=%d\n,x,y);}输出结果:_______。3、#includestdio.hmain(){chara[]=“fprogram”,b[]=”fortran”;char*p,*q;p=a;q=b;while(*p&;&;*q){if(*p==*q)printf(“thetwostringaresame:%c\n”,*q);p++;q++;}}输出结果4、#includestdio.hvoidmain(){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k--;case'C':k+=2;break;case'D':k=k%2;break;case'E':k=k*10;break;default:k=k/3;}k++;}while(c'G');printf(k=%d\n,k);}输出结果:5、#includestdio.hf(intx,inty){return(y-x);}main(){inta=5,b=6,c=2;intf(),(*g)()=f;c=(*g)(a,b);printf(“%d\n”,c);}输出结果。五、编程题(30分,每题10分)1、设计一递归函数实现将任一十进制正整数转换成八进制数。2、实现如下功能的函数0(x-0.5)y=1(-0.5=x1)10x1.03、编一程序实现求所有不超过200的N值,N的平方是具有对称性质的回文数。所谓回文数就是将一个数从左向右与从右向左读是一样的,例如34543和1234321都是回文数。
本文标题:大学《C语言程序设计》期末考试试卷及参考答案
链接地址:https://www.777doc.com/doc-5184039 .html