【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷17及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷17及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷17及答案解析.doc(8页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数和数组)模拟试卷 17及答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.以下程序的输出结果是( )。 #include #include main() char a10=abc,b10=012,c10=xyz; strcpy(a+1,b+2); puts(strcat(a,c+1);(分数:2.00)A.12yzB.a2yzC.abcyzD.abyz2.关于子函数调用的叙述中正确的是( )。(分数:2.00)A.实用的 C语言源程序总是由一个或多个函数组成B.不同函数的形式参数不能使用相同名称的标识符C.在 C语言的函
2、数内部,可以定义局部嵌套函数D.用户自己定义的函数只能调用库函数3.设 int fun(int *p)return *p;,则此函数返回值是( )。(分数:2.00)A.NULLB.一个整数C.形参 p中存放的值D.形参 p的地址值4.关于函数调用的叙述中错误的是( )。(分数:2.00)A.C程序必须由一个或一个以上的函数组成B.函数形参的值也可以传回给对应的实参C.若函数有返回值,必须通过 return语句返回D.函数调用可以作为一个独立的语句存在5.关于 void fun()的叙述中正确的是( )。(分数:2.00)A.fun函数无返回值B.fun函数的返回值是 NULLC.fun函数的
3、返回值是无值型的指针类型D.指针 fun指向一个函数,该函数无返回值6.关于静态变量的叙述中错误的是( )。(分数:2.00)A.C程序函数的形参不可以说明为 static型变量B.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值C.C程序函数中定义的自动变量,系统不自动赋确定的初值D.在 C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内7.以下程序的输出结果是( )。#includestdiohint fun(int x,int y)if(x=y)return x;return(x+y)2);main()int a=4,b=5,c=6;printf(dn
4、,fun(2*a,fun(b,e);(分数:2.00)A.12B.6C.3D.18.以下程序的输出结果是( )。 #include double f(double x); double f(double x) return x*x+1; main() double a=0;int i; for(i=0;i30;i+=10)a+f(double)i); prinff(50fn,a);(分数:2.00)A.1401B.53C.503D.4049.若执行调用语句:n=fun(3);,则函数 fun总共被调用的次数是( )。int fun(int k) if(k1)return 0;else if(k
5、=1)return 1; else return fun(k 一 1)+1;(分数:2.00)A.1B.2C.3D.410.以下程序的输出结果是( )。(strcat 函数用以连接两个字符串) #include #include main() char a 20=ABCD0EFG0,b=IJK; strcat(a,b);printf(sn,a);(分数:2.00)A.OFGOIJKB.ABCDIJKC.UKD.EFG11.以下程序的输出结果是( )。fun(intx) main()int p; if(x=0x=1)return(3); printf(dn,fun(7);p=x 一 fun(x一
6、 2); return p;(分数:2.00)A.4B.3C.0D.212.关于全局变量作用域的叙述中正确的是( )。(分数:2.00)A.所有文件的所有范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明来决定范围13.关于变量的定义和说明的叙述中正确的是( )。(分数:2.00)A.对于变量而言,“定义”和“说明”这两个词实际上是同一个意思B.在复合语句中不能定义变量C.全局变量的存储类别可以是静态类D.函数的形式参数不属于局部变量14.以下程序的输出结果是( )。int f(int m) main()int n=0;static int n=0; pri
7、ntf(d,f(+n);n+=m;return n; printf(dn,f(+n);(分数:2.00)A.3,2B.1,2C.2,3D.3,115.int a=4;int f(int n) main()int t=0;static int a=5; int s=a,i=0;if(n2)int a=6;t+=a+; for(;i2;i+)s+=f(i);elseint a=7;t+=a+; printf(dn,s);retum t+a+; (分数:2.00)A.28B.30C.32D.3416.若 char *line5;,则以下叙述中正确的是( )。(分数:2.00)A.定义 line是一个
8、数组,每个数组元素是一个基类型为 char的指针变量B.定义 line是一个指向字符型函数的指针C.定义 line是一个指针数组,语句中的,一 c号称为间址运算符D.定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组17.若有定义语句:float x5=10,20,30,40,50,*p=x;则错误引用 x数组元素的是( )。(分数:2.00)A.*PB.x5C.*(p+1)D.*x18.合法定义一维数组的是( )。(分数:2.00)A.int a5=0,1,2,3,4,5;B.char a一1,2,3,4,5;C.char a=A,B,C;D.int a5=012319.
9、不合法的数组定义是( )。(分数:2.00)A.int a43=1,2,3,1,2,3,1,2,3,1,2,3;B.int a3=0,1,1,2,3;C.int a3=1,2,3,4;D.int a4=1,2,3,1,2,3,1,2,3,1,2,3;20.设 int x23;则以下关于二维数组 x的叙述错误的是( )。(分数:2.00)A.数组 x可以看作是由 x0和 x1两个元素组成的一维数组B.可以用 x0=0;的形式为数组所有元素赋初值 0C.元素 x0可看作是由 3个整型元素组成的一维数组D.x0和 x1是数组名,分别代表一个地址常量21.关于字符数组定义中存在语法错误的是( )。(分
10、数:2.00)A.char ss20=right;B.char*ss6;ss1=right?;C.char*ss=right?;D.char ss620;ss1=right?;22.关于字符数组的定义中有语法错误的是( )。(分数:2.00)A.char str310;str1=guest;B.char str10=guest;C.char*str3;str1=guest;D.char*str=guest;23.下列能正确进行字符串赋值的是( )。(分数:2.00)A.char s5=ABCDE);B.char s5=A,B,C,D,E;C.char*s;s=ABCDE;D.char*s;pr
11、intf(s,s);24.若有以下程序段 char str412=an,bbb,ccccc,d),*strp4;int i;for(i=0;i4;i+)strpi=stri;不能正确引用字符串的选项是( )。(分数:2.00)A.strpB.str0C.strp3D.*strp25.关于字符串的叙述中正确的是( )。(分数:2.00)A.char ca35=Aa,BBb,CCc);是不合语法的B.字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组C.char ca5=A,BB,CCC);是不合语法的D.char*ca3=A,BB,CCC;是不合语法的国家二级 C语言机试(函数和数组)
12、模拟试卷 17答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.以下程序的输出结果是( )。 #include #include main() char a10=abc,b10=012,c10=xyz; strcpy(a+1,b+2); puts(strcat(a,c+1);(分数:2.00)A.12yzB.a2yz C.abcyzD.abyz解析:解析:程序执行 C语言库函数“strcpy(a+1,b+2)”后,字符数组 a的值为“a2”,再进行字符串的连接“strcat(a,c+1)”,此时字符数组 a的值为“a2yz”。2.关于子函数调用的
13、叙述中正确的是( )。(分数:2.00)A.实用的 C语言源程序总是由一个或多个函数组成B.不同函数的形式参数不能使用相同名称的标识符C.在 C语言的函数内部,可以定义局部嵌套函数D.用户自己定义的函数只能调用库函数 解析:解析:C 语言源程序可以由一个或多个源文件组成,每个源文件包含一个或多个函数,这些函数可以是自定义函数,也可以是库函数,各个函数之间没有主从关系。3.设 int fun(int *p)return *p;,则此函数返回值是( )。(分数:2.00)A.NULLB.一个整数 C.形参 p中存放的值D.形参 p的地址值解析:解析:由题目中的定义可知,返回值为整型指针变量 p所指
14、向的数据。4.关于函数调用的叙述中错误的是( )。(分数:2.00)A.C程序必须由一个或一个以上的函数组成B.函数形参的值也可以传回给对应的实参 C.若函数有返回值,必须通过 return语句返回D.函数调用可以作为一个独立的语句存在解析:解析:一个 C程序中可以包含任意多个不同名的函数,但只有一个主函数,即 main()函数。一个C程序总是从主函数开始执行。函数的值通过 return语句返回,return 语句中的表达式的值就是所求的函数值。在 C语言中。数据只能从实参单向传递给形参,称为“按值”传递。也就是说,用户不可能在函数中改变对应实参的值(指针作为实参的除外)。5.关于 void
15、fun()的叙述中正确的是( )。(分数:2.00)A.fun函数无返回值 B.fun函数的返回值是 NULLC.fun函数的返回值是无值型的指针类型D.指针 fun指向一个函数,该函数无返回值解析:解析:本题主要考查函数的声明,void fun()即表示 fun函数没有输入参数,函数返回 void表示函数无返回值。6.关于静态变量的叙述中错误的是( )。(分数:2.00)A.C程序函数的形参不可以说明为 static型变量B.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值 C.C程序函数中定义的自动变量,系统不自动赋确定的初值D.在 C程序的同一函数中,各复合语句内可以定义
16、变量,其作用域仅限本复合语句内解析:解析:在函数定义的静态变量,只需要赋值一次,即可保存初始值,不需要每次调用时都赋初始值。7.以下程序的输出结果是( )。#includestdiohint fun(int x,int y)if(x=y)return x;return(x+y)2);main()int a=4,b=5,c=6;printf(dn,fun(2*a,fun(b,e);(分数:2.00)A.12B.6 C.3D.1解析:解析:首先看里面的 fun(b,c),传参 5,6,得到返回值为 5(112=5 类型相同相除得同类型的),再计算外面的 fun(8,5)输出就是 6;故答案为 B项
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 函数 数组 模拟 试卷 17 答案 解析 DOC
