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