C++语言程序设计试题及答案_第1页
C++语言程序设计试题及答案_第2页
C++语言程序设计试题及答案_第3页
C++语言程序设计试题及答案_第4页
C++语言程序设计试题及答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

C++语言程序设计试题及答案C++语言程序设计考试就到了,大家针对笔试的试题会做多少了呢?以下是为大家推荐关于C++语言程序设计试题及答案,希望对大家有所帮助。1.C语言规定:在一个源程序中,main函数的位置(C)。A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2.下面四个选项中,均是合法浮点数的选项是(B)。A.+1e+15e-9.403e2B.-.6012e-4-8e5C.123e1.2e-.4+2e-1D.-e3.8e-45.e-03.假设a=-14,b=3,那么条件表达式aA.-14B.-13C.3D.44.:intn,i=1,j=2;执行语句n=iA.1,2B.1,3C.2,2D.2,35.为了判断两个字符串s1和s2是否相等,应当使用(D)A.if(s1==s2)B.if(s1=s2)C.if(strcmp(s1,s2))D.if(strcmp(s1,s2)==0)6.以下正确的描述是(B)。A.函数的定义可以嵌套,但函数的调用不可以嵌套。B.函数的定义不可以嵌套,但函数的调用可以嵌套。

C.函数的定义和函数的调用均不可以嵌套。D.函数的定义和函数的调用均可以嵌套。7.在C语言中,下面对函数不正确的描述是(D)。A.当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。B.允许函数递归调用。C.函数形参的作用范围只是局限于所定义的函数内。D.子函数必须位于主函数之前。8.如果在一个函数中的复合语句中定义了一个变量,那么以下正确的说法是(A)。A.该变量只在该复合语句中有效B.该变量在该函数中有效C.该变量在本程序范围内均有效D.该变量为非法变量9.以下正确的函数形式是(D)。A.doublefun(intx,inty){z=x+y;returnz;}B.fun(intx,y){intz;returnz;}C.fun(x,y){intx,y;doublez;z=x+y;returnz;}D.doublefun(intx,inty){doublez;z=x+y;returnz;}10.以下程序的输出结果是(B)。#include#defineF(y)8.19-y#definePRINT(a)printf("%d",(int)(a))voidmain(void)

{intx=2;PRINT(x*F(3));}A.10B.13C.11D.报错11.以下程序中编译和运行结果均正确的一个是(C)。A.A.voidmain(void){union{intn;floatx;}m={1};printf("%d",m.n);}B.B.voidmain(void){union{intn;floatx;}m={12.5};printf("%f",m.x);}C.C.voidmain(void)

{union{floatx;intn;}m={12.5}printf("%f",m.x);}D.D.voidmain(void){union{intn;floatx;}m=5;printf("%d",m.n);}12.设有定义:inta=1,*p=&a;floatb=2.0;charc='A';以下不合法的运算是(A)。A.p++;B.a--;C.b++;D.c--;13.以下程序中调用scanf函数给变量a输入数值的,其错误原因是(B)。main()方法是错误的{int*p,*q,a,b;p=&a;

printf("inputa:");scanf("%d",*p);?}A.*p表示的是指针变量B.*p表示的是变量a的值,而不是变量C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量14.假设num、a、b和c都是int型变量,那么执行表达式p的地址a的地址num=(a=4,b=16,c=32);后num的值为(C)。A.4B.16C.32D.5215.已有如下定义和输入语句,假设要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(C),(注:表示空格)intal,a2,charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A.10A20BB.10A20BC.10A20BD.10A20B16.假设有说明:inta[10];那么对a数组元素的正确引用是(C)。A.a[10]B.a[3.5]C.a[5-3]D.a[-1]17.在C语言中,一维数组的定义方式为类型说明符数组名;(A)A.[整型常量表达式]B.[表达式]C.[整型常量]D.[整型表达式]18.以下能对一维数组a进展正确初始化的语句是(C)。

A.ina[10]=(0,0.0,0,0);B.inta[10]={};C.inta[]={0};D.inta[10]={10*1};19.以下程序段(C)。x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误20.以下关于do-while循环的不正确描述是(B)。A.do-while的循环体至少执行一次B.do-while循环由do开始,用while完毕,在while(表达式)后面不能写分号C.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作D.do-while的循环体可以是复合语句1.C语言规定,标识符中的字母一般区分大、小写。T2.控制台标准输入设备一般是指键盘。T3.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。T4.循环体中continue语句的作用是完毕整个循环的执行。F5.关系表达式的值是0或1。T

6.假设有说明:inta[3][4]={0},那么只有元素a[0][0]可得到初值0。T7.字符串作为一维数组存放在内存中。8.字符数组中的一个元素存放一个字符T。9.字符数组中的最后一个字符必须是T'\0'。F10.形参为指针变量时,实参必须是数组名。F11.用数组名作函数参数时传递的是数组的值。F12.全局变量可以被任何一个函数中的任何一个表达式使用。T13.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。14.表达式i++与++i在任何场合功能完全相同。15.在赋值表达式中,号左边的变量和右边的表达式之值的数据类型可以不相同。赋值1.假设要求在if后一对圆跨括号中表示a不等于0的关系,那么不能正确表示这一关系的表达式为(ABC).A.a<>0B.!aC.a=0D.aE.a!=02.选出所有合法的常量(CEGIJ)。A.3e22.5B.-e-3C.-.1e-1D.'BASIC'

E.'\045'F.0fdG.0xfdaLH.e8I.'\\'J."\""3.以下关于函数原型说法错误的选项是:(ADFHI)(1)对变量的定义”和“声明”是一回事,对函数的“定义”和“声明”也是一回事。(2)在声明函数原型时,允许只写出参数的类型,而不必写出参数的名称。(3)如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型。(4)调用一个函数时,函数名、实参个数、实参类型必须与函数原型一致。(5)如果被调函数的定义出现在主调函数之前,可以不必加以声明。(6)所有的函数之间可以互相调用。(7)在C语言中,所有函数都是平行的,一个函数不能附属于另一个函数,即不能嵌套定义的。(8)如果函数没有返回值,在定义时可以省略函数类型。(9)在C语言中,任何函数的定义都不允许为空。(10)C语言规定,实参变量对形参变量的数据传递是“值传递”。4.请从下面关于指针的表达中,选出5个正确的表达。(ABDEH)

(1)指针即地址。(2)指针须先赋值后使用。(3)当指针p指向数组a的首址后,由于p和a都能引用数组元素,所以这里p和a是等价的。(4)int*p表示定义了一个指向int类型数据的指针变量p。(5)数组的指针是指数组的起始地址。(6)假设有定义inta[4],*p=a,那么p++后p指向数组a所占内存的第二个字节。(7)使用指针变量作函数参数采取的是"值传递"的方式。(8)相同类型的指针可以进展减法运算。(9)指针变量和许多变量一样可以进展四那么运算。(10)指针p指向数组元素a[2],假设要其指向a[4],执行p=p*2即可。5.以下关于数组的表达中,5个最确切的说法是:(BEGHI)(1)在声明一个数组变量时必须指定大小。(2)必须用常量表达式来说明一个数组变量的大小。(3)在对数组进展初始化时大括号中的数据个数必须和数组的大小相同。(4)有变量定义inta[3]={0,1,2},b[3];,可以用b=a,使数组b的每个元素和a的每个元素相等。(5)在C语言中,可以将字符串作为字符数组来处理。(6)定义了字符数组charc[11];为了给它赋值,可以用c="china";。(7)如果有chars[15]={"Iama\0student"};,那么strlen(s)的值为6。

(8)C语言中,二维数组中元素排列的顺序是:按行存放。(9)在C语言中,不能对局部的数组变量进展初始化。(10)在声明时对数组进展进展初始化必须指定数组大小。1.(4分)下面程序的运行结果是(①)。#includevoidmain(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);elseprintf("%c",a+32);elseprintf("*");}2.(4分)下面程序段的运行结果是(①)。i=1;s=3do{s+=i++;if(s%7==0)continue;else++i;}whlie(s<15);

printf("%d",i);3.(4分)假设运行时输入:5999,那么以下程序的运行结果(保存小数点后一位)是(①)。voidmain(void){intx;floaty;scanf("%d",&x);if(x>=0&&x<=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=6000&&x<=10000)y=54+0.3*x;printf("%6.1f",y);}4.(4分)以下程序的运行结果是(①)。voidmain(void){inta=1,k;for(k=0;k<3;k++)printf("%4d",f1(a))}intf1(intx){staticintz=3,y=0;y++;z++;

return(x+y+z);}5.(4分)以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。#include#includefloatfun1(float,float);voidmain(void){floatx,y,z,sum;scanf("%f%f%",&x,&y,&z);sum=fun1(①)+fun1(②);printf("sum=%f\n",sum);}floatfun1(floata,floatb){floatnum;num=a/b;returnnum;}1.下面程序的功能是用公式:π×π/6=1/(1×1)+1/(2×2)+1/(3×3)+......求π的近似值,直到最后一项的值小于10e-6为止。#include#include

voidmain(void){longi=1;①pi=0;while(i*i<=10e+6){pi=②;i++;}pi=sqrt(6.0*pi);printf("pi=%10.6f\n",pi);}2.下面程序的功能是把以下给定的字符按其矩阵格式读入数组str1中,并输出行列号之和是3的数组元素。voidmain(void){charstr1[4][3]={'A','b','C','d','E','f','G','h','I','j','K','i'};intx,y,z;for(x=0;x<4;x++)for(y=0;①;y++){z=x+y;if(②)prin

温馨提示

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

评论

0/150

提交评论