ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:209.80KB ,
资源ID:26646137      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26646137.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计试题试题与答案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计试题试题与答案.docx

1、C语言程序设计试题试题与答案C语言程序设计试卷,C+语言程序设计试题及答案一、单项选择题(每题1分,共20分)1.C语言规定:在一个源程序中, main函数的位置(C).A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.(B)。必须在最后2.下面四个选项中,均是合法浮点数的选项是A.+1e+15e-9.403e2B.-.6012e-4-8e5C.123e1.2e-.4+2e-1D.-e3.8e-45.e-03.若a=-14,b=3,则条件表达式 avb?a:b+1的值为(A)。A.-14B.-13C.3D.44.执行语句n=ivj?i+:j+; 则i和j的值是(c).已知:int

2、n,i=1,j=2;A.1,2B.1,3C.2,2D.2,35.为了判断两个字符串s1和s2是否相等,应当使用(D)A.if(s1=s2)B.if(s仁s2)C.if(strcm p( s1,s2)D.if(strcm p( s1,s2)=0)6.以下正确的描述是(B) oA.函数的定义可以嵌套,但函数的调用不可以嵌套。B.函数的定义不可以嵌套,但函数的调用可以嵌套。C.函数的定义和函数的调用均不可以嵌套。D.函数的定义和函数的调用均可以嵌套。7.(D)。在C语言中,下面对函数不正确的描述是A.当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。B.允许函数递归调用。C.函数形参的

3、作用范围只是局限于所定义的函数内。D.子函数必须位于主函数之前。8.(A) o如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是A.该变量只在该复合语句中有效B.该变量在该函数中有效C.该变量在本程序范围内均有效D.该变量为非法变量9.以下正确的函数形式是(D)。A.doublefun(intx,inty)z=x+y;retum z;B.fun(intx,y)int z; return z;C.fun(x,y)intx,y;doublez;z=x+y;returnz;D.doublefun(intx,inty)doublez;z=x+y;returnz;10.以下程序的输出结果是(

4、B)。#includevstdio.h#defineF(y)8.19-y#define PRINT(a )p rintf(%d,(int)(a) voidmain(void)intx=2;P RINT(x*F(3);(C)。A.10B.13C.11D.报错11.以下程序中编译和运行结果均正确的一个是A.A.voidmain(void)union intn; floatx;comm=1;p rintf(%d,comm.n); B.B.voidmain(void)union intn;floatx;comm=12.5;p rintf(%f,comm.x); C.C.voidmain(void) u

5、nion floatx; intn;comm=12.5p rintf(%f,comm.x); D.D.voidmain(void) union intn; floatx;comm=5;p rintf(%d,comm.n);12.以下不合法的运算是(A)。设有定义:nta=1,*p=&a;floatb=2.0;charc-A;A.p+;B.a-;C.b+;D.c-;13.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原B)。main()int* p,*q,a,b;P=&a;p rintf(i npu ta:);A.*pB.*pC.*pD.*pscanf(%d,* p);表示的

6、是指针变量p的地址表示的是变量a的值,而不是变量a的地址表示的是指针变量P的值 只能用来说明P是一个指针变量14.若num a、b和c都是int型变量,则执行表达式 num=(a=4,b=16,c=32);后num的值为(C) OA.4B.16C.32D.5215.已有如下定义和输入语句,若要求a1,a2,c1,c2 的值捌血,20,A和B,当从第一列开 始输入数据时正确的数据输入方式是(C),(注表示空格)intal,a2,charc1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A.10A 20 BB.10 A 20 BC.10A20BD.10A20 B16.若有

7、说明:nta10;则对a数组元素的正确引用是(C)。A.a10B.a3.5C.a5-3D.a-117.在C语言中,一维数组的定义方式为类型说明数组名A)A.整型常量表达式B.表达式C.整型常量D.整型表达式18.以下能对一维数组 a进行正确初始化的语句是(C) OA.=0;ina10=(0,0.0,0,0);B.inta10=;C.intaD.inta10=10*1;19.以下程序段(C) Ox=-1;do x=x*x;while(!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误20.以下关于do-while循环的不正确描述是(B) oA.do-while 的循环体至少执行一

8、次B.do-while 循环由do开始,用while结束,在while(表达式)后面不能写分号C.在do-while循环体中,一定要有能使 while后面表达式的值变为零(假)的操作D.do-while 的循环体可以是复合语句二、是非判断题(每题1分,共15分)1.C语言规定,标识符中的字母一般区分大、小写。2. 控制台标准输入设备一般是指键盘。 T3.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。4.循环体中5.关系表达式的值是0或1 o Tcontinue语句的作用是结束整个循环的执行。 F10.形参为指针变量时,实参必须是数组名。11.用数组名作函数参

9、数时传递的是数组的值。12.全局变量可以被任何一个函数中的任何一个表达式使用。 T13.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。14.表达式i+与+i在任何场合功能完全相同。15.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。三、多项选择题(每题1分,共5分)中表示 a不等于0的关系,则不能正确表示这一关系1.若要求在if后一对圆跨括号的表达式为(ABC).A.a0B.!aC.a=0D.aE.a!=0J . 21.以下关于函数原型说法错误的是: (ADFHI)(1)对变量的定义”和“声明”是一回事,对函数的“定义”和“声明”也是一回事。(

10、2)在声明函数原型时,允许只写出参数的类型,而不必写出参数的名称。(3)如果在定义函数时不指定函数类型,系统会隐含指定函数类型为 int型。(4)调用一个函数时,函数名、实参个数、实参类型必须与函数原型一致。(5)如果被调函数的定义出现在主调函数之前,可以不必加以声明。(6)所有的函数之间可以互相调用。(7)在C语言中,所有函数都是平行的,一个函数不能从属于另一个函数,即不能嵌套定义的。(8)如果函数没有返回值,在定义时可以省略函数类型。(9)在C语言中,任何函数的定义都不允许为空。(10)C语言规定,实参变量对形参变量的数据传递是“值传递”。22.,选出5个正确的叙述。(ABDEH)请从下面

11、关于指针的叙述中(1)指针即地址。(2)指针须先赋值后使用。P和a是等价的。 当指针P指向数组a的首址后,由于P和a都能引用数组元素,所以这里(4)P。int*p 表示定义了一个指向int类型数据的指针变量(5)指向数组a所占内存的第二个字节。值传递的方式。数组的指针是指数组的起始地址。(6)若有定义 inta4,*p=a, 则 p+后 p(7)使用指针变量作函数参数采取的是(8)相同类型的指针可以进行减法运算。(9)指针变量和许多变量一样可以进行四则运算。(10)指针P指向数组元素a2,若要其指向a4,执行p=p*2即可。23.以下关于数组的叙述中,5个最确切的说法是:(BEGHI)(1)在

12、声明一个数组变量时必须指定大小。(2)(3)在对数组进行初始化时大括号中(4)有变量定义 inta3=0,1,2,b3;相等。(5)在C语言中,可以将字符串作为字符数组来处理。(6)定义了字符数组 charc11;为了给它赋值,可以用 c=china;。(7)如果有 chars15=lama0student;, 贝U strlen(s) 的值为 6。(8)C语言中,二维数组中元素排列的顺序是:按行存放。(9)在C语言中,不能对局部的数组变量进行初始化。必须用常量表达式来说明一个数组变量的大小。 的数据个数必须和数组的大小相同。,可以用b=a,使数组b的每个元素和a的每个元素(10)在声明时对数

13、组进行进行初始化必须指定数组大小。四、程序运行结果题(每题4分,共20分)16.(4 分)下面程序的运行结果是()。#includevstdio.hvoidmain(void)inti;chara=Time,b=Tom; for(i=0;a!=0&b!=0;i+) if(a=b)if(a=a&a=z) printf(%c,a-32);else printf(%c,a+32);else printf(*);24.(4 分)下面程序段的运行结果是()。i=1;s=3do s+=i+;if(s%7=0)continue;else+i;whlie(s=0&x=3000&x=6000&x#include

14、vmath.hF(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。floatfun1(float,float); voidmain(void)floatx,y,z,sum; scanf(%f%f%, &x,& y, &z); sum=fun1()+fun1(); p rintf(sum=%fn,sum);floatfun1(floata,floatb)floatnum;num=a/b;returnnum;五、程序填空题(每题2分,28.下面程序的功能是用公式共20分):n X n /6=1/(1 X 1)+1/(2 X 2)+1/(3 X 3)+求n的近似值,直到

15、最后一项的值小于#includevstdio.h10e-6为止。#includevmath.hvoidmain(void)longi=1; pi=0;while(i*iv=10e+6) pi= ;i+;pi=sqrt(6.0* pi);p rintf( pi=%10.6fn, pi);29.下面程序的功能是把以下给定的字符按其矩阵格式读入数组 是3的数组元素。str1中,并输出行列号之和voidmain(void)charstr143=A,b,C,d,E,f7G,h,T,j,K,i ;intx,y,z;for(x=0;xv4;x+)for(y=0;y+)z=x+y;if()printf(%cn

16、,str1xy);30.10岁,其以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为 余学生一个比一个大 2岁,求第5位学生的年龄。递归公式如下:age(1)=10age(n)=age(n-1)+2(n1)#includevstdio.h intage(intn)intc;if(n=i)c=10;elsec=; returnc;31.以下程序的功能是判断输入的年份是否是闰年。voidmain(void)intyearyes;scanf(%d,& year);if(year%400=0)yes=1;elseif( )yes=1;else ;if(yes )p rintf(%di

17、s,year);else pnntf(%disnot,year);p rintf(alea pyear.n);32.以下程序实现:输入三个整数,按从大到小的顺序进行输出。voidmain(void)intx,y,z,c;scanf(%d%d%d, &x,&y,& z);if( )c=y;y=z;z=c;if()c=x;x=z;z=c;if()c=x;x=y;y=c; p rintf(%d,%d,%d,x,y,z);六、填空题(每题1分,共17.在C语言中、单项选择题1.下面正确的字符常量是:A) “c” B) C) W D) 2.下列字符串中不能作为 C+标识符使用的是:A)WHILEB)us

18、erC)_1varD)9stars3.执行语句序列的输出结果是inti=O;while(iv25) i+=3;coutvvi;A)24B)25C)27D)28A)radiusB)foobarC)elseD)3room 5 .若a是int类型变量,则表达式 a=25/3%3的值是:A)3B)2C)1D)06.以下叙述中不正确的是:A)在不同的函数中可以使用相同名字的变量B)函数中的形参是局部变量C)在一个函数内部定义的变量只在本函数范围内有效D)在一个函数内部定义的变量在所有函数内部有效7.变量的引用,其含义是指该变量的:A.值B.类型C.别名D.地址8 .已知定义:chars1O;则下面不表示

19、s1的地址的是:A S+1B. *(s+1)C . &sO+1D . &s1 9 .通常拷贝构造函数的参数是:A.对象B.对象的成员C.对象的引用D.对象的指针 10.派生类对象的构造顺序是先调用:A.派生类的构造函数 B.基类的构造函数C内嵌对象的构造函数 D.友元类的构造函数二、填空题(5) _的成员为私有的,而3. C+中 class与struct的主要区别是在缺省访问权限时,(6)_的成员为公有的。4 .若有定义语句:inta=3,b=2;,则表达式avb?a:b的值是 ,5 .表达式:26%3=_(8) , 32/5=_(9)6 .类的成员包括 (10) 和 (11) 两种,在面向对

20、象的术语中,前者称为属性、后者称(15)_为方法。其访问权限有三种,由符号 _(12)_、_(13)_和_(14)_指定,其中具有权限的成员只有类中的成员函数才能访问、而具有 _(16)_权限的成员在任何函数中都可访问。7 .对基类成员的初始化,必须在派生类构造函数的 (17)中进行。8 . C+源程序文件的扩展名是(18),头文件的扩展名是(19) 9 .若n为整型,则表达式 n=(float)2/3 的值是(20)。三、写出程序的运行结果1 .写出程序运行结果includeviostream.h#includevstnng.hclassCRectp rivate:charcolor10;i

21、ntleft;intt op;intlength;intwidth;p ublic:CRect();CRect(char*c,intt,intlef,intlen,intwid);voidSetColor(char*c);voidSetSize(intl=100,intw=100);voidMove(intt,intl);voidDraw();CRect:CRect()strc py(color,Black);top=0;left=0;length=O;width=O;CRect:CRect(char*c,intt,intlef,intlen,intwid)strc py (color,c);

22、top=t;left=lef;length=len;width=wid;voidCRect:SetColor(char*c)strc py (color,c);voidCRect:SetSize(intl,intw)length=l;width=w;voidCRect:Move(intt,intl)top=t;left=l;voidCRect:Draw()coutclassAintx,y;p ublic:A()x=0;y=0;A(inta,intb)x=a;y=b;A()if(x=y)coutvvx=yvve ndl;elsecoutvvx!=yvvendl;voidDis pl ay()co

23、utvvx=vvxvv,y=vvyvve ndl;voidmain()Aa1,a2(2,3);a1.Dis play();a2.Dis pl ay();3 .写出程序运行结果#includeviostream.hclassAp rivate:intn;p ublic:A(inti)n=i;op erator+()n+;ope rator+(int)n+=2;voidDis pl ay()coutvv n=vvnvven dl;;voidmain()Aa(2),b(2);a+;+b;a.Dis pl ay();b.Dis play();4 .写出程序运行结果#includeviostream.h

24、intfuncl(intn);intfunc2(intn);voidmain()intsum;sum=func2(5);coutvvsumvvendl;intfuncl(intn)if(n=1)returni;elsereturnn*func1(n-1);intfunc2(intn)ints=0;for(i nti=1;iv=n ;i+)s+=fu nc1(i);returns;四、编程(根据要求填上程序缺少的部分)1.完成如下的程序,使得输出为:1234#includeviostream.h#includevmath.hclassAp rivate:p rotected:(2)p ublic

25、:A(inta,intb,intc)X=a;Y=b;Z=c;intGetX()returnX;intGetY()returnY;intGetZ()return Z;;classB(3)p rivate:intK;p ublic:B(inta,intb,intc,intd)(4),K=d;voidShow()coutvvGetX()vvGetY()vvZvvKvvendl;; voidmain()Bb(123,4);b.Show();2 .在主函数中定义有30个元素的数组s,函数funci ()的功能是将 2、4、6、?、56、58、。函数func2 ()的(即将 s0、s1、s2、s3、,?)。请60 分别赋给数组元素 s0、s1、s2、?、s27、s28、s29功能是按顺序将数组的每5个元素求平均值并存入数组 w中s4的平均值存入 w0中,s5、s6、s7、s8、s9的平均值存入 w1中 填空使程序正确运行。#includeviostream.h#includevmath.h voidfunc1(doubles)inti,k;for(k=2,i=0;iv30;i+)si=k;(5)voidfunc2(doubles,doublew)doublesum;inti,k;for(k=0,i=0,sum=0;iv30;i+)(6)if(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1