事业单位招录计算机专业知识(C语言)模拟试卷3(题后含答案及解析)_第1页
事业单位招录计算机专业知识(C语言)模拟试卷3(题后含答案及解析)_第2页
事业单位招录计算机专业知识(C语言)模拟试卷3(题后含答案及解析)_第3页
事业单位招录计算机专业知识(C语言)模拟试卷3(题后含答案及解析)_第4页
事业单位招录计算机专业知识(C语言)模拟试卷3(题后含答案及解析)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

事业单位招录计算机专业知识(C语言)模拟试卷3(题后含答案及解析)题型有:1.单项选择题3.判断题4.简答题单项选择题1.C语言中函数返回值的类型是由()决定的。A.函数定义时指定的类型B.形参的数据类型C.调用该函数时的实参的数据类型D.return语句中的表达式类型正确答案:A解析:C语言函数返回值是由定义函数时所定义的函数类型决定的。也就是说,函数是什么类型,返回值就是什么类型。return语句的表达式能转换成函数定义类型,则返回函数定义类型,否则将出错,故A为正确选项。知识模块:C语言2.在C语言中,函数的数据类型是指()。A.函数返回值的数据类型B.调用该函数时的实参的数据类型C.任意指定的数据类型D.函数形参的数据类型正确答案:A解析:在C语言中,函数的数据类型是由定义函数时所定义的函数类型决定的。也就是说。函数是什么类型,返回值就是什么类型,和函数形参的数据类型及调用的实参数据类型无关。故正确选项为A。知识模块:C语言3.在C语言程序中,语句“char*func(intx,inty);”表示()。A.对函数func的定义B.对函数func的调用C.对函数func的返回值类型说明D.对函数func的原型说明正确答案:D解析:原型说明的时候,要说明参数类型,返回类型。知识模块:C语言4.在C语言程序中,若有一下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b));在此函数调用语句中实际参数个数是()。A.3B.4C.5D.6正确答案:A解析:fun(a+b,(x,y),fun(n+k,d,(a,b)))中fun(n+k,d,(a,b))是子函数,只需要传如3个实际参数即可。知识模块:C语言5.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为()。A.由系统选择B.由用户指定传递方式C.地址传递D.单向值传递正确答案:D解析:在C语言中,简单变量做实参时,相应的形参变量也是简单变量,它们之间的数据传递方式是单向值传递,即数据只能由实参传到形参,形参值的改变不影响实参值的变化。知识模块:C语言6.C语言中,说明int*f();标识符f代表的是()。A.一个用于指向整数类型数据的指针变量B.一个用于指向一维数组的行指针C.一个用于指向函数的指针变量D.一个回值为指针型的函数名正确答案:D解析:该函数返回一个int型的指针。这个函数就是所谓的返回指针的函数(指针函数)。知识模块:C语言7.设有函数print-value()定义如下,则执行程序printf(“d%\n”,++*x)”inta=25”;print-value(&a);后a的值是voidprint-value(int*x)。A.24B.25C.26D.27正确答案:D解析:先运算累加后执行。+*x是x指向内存的值先自增1,再取该值。知识模块:C语言8.单击“按钮”时,以下程序运行后的输出结果是()。privateSubprocl(xasInteger,yasInteger,zasInteger)x=3*zy=2*Zz=x+yendsubprivatesubCommandl_ClicK()DimxasInteger,yasInteger,zasIntegerx=1;y=2;z=3Callproel(x,x,z)Printx;x;zCallprocl(x,y,y)Printx;y;yendSubA.661261010B.95051010C.961291015D.910105410正确答案:A解析:从整体上看,可得主调过程将两次调用过程procl后,实参的值将随形参变化而变化。第一次调用被调过程procl,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参x也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6。执行z=x+y后,形参z值应为12,当然这次调用后。程序代码输出的数值为6,6,12。第二次调用被调过程procl,主调过程把实参x,y,y的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2,2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行2=x+y后,形参z值变为10,相应的实参y的值变为10,而形参y和z的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。知识模块:C语言9.在函数调用时,以下说法正确的是()。A.函数间的数据传递不可以使用全局变量B.实际参数和形式参数可以同名C.函数调用后必须带回返回值D.主调函数和被调函数总是在同一个文件里正确答案:B解析:形式参数就是在定义函数或过程的时候命名的参数,也就是一个记号。实际参数是在执行时,调用函数或过程时。传递给函数或过程的参数,也是实际值。形式参数和时间参数可以同名也可以不同名,故B项正确。C项中函数调用后不是必须带回返回值,这个和函数定义的类型有关,void类型的就不需要返回值。A项中函数间的数据传递可以使用全局变量,也可以使用局部变量。D项中主调函数和被调函数可以在同一个文件里。知识模块:C语言10.C语言中对函数的描述正确的是()。A.可以嵌套定义B.嵌套调用,递归调用均可C.不可以嵌套调用D.可以嵌套调用,不可以递归调用正确答案:B解析:在C语言程序中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义,但可以互相调用,不管是嵌套调用和递归调用均可以。故B项正确。知识模块:C语言11.以下叙述中正确的是()。A.构成C语言程序的基本单位是函数B.所有被调用的函数一定要在调用之前进行定义C.main()函数必须放在其他函数之前D.可以在一个函数中定义另一个函数正确答案:A解析:一个C源程序是由一个main函数和若干个其他函数组成的。函数是C语言程序的基本单位,故A正确。B项中main函数就不需要调用前先定义,故错误。main函数不需要放在其他函数之前,只需要调用前先定义即可,故C项错误。在C语言程序中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义,但可以互相调用,故D项错误。知识模块:C语言12.在C语言程序中,有关函数的定义正确的是()。A.函数的定义不可以嵌套,但函数的调用可以嵌套B.函数的定义和函数的调用均不可以嵌套C.函数的定义和函数的均可以嵌套D.函数的定义可以嵌套,但函数的调用不可以嵌套正确答案:A解析:在C语言程序中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义,但可以互相调用。但是不能调用main函数。故A项正确。知识模块:C语言13.在C语言中,函数原型不能标识()。A.函数的返回类型B.函数的功能C.函数的参数类型D.函数参数的个数正确答案:B解析:声明函数原型时能标识函数的参数类型,参数个数和返回类型等,但不能标识函数的功能。知识模块:C语言14.用数组名作为函数调用时的实参时,传递给形参的是()。A.数组首地址B.数组第一个元素的值C.数组全部元素的值D.数组元素的个数正确答案:A解析:在C语言中数组的变量名就是指向其首元地址的指针名。数组的其他元素可以通过首元偏移得到。故用数组名作为函数调用时的实参时,传递给形参的是数组的首地址。知识模块:C语言15.以下对C语言函数的有关描述中,正确的是()。A.C语言函数既可以嵌套定义又可递归调用B.C语言函数必须有返回值,否则不能使用函数C.在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中D.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参正确答案:D解析:C语言函数不可以嵌套定义,可以递归调用,故A项错误;C语言函数不一定需要返回值,比如void类型的就不需要返回值,故B项错误;在C语言程序中有调用关系的所有函数可以不用放在同一个源程序文件中,故C错误;在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参,故D正确。知识模块:C语言16.下述对C语言中字符数组的描述错误的是()。A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入和输出C.可在对字符数组定义时通过赋值运算符“=”字符数组整体初始化D.可在赋值语句中通过赋值运算符“=”对字符数组整体赋值正确答案:D解析:字符数组可以存放字符串,可以对字符数组中的字符串可以整体输入和输出,可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化,故ABC项正确。但不可以赋值语句中通过赋值运算符“=”对字符数组整体赋值,比如说chara[]=”abc”虽然合法,但却不能算是赋值表达式,而是字符数组的初始化,故D项错误。知识模块:C语言17.下列说法中错误的是()。A.构成数组的所有元素的数据类型必须是相同的B.用指针法引用数组元素允许数组元素的下标越界C.定义数组时的长度可以是整型常量表达式D.一维数组元素的下标依次是0,1,2,3……正确答案:D解析:数组是相同元素的集合,所以构成数组的所有元素的数据类型必须是相同的,A正确。逐个引用数组元素不容许数组元素下标越界,但用指针法引用数组元素可以让数组元素下标越界,B项正确,一维数组元素的下标依次为:0,1,2,3……故D项错误。定义数组时的长度可以是整型常量表达式,C项正确。知识模块:C语言18.已知charx[]=”hello”,y[]={‘h’,’e’,’a’,’b’,’e’};,则关于两个数组长度的正确描述是()。A.x大于yB.相同C.x小于yD.以上答案都不对正确答案:A解析:x表示字符串,y表示字符数组。字符串以’\0’结尾,也就是charx[]=”hello”这个字符串在定义时会自动加上了’\0’变成{‘h’,’e’,’l’’l’,’o’,’\O’},因此x的长度是6,y长度是5,因此x的长度大于y的长度。A为正确选项。知识模块:C语言19.设有数组定义:chararray[]=”abcd”;则数组array所占的空间为()。A.6个字节B.5个字节C.8个字节D.7个字节正确答案:B解析:airay表示字符串,字符串以’\0’结尾,也就是chalarray[]=”abcd”这个字符串在定义时会自动加上了’\0’变成{‘a’,’b’,’c’,’d’,’\0’},因此array的长度是5,所以B是正确选项。知识模块:C语言20.以下能对一维数组a进行初始化的语句是()。A.inta[3]={0,1,2}B.inta(5)={}C.inta[5]=(0,1,2,3,4,)D.inta{5}={10*1}正确答案:A解析:一维数组的定义为:类型说明符数组名[常量表达式],B和D项错误。在对数组赋值时将值包含在{}中,故C项错误,A项正确。知识模块:C语言21.给出以下定义:charx[]=”abcdefg”;chary[]=[‘a’,’b’,’c’,’d’,’e’,’f’,’g’};则正确的叙述为()A.数组x和数组y等价B.数组x的长度大于数组y的长度C.数组x和数组y的长度相同D.数组x的长度小于数组y的长度正确答案:B解析:x表示字符串,y表示字符数组。字符串以’\0’结尾,也就是charx[]=”abcdefg“;这个字符串在定义时会自动加上了’\O’变成{‘a’,’b’,’c’,’e’,’f’,’g’,’\0’},故和字符数组y是不一样的,因此x的长度是8,y长度是7,因此x的长度大于y的长度。所以ACD错误,B正确。知识模块:C语言22.在C语言中,下列数组声明语句中,正确的是()。A.inta[]={1,2,3,5};B.inta[4]={1,2,3,4,5};C.chara[4]={A,B,C,D};D.chara[4]=”ABCD”;正确答案:A解析:A项,inta[]={1,2,3,5};由于没有指定数组的长度,那么数组的长度即为赋值元素的个数,正确;B项,赋值元素有5个,数组长度为4,赋值元素个数大于数组长度,错误;C项,数组元素是字符,应该用单引号标注每个字母,错误;D项,系统会自动添加一个’\0’作为字符串结束符,因此数组长度应该为5,错误。答案为选项A。知识模块:C语言23.下面不正确的字符串常量是()。A.’PROGRAM’B.0C.”“D.12’12正确答案:A解析:在C语言中”表示单个字符,”“表示字符串。所以’PROGRAM’表示错误,不是正确的字符串常量。知识模块:C语言24.若有以下数组说明,则i=10;a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.8B.10C.6D.57正确答案:C解析:由于i=10,故a[10]=9,则a[a[10]]即a[9]=6。知识模块:C语言25.若有以下语句,则正确的描述是()。staticcharX[]=”12345”;staticchary[]=[‘1’,’2’,’3’,’4’,’5’,’\0’};A.x数组长度大于y数组长度B.x数组和y数组不相同C.x数组长度小于y数组长度D.x数组等价于y数组正确答案:D解析:x表示字符串,y表示字符数组。字符串以’\0’结尾,也就是staticcharx[]=”12345”;这个字符串在定义时会自动加上了’\0’,长度是6,故和字符数组y是一样的,因此x和y是一样的,且长度都是6,所以ABC错误,D正确。知识模块:C语言26.在C语言中对一维整型数组的正确定义为()。A.#defineN10inta[N];B.intn=10,a[n];C.intn;a[n];D.inta(10);正确答案:A解析:一维整数数组的定义为int数组名[常量表达式]。(1)数组名的命名方法与变量名相同,遵循标识符命名规则;(2)数组是用方括号括起来的常量表达式,不能用圆括号,故D项错误:(3)常量表达式表示数组元素的个数,即数组的长度,数组的下标从0开始,下标的最大值为:常量表达式一1:(4)常量表达式中可以包括常量和符号常量,不能包括变量。故B项C项错误。A项中N是预定义符,是常量,故正确。知识模块:C语言27.在C语言中,数组M[6][6],一个数组元素占两个字节,数组开始的地址为1000,M[2][1]的地址是()。A.1026B.1024C.1014D.1012正确答案:A解析:数组M[6][6]的第一个元素为M[0][0],因此在M[2][1]前面有2×6+1=13,一个数组元素占两个字节,起始地址为1000,则13个元素占26个字节,M[2][1]的地址为1000+26=1026。知识模块:C语言判断题28.C语言中当说明一个结构体变量时系统分配给它的内存是结构中第一个成员所需的内存量。()A.正确B.错误正确答案:B解析:当说明一个结构变量的时候,系统分配给它的内存是各成员所需的内存之和。知识模块:C语言29.在C程序中,如果要把常量327存入变量a中,a不能定义char类型。()A.正确B.错误正确答案:A解析:类型不同,而且无法进行隐式转换和显示转换。知识模块:C语言30.C允许对数组的大小作动态定义,即可用变量定义数组的大小。()A.正确B.错误正确答案:B解析:数组的大小可以用不加参数的方式动态的数组的大小。知识模块:C语言31.taticcharc[]={‘a’,’‘,’b’,’o’,’0’,’k’,’\0’};与staticcharc[]={‘a’,’‘,’b’,’o’,’o’,’k’};等价。A.正确B.错误正确答案:B涉及知识点:C语言简答题32.用递归实现将输入小于32768的整数按逆序换行输出。如输入12345,则输出54321。请补充下列C语言程序中的空格部分的代码。正确答案:#include<stdio.h>main(){intn:printf(“inputn:”);Scanf(“%d”,&n);r(n);printf(“\n”);}r(intm){printf(“%d”,

温馨提示

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

最新文档

评论

0/150

提交评论