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