【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷7及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷7及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷7及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数和数组)模拟试卷 7及答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58.00)1.有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数) #includestdioh #includestringh main() char a10=“abc“,b10=“012“,c10=“xyz“; strcpy(a+1,b+2);puts(strcat(a,c+1);程序运行后的输出结果是(分数:2.00)A.bc2yzB.a2yzC.a12xyzD.12yz2.若各选项中所用变量己正确定义,函数 fun中通过 retur
2、n语句返回一个函数值,以下选项中错误的程序是(分数:2.00)A.main()x=fun(2,10);float fun(int a,int b)B.float fun(int a,int b)main()x=fun(i,j);C.float fun(int,int);main()x=fun(2,10);float fun(int a,int b)D.main()float fun(int i,int j);x=fun(i,j);float fun(int a,int b)3.以下叙述中正确的是(分数:2.00)A.用户自己定义的函数只能调用库函数B.不同函数的形式参数不能使用相同名称的标识符
3、C.在 C语言的函数内部,可以定义局部嵌套函数D.实用的 C语言源程序总是由一个或多个函数组成4.若有定义语句: char s10=“123456700“;则 strlen(s)的值是(分数:2.00)A.8B.7C.9D.105.有以下程序#includestringhmain() char p20=a,b,c,d),q=“abc“,r=“abcde“; strcat(p,r);strcpy(p+strlen(q),q);printf(“dn“,strlen(p);程序运行后的输出结果是(分数:2.00)A.9B.11C.6D.76.若有定义语句: char*s1=“OK“,*s2=“ok“
4、;以下选项中,能够输出“OK“的语句是(分数:2.00)A.if(strcmp(s1,s2)!=0)puts(s1);B.if(strcmp(s1,s2)!=0)puts(s2);C.if(strcmp(s1,s2)=1)puts(s1);D.if(strcmp(s1,s2)=0)puts(s1);7.有以下程序,程序中库函数 islower(ch)用以判断 ch中的字母是否为小写字母 #includestdioh #includectypeh void fun(char*p) int i=0; while(pi) if(pi=&islower(pi1)pi1=pi1a+A; i+; main
5、() char s1100=“ab cd EFG!“; fun(s1);printf(“sn“,s1);程序运行后的输出结果是(分数:2.00)A.Ab Cd EFg!B.ab cd EFG!C.ab cd EFg!D.aB cD EFG!8.若有以下定义和语句 char s110=“abcd!“,*s2=“n123“;printf(“ddn“,strlen(s1),strlen(s2);则输出结果是(分数:2.00)A.10 5B.10 7C.5 5D.5 89.有以下程序 #includestdiohint fun(int a,int b) main() if(b=0)return a;
6、printf(“dn“,fun(4,2); else return(fun(-a,-b);程序的运行结果是(分数:2.00)A.1B.2C.3D.410.下列选项中,能够满足“只要字符串 s1等于字符串 s2,则执行 ST”要求的是(分数:2.00)A.iffs1=s2)ST;B.if(strcpy(s1,s2)=1)ST;C.if(strcmp(s2,s1)=0)ST;D.if(s1s2=0)ST;11.若有以下说明和定义 union dt int a;char b;double c;data;以下叙述中错误的是(分数:2.00)A.data的每个成员起始地址都相同B.变量 data所占内存
7、字节数与成员 c所占字节数相等C.程序段:dataa=5;printf(“fn“,datac);输出结果为 5000000D.data可以作为函数的实参12.以下关于函数的叙述中正确的是(分数:2.00)A.每个函数都可以被其他函数调用(包括 main函数)B.每个函数都可以被单独编译C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数13.在 C语言中,函数返回值的类型最终取决于(分数:2.00)A.函数定义时在函数首部所说明的函数类型B.return语句中表达式值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型14.当用户要求输入的字符串中含有空格时,应使用的
8、输入函数是(分数:2.00)A.scanf()B.getchar()C.gets()D.getc()15.avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过 10,则下列函数说明语句错误的是(分数:2.00)A.int avg(int *a,int n);B.int avg(int a10,int n);C.int avg(int a,int n);D.int avg(int a, int n);16.以下叙述中正确的是(分数:2.00)A.函数名代表该函数的入口地址B.所有函数均不能接受函数名作为实参传入C.函数体中的语句不能出现对自己的调用D.如果函数带有参数,
9、就不能调用自己17.以下叙述中正确的是(分数:2.00)A.函数既可以直接调用自己,也可以间接调用自己B.任何情况下都不能用函数名作为实参C.函数的递归调用不需要额外开销,所以效率很高D.简单递归不需要明确的结束递归的条件18.以下关于 return语句的叙述中正确的是(分数:2.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句C.定义成 void类型的函数中可以有带返回值的 return语句D.没有 return语句的自定义函数在执行结束时不能返回到调用处19.已定义以下函数 int fun(int*p)return*p;f
10、un 函数返回值是(分数:2.00)A.不确定的值B.一个整数C.形参 p中存放的值D.形参 p的地址值20.以下叙述中错误的是(分数:2.00)A.用户定义的函数中可以没有 return语句B.用户定义的函数中若没有 return语句,则应当定义函数为 void类型C.用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值D.函数的 return语句中可以没有表达式21.以下叙述中错误的是(分数:2.00)A.函数调用可以作为一个独立的语句存在B.函数形参的值也可以传回给对应的实参C.若函数有返回值,必须通过 return语句返回D.C程序必须由一个或一个以上的函数组成
11、22.在函数调用过程中,如果函数如 funA调用函数 funB,函数 funB又调用了函数如 funA,则(分数:2.00)A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言中不允许这样的递归调用23.程序中对 fun函数有如下说明 void fun();此说明的含义是(分数:2.00)A.fun函数无返回值B.fun函数的返回值可以是任意的数据类型C.fun函数的返回值是无值型的指针类型D.指针 fun指向一个函数,该函数无返回值24.程序中若有如下说明和定义语句 char fun(char*);main()char*s=“one“,a5=0,(*f1)()
12、=fun,ch; 以下选项中对函数 fun的正确调用语句是(分数:2.00)A.(*f1)(a);B.*f1(*s);C.fun(a);D.ch=*fl(s);25.以下程序的主函数中调用了其前面定义的 fun函数#includestdiohmain()double a15,k; k=fun(a); 则以下选项中错误的 fun函数首部是(分数:2.00)A.double fun(double a15)B.double fun(double *a)C.double fun(double a)D.double fun(double a)26.有以下程序 int add(int a,int b) m
13、ain()return(a+b); int k,(*f)(),a=5,b=10; f=add; 则以下函数调用语句错误的是(分数:2.00)A.k=add(a,b);B.k=(*f)(a,b);C.k=*f(a,b);D.k=f(a,b);27.以下叙述中正确的是(分数:2.00)A.函数调用时,不必区分函数名称的大小写B.调用函数时,函数名必须与被调用的函数名完全一致C.函数名允许用数字开头D.在函数体中只能出现一次 return语句28.若有以下函数首部 int fun(double x10,int,*n)则下面针对此函数的函数声明语句中正确的是(分数:2.00)A.int fun(dou
14、ble,int);B.int fun(double*x,int n);C.int fun(double*,int*);D.int fun(double x,int*n);29.以下选项中叙述错误的是(分数:2.00)A.在 C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内B.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值C.C程序函数中定义的自动变量,系统不自动赋确定的初值D.C程序函数的形参不可以说明为 static型变量国家二级 C语言机试(函数和数组)模拟试卷 7答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58
15、.00)1.有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数) #includestdioh #includestringh main() char a10=“abc“,b10=“012“,c10=“xyz“; strcpy(a+1,b+2);puts(strcat(a,c+1);程序运行后的输出结果是(分数:2.00)A.bc2yzB.a2yz C.a12xyzD.12yz解析:解析:程序执行“strcpy(a+1,b+2)”后,字符数组 a的值为“a2”,再进行字符串的连接“strcat(a,c+1)”,此时字符数组 a的值为“a2vz”。2.若各选项中所用变量己
16、正确定义,函数 fun中通过 return语句返回一个函数值,以下选项中错误的程序是(分数:2.00)A.main()x=fun(2,10);float fun(int a,int b) B.float fun(int a,int b)main()x=fun(i,j);C.float fun(int,int);main()x=fun(2,10);float fun(int a,int b)D.main()float fun(int i,int j);x=fun(i,j);float fun(int a,int b)解析:解析:C 语言规定,函数必须先定义,后调用(函数的返回值类型为 int或
17、char时除外)。在选项 A)中,调用的子函数在调用后面定义,所以不正确。在选项 B)、C)中,被调用函数在主函数之前定义,再在主函数中调用,所以是正确的;在选项 D)中,在主函数中先对子函数 float fun(int i,int i)进行了声明,然后进行调用。3.以下叙述中正确的是(分数:2.00)A.用户自己定义的函数只能调用库函数B.不同函数的形式参数不能使用相同名称的标识符C.在 C语言的函数内部,可以定义局部嵌套函数D.实用的 C语言源程序总是由一个或多个函数组成 解析:解析:一个 c语言源程序可以由一个或多个源文件组成,每个源文件可由一个或多个函数组成,这些函数可以是自定义函数,
18、也可以是库函数,各个函数之间没有主从关系,不能嵌套定义函数。4.若有定义语句: char s10=“123456700“;则 strlen(s)的值是(分数:2.00)A.8B.7 C.9D.10解析:解析:字符串长度函数 strlen(s)表示计算出以 s为起始地址的字符串的长度,并作为函数值返回。这个长度值不包括串尾的结束标志0。5.有以下程序#includestringhmain() char p20=a,b,c,d),q=“abc“,r=“abcde“; strcat(p,r);strcpy(p+strlen(q),q);printf(“dn“,strlen(p);程序运行后的输出结果
19、是(分数:2.00)A.9B.11C.6 D.7解析:解析:字符串连接函数 strcat(p,r)的功能是把字符数组 p和 r连接起来,此时字符数组 p的有效字符长度为 9,再执行 strcpy(p+strlen(q),q)字符串复制函数,把字符数组 q复制到字符数组p从 p3歼始到 p5数组位置中,由于字符数组 q中的内容为字符串“abc”复制时把字符串结束标志null也复制到字符数组 p中,这时字符函数 strlen(p)返回字符数组 p的有效字符长度为 6。6.若有定义语句: char*s1=“OK“,*s2=“ok“;以下选项中,能够输出“OK“的语句是(分数:2.00)A.if(st
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 函数 数组 模拟 试卷 答案 解析 DOC
