首页 > 全部 > 二级C语言 > 国家二级C语言(函数)机试模拟试卷5

国家二级C语言(函数)机试模拟试卷5

本单篇文档共8059字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 4500人下载
价格: 0.80 原价:¥8.00
收藏

国家二级C语言(函数)机试模拟试卷5

选择题

1.若有代数式(A)

A. sqrt(fabs(pow(n,x)+exp(x)))

B. sqrt(fabs(pow(n,x)+pow(x,e)))

C. sqrt(abs(n^x+e^x))

D. sqrt(fabs(pow(x,n)+exp(x)))

解析:B选项中函数pow(x,e)错误,应该直接使用exp(x)函数。C选项中函数abs(n^x+e^x)错误,应该使用fabs( )返回浮点数的绝对值。D选项中pow(x,n)参数顺序错误。

2.下列叙述中错误的是( )。(A)

A. 可以给指针变量赋一个整数作为地址值

B. 函数可以返回地址值

C. 改变函数形参的值,不会改变对应实参的值

D. 当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL值

解析:不能将一个整数直接赋给指针变量作为地址,所以A选项是错误的。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。

3.若函数调用时的实参为变量,下列关于函数形参和实参的叙述中正确的是( )。(A)

A. 函数的形参和实参分别占用不同的存储单元

B. 形参只是形式上的存在,不占用具体存储单元

C. 同名的实参和形参占同一存储单元

D. 函数的实参和其对应的形参共占同一存储单元

解析:本题重点考查的是函数的形参和实参。在定义函数时,函数名后面括弧中的变量名称为“形式参数”(简称形参),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”(简称实参)。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元,因此A选项正确。

4.下列叙述中错误的是( )。(D)

A. C程序必须由一个或一个以上的函数组成

B. 函数调用可以作为一个独立的语句存在

C. 若函数有返回值,必须通过return语句返回

D. 函数形参的值也可以传回给对应的实参

解析:形参是函数定义时由用户定义的形式上的变量。实参是函数调用时,主调函数为被调函数提供的原始数据。在C语言中,实参向形参传送数据的方式是“值传递”,因此D选项正确。

5.下列关于return语句的叙述中正确的是( )。(B)

A. 一个自定义函数中必须有一条return语句

B. 一个自定义函数中可以根据不同情况设置多条return语句

C. 定义成void类型的函数中可以有带返回值的return语句

D. 没有return语句的自定义函数在执行结束时不能返回到调用处

解析:在函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值,A选项描述错误。定义成void类型的函数,不允许从该函数取得返回值,也不允许使用return语句,C选项描述错误。没有return语句的函数在执行到函数的最后一条语句后会自动返回到调用处,D选项描述错误。因此B选项正确。

6.已定义以下函数int fun(int*p){return*p;}fun函数的返回值是( )。(A)

A. 一个整数

B. 不确定的值

C. 形参P中存放的值

D. 形参P的地址值

解析:返回值为指针变量指向的数据,该数据已被定义为整型,因此A选项正确。

7.下列叙述中错误的是( )。(B)

A. 用户定义的函数中可以没有return语句

B. 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

C. 用户定义的函数中若没有return语句,则应当定义函数为void类型

D. 函数的return语句中可以没有表达式

解析:本题重点考查函数返回值的相关知识。函数的值只能通过return语句返回主调函数,在函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值。不返回函数值的函数,可以明确定义为“空类型”,类型说明符为void。因此选择B选项。

8.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,下列选项中错误的程序是( )。

A

解析:在调用子函数时,应对其进行说明。A选项中,调用时没有对子函数进行说明。B、C选项中,被调用函数在主调函数之前定义,不用说明;D选项中,在主函数中对被调用函数的返回值类型进行了说明。因此选择A选项。

9.有以下程序:

#include<stdio.h>

void fun(int a,int b)

{int t;

t=a:

a=b;

b=t;

}

main( )

{int c[10]={1,2,3,4,5,6,7,8,9,0},i;

for(i=0;i<10;i+=2)

fun(c[i],c[i+1]);

for(i=0;i<10;i++)

printf(\\(A)

A. 1,2,3,4,5,6,7,8,9,0,

B. 2,1,4,3,6,5,8,7,0,9,

C. 0,9,8,7,6,5,4,3,2,1,

D. 0,1,2,3,4,5,6,7,8,9,

解析:函数调用中发生的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参的值不会变化,所以数组c中的元素值并没有变化,选择A选项。

10.有以下程序:

#include<stdio.h>

double f(double x);

main( )

{

double a=0;int i;

for(i=0;i<30;i+=10)a+=f((double)i);

printf(\\(C)

A. 500

B. 401

C. 503

D. 1404

解析:本题重点考查函数的定义和调用。第一次循环,a=0,i=0,返回值a=0*0+1=1;第二次循环,a=1,i=10,返回值a=10*10+1+1=102;第三次循环,a=102,i=20,返回值a=20*20+1+102=503;第四次循环,a=503,i=30,不符合i<30,跳出循环,最后结果输出a=503。

11.有以下程序:

#include<stdio.h>

main( )

{

int m=1,n=2,*p=&m,*q=&n,*r;

r=p:

p=q:

q=r;

printf(\\(D)

A. 2,1,1,2

B. 1,2,1,2

C. 2,1,2,1

D. 1,2,2,1

解析:int m=1,n=2,*p=&m,*q=&n,*r;即指针变量p指向m,指针变量q指向n,r=p;p=q;q=r;即通过指针变量r,将指针p和指针q的指向交换,因此最后输出1,2,2,1。

12.

本文档预览:3600字符,共8059字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言(函数)机试模拟试卷5

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号