[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷14及答案与解析.doc
《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷14及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷14及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(函数和数组)机试模拟试卷 14及答案与解析 一、选择题 1 有以下程序( strcpy为字符串复制函数, strcat为字符串连接函数 ) #include stdio.h #include string.h 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语句返回一个函数值,以下选项中错误的
2、程序是 ( 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,in t b) ( D) main() float fun(int i,int j); x=fun(i,j); float fun(int a,int b) 3 以下叙述中正确的是 ( A)用户自己定义的函数只能调用库函数 ( B)不同函数的形式参数不能使用相同名称的标识符 (
3、 C)在 C语言的函数内部,可以定义局部嵌套函数 ( D)实用的 C语言源程序总是由一个或多个函数组成 4 若有定义语句: char s10=“123456700“; 则 strlen(s)的值是 ( A) 8 ( B) 7 ( C) 9 ( D) 10 5 有以下程序 # include string.h main( ) char p20=a,b,c,d,q =“abc“, r =“abcde“; strcat(p, r); strcpy(p+strlen(q), q); printf(“%dn“, strlen(p); 程序运行后的输出结果是 ( A) 9 ( B) 11 ( C) 6 (
4、 D) 7 6 若有定义语句: 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 stdio.h #include ctype.h void fun(cha
5、r *p) int i=0; while (pi) if(pi= i+; main() char sl100=“ab cd EFG !“; fun (s1); printf(“%sn“,s1); 程序运行后的输出结果是 ( A) Ab Cd EFg ! ( B) ab cd EFG ! ( C) ab cd EFg ! ( D) aB cD EFG ! 8 若有以下定义和语句 char s110=“abcd!“,*s2=“n123“; printf(“%d %dn“,strlen(s1),strlen(s2); 则输出结果是 ( A) 10 5 ( B) 10 7 ( C) 5 5 ( D)
6、5 8 9 有以下程序 #include stdio.h int fun(int a,int b) if(b=0) return a; else return(fun(-a,-b); main() printf(“%dn“, fun(4,2); 程序的运行结果是 ( 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
7、; 11 以下叙述中正确的是 ( A)函数名代表该函数的入口地址 ( B)所有函数均不能接受函数名作为实参传入 ( C)函数 体中的语句不能出现对自己的调用 ( D)如果函数带有参数,就不能调用自己 12 以下叙述中正确的是 ( A)函数既可以直接调用自己,也可以间接调用自己 ( B)任何情况下都不能用函数名作为实参 ( C)函数的递归调用不需要额外开销,所以效率很高 ( D)简单递归不需要明确的结束递归的条件 13 以下关于 return语句的叙述中正确的是 ( A)一个自定义函数中必须有一条 return语句 ( B)一个自定义函数中可以根据不同情况设置多条 return语句 ( C)定义
8、成 void类型的函数中可以有带返回值 的 return语句 ( D)没有 return语句的自定义函数在执行结束时不能返回到调用处 14 已定义以下函数 int fun( int *p) return *p; fun函数返回值是 ( A)不确定的值 ( B)一个整数 ( C)形参 p中存放的值 ( D)形参 p的地址值 15 以下叙述中错误的是 ( A)用户定义的函数中可以没有 return语句 ( B)用户定义的函数中若没有 return语句,则应当定义函数为 void类型 ( C)用户定义的函数中可以有多个 return语句,以便可以调用一 次返回多个函数值 ( D)函数的 return
9、语句中可以没有表达式 16 以下叙述中错误的是 ( A)函数调用可以作为一个独立的语句存在 ( B)函数形参的值也可以传回给对应的实参 ( C)若函数有返回值,必须通过 return语句返回 ( D) C程序必须由一个或一个以上的函数组成 17 有以下程序 int add (int a,int b) return (a+b); main( ) int k,(*f)( ),a=5,b=10; f=add; 则以下函数调用语句错误的是 ( A) k=add(a,b); ( B) k=(*f)(a,b); ( C) k= *f(a,b); ( D) k=f(a,b); 18 以下叙述中正确的是 (
10、A)函数调用时,不必区分函数名称的大小写 ( B)调用函数时,函数名必须与被调用的函数名完全一致 ( C)函数名允许用数字开头 ( D)在函数体中只能出现一次 return语句 19 若有以下函数首部 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 x, int *n); 20 以下选项中叙述错误的是 ( A)在 C程序的同
11、一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 ( B) C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值 ( C) C程序函数中定义的自动变量,系统不自动赋确定的初值 ( D) C程序函数的形参不可以说明为 static型变量 21 有以下程 序 int f(int x); main() int n=1,m; m=f(f(f(n); printf(“%dn“,m); int f(int x) return x*2; 程序运行后的输出结果是 ( A) 1 ( B) 2 ( C) 4 ( D) 8 22 有以下程序 #include stdio.h int fun(
12、int x,int y) if(x=y)return(x); else return(x+y)/2); main() int a=4,b=5,c=6; printf(“%dn“,fun(2*a,fun(b,c); 程序运行后的输出结果是 ( A) 3 ( B) 6 ( C) 8 ( D) 12 23 有以下程序 #include stdio.h int f(int x,int y) return (y-x)*x); main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(“%dn“,d); 程序运行后的输出结果是 ( A) 10 ( B) 8 (
13、 C) 9 ( D) 7 24 有以下程序 #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(“%5.0fn“,a); double f(double x) return x*x+1; 程序运行后的输出结果是 ( A) 401 ( B) 500 ( C) 503 ( D) 1404 25 若函数调用时的实参为变量时,以下关于 函数形参和实参的叙述中正确的是 ( A)形参只是形式上的存在,不占用具体存储单元 ( B)函数的形参和实参分别
14、占用不同的存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的实参和其对应的形参共占同一存储单元 26 有以下程序 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(“%d,%d,%dn“,c,b,a); 程序运 行后的输出结果是 ( A) 10,20,30 ( B) 20,30,10 ( C) 30,20,10 ( D) 0,0,0 27 有以下程序 #include stdio.h int f(int x); main() int
15、 a,b=0; for(a=0;a 3;a+) b=b+f(a);putchar(A+b); int f(int x) return x*x+1; ( A) BCD ( B) BDI ( C) ABE ( D) BCF 28 若有以下程序 void f(int x) if (x = 10) printf(“%d-“, x%10); f(x/10); else printf(“%d“, x); main() int z = 123456; f(z); 则程序的输出结果是 ( 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-
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 14 答案 解析 DOC
