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

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

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

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

选择题

1.以下选项中叙述错误的是(B)

A. 在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

B. C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

C. C程序函数中定义的自动变量,系统不自动赋确定的初值

D. C程序函数的形参不可以说明为static型变量

解析:在函数定义的静态变量,只需要赋值1次,即可保存初始值,不需要每次调用时都赋初始值。

2.有以下程序

int flint x);

main(){int n=1,m;

m=f(f(f(n)));

printf(\\(D)

A. 1

B. 2

C. 4

D. 8

解析:程序考查了函数的调用。对于m=f(f(f(n))));首先计算最内层的函数调用f(n),执行f函数,得到返回值2,然后计算f(2),得到返回值为4,最后计算f(4),得到计算结果为8。

3.有以下程序

#include

int fun(int x,int y) main()

{ if(x==y)return(x); { int a=4,b=5,c=6;

else return((x+y)/2);printf(\\(B)

A. 3

B. 6

C. 8

D. 12

解析:fun(b,c)即fun(5,6),5!=6,所以返回(5+6)/2=5;fun(2*a,5)即fun(8,5),8!=5,所以返回(8+5)/2=6。

4.有以下程序

#include main()

int flint x,int y) { int a=3,b=4,c=5,d;

{return((y-x)*x);) d=f(f(a,b),f(a,c));

printf(\\(C)

A. 10

B. 8

C. 9

D. 7

解析:本题考查函数的嵌套调用。首先计算f(a,b)与f(a,c),f(a,b)=(b-a)*a=3,f(a,c)=(c-a)*a=6,然后计算f(3,6)=(6-3)*3=9。

5.有以下程序

#include

double f(double x);

main()double f(double x)

{double a=0;int i; {return x*x+1;}

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

printf(\\(C)

A. 401

B. 500

C. 503

D. 1404

解析:由于函数f的作用是对形参x求平方再加1,所以在主函数中,循环第一次执行后变量a的值等于1,第二次执行后,变量a的值等于102,第三次执行后,变量a的值等于503。

6.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(B)

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

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

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

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

解析:在C语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。在调用函数时,给形参分配临时存储单元,并将实参对应的值传递给形参,在被调用函数中对形参存储单元中的值进行运算,最后通过return语句把函数值返回调用函数。当调用结束后,形参单元被释放,实参单元仍保留并维持原值。

7.有以下程序

void fun(int a,int b,int c)

{a=b;b=c;c=a;}

main(){int a=10,b=20,c=30;

fun(a,b,c);

printf(\\(C)

A. 10,20,30

B. 20,30,10

C. 30,20,10

D. 0,0,0

解析:函数fun中采用了变量作为参数,那么参数传递以后,形参a,b,c的变化对于实参a,b,c是没有影响的,因此主函数中a,b,c的值经过fun调用以后,值没有变化。

8.有以下程序

#include

int flint x);

main() int f(int x)

{int a,b=0; {return x*x+1;}

for(a=0;a<3;a++)

{b=b+f(a);putchar(’A’+b);}

}(B)

A. BCD

B. BDI

C. ABE

D. BCF

解析:在函数main()中,第一次执行for循环时,b的值等于1,此时输出字母B;第二次执行for循环时,b的值等于3,此时输出字母D;第三次执行for循环时,b的值等于8,此时输出字母I。

9.若有以下程序

void flint x) main(){int z=123456;

{if(x>=10) f(z);}

{printf(\\(A)

A. 6-5-4-3-2-1

B. 6-5-4-3-2-1-

C. 1-2-3-4-5-6

D. 1-2-3-4-5-6-

解析:函数f的主要功能为逆置输出整数x的每一位数据,如果z的值为123456,逆置输出的结果为6-5-4-3-2-1。

10.以下与函数fseek(fp,OL,SEEK SET)有相同作用的是(D)

A. feof(fp)

B. ftell(fp)

C. fgetc(fp)

D. rewind(fp)

解析:本题主要考查文件系IO函数的使用,fseek函数用于设置文件指针的位置,feof函数用于判断是否已经到了文件结束,ftell函数返回文件指针的当前位置,fgetc从文件读取一个字符,rewind函数将文件指针重新指向文件开始。题目当中fseek(fp,OL,SEEK_SET)表示把文件指针移动到文件的开始位置0,和rewind函数功能一致。

11.以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错

main()

/*Beginning*/

{int r;float s;

scanf(\\(D)

A. 注释语句书写位置错误

B. 存放圆半径的变量r不应该定义为整型

C. 输出语句中格式描述非法

D. 计算圆面积的赋值语句使用了非法变量

解析:本题考查了C语言的基本输入输出函数。选项A错误,代码里面的注释是正确的,“/*”和“*/”配对;选项B错误,r变量定义为整型是可以的;选项C输出语句格式正确;选项D正确,计算s的时候s=*π*r*r使用了未定义变量π。

12.以下程序函数f的功能是:当flag为1时,

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号