事业单位招录计算机专业知识(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(int x,int y);”表示(    )。
A.对函数func的定义
B.对函数func的调用
C.对函数func的返回值类型说明
D.对函数func的原型说明
正确答案:D
解析:原型说明的时候,要说明参数类型,返回类型。 知识模块:C语言
4. 在C语言程序中,若有一下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b));在此函数调用语句中实际参数个数是(    )。
A.3关于printf函数正确的是
B.4
C.5
D.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)int a=25;print-value(&a);后a的值是void print-value(int*x)。
A.24
B.25
C.26
D.27
正确答案:D
解析:先运算累加后执行。+*x是x指向内存的值先自增1,再取该值。 知识模块:C语言
8. 单击“按钮”时,以下程序运行后的输出结果是(    )。    private Sub procl(x as Integer,y as Integer,z as Integer)    x=3*z    y=2*Z    z=x+y    end sub    private sub Commandl_ClicK(    )    Dimx as Integer,y as Integer,z as Integer    x=1;y=2;z=3    Call proel(x,x,z)    Print x;x;z    Call procl(x,y,y)    Print x;y;y    end Sub
A.661261010
B.95051010
C.961291015
D.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项正确。但不可以赋值语句中通过赋值运算符“=”对字符数组整体赋值,比如说char a[]=abc虽然合法,但却不能算是赋值表达式,而是字符数组的初始化,故D项错误。 知识模块:C语言
17. 下列说法中错误的是(    )。
A.构成数组的所有元素的数据类型必须是相同的
B.用指针法引用数组元素允许数组元素的下标越界