[计算机类试卷]国家二级C语言机试(函数和数组)模拟试卷21及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(函数和数组)模拟试卷21及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(函数和数组)模拟试卷21及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数和数组)模拟试卷 21及答案与解析 一、选择题 1 有以下程序 void fun2(char a, char b) main() printf(“ c c“, a, b); fun1(); char a=A, b=B; printf(“ c c“, a, b); void fun1() fun2(E, F); a=C; b=D; 程序的运行结果是 ( A) A B E F ( B) C D E F ( C) A B C D ( D) C D A B 2 有以下程序 #include main()int k=4, m=1, p; fun(int a, int b)int
2、 static m=0, i=2; p=fun(k, m); i=i+m+1; printf(“ d, “, p); m=i+a+b; p=fun(k, m); return m; printf(“ d n“, p); 程序运行后的输出结果是 ( A) 8, 17 ( B) 7, 16 ( C) 8, 8 ( D) 7, 17 3 有以下程序 #include func(int n) void main() static int num=1; func(3); func(4); printf(“ n“); num=num+n; printf(“ d“, num); 程序运行后的输出是 ( A)
3、 4 5 ( B) 3 5 ( C) 4 8 ( D) 3 4 4 有以下程序 fun(int x, int y) main() static int m=0, i=2; int j=l, m=1, k; i+=m+1; m=i+x+y; return m; k=fun(j, m); printf(“ d, “, k); k=fun(j, m); printf(“ d n“, k); 执行后的输出结果是 ( A) 5, 5 ( B) 5, 11 ( C) 11, 11 ( D) 11, 5 5 在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( A) extern和 regist
4、er ( B) auto和 static ( C) static和 register ( D) auto和 register 6 有以下程序 #include main()int i, s=1: int fun()static int x=1; for(i=1; i int f(int n); main()int a=3, s; int f(int n)static int a=1; s=f(a); n+=a+; s=s+16(a); return n; printf(“ d n“, s); 程序运行后的输出结果是 ( A) 9 ( B) 8 ( C) 7 ( D) 10 8 有以下程序 #i
5、nclude int fun()static int x=1; main()int i, s=1; x+=1; for(i=1; i main() int fun() int i, s=1; static int x=1; for(i=1; i void main() int a=2, 3, 5, 4, i; for(i=0; i main() void fun(int a, int b) int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0), i; int t; for(i=0; ibj: bi main() int s12=l, 2, 3, 4, 4, 3, 2, 1
6、, 1, 1, 2, 3, C5=0, i; for(i=0; i *fun函数的功能是将 a所指数组元素从大到小排序 * void fun(int*a, int n) main() int t, i, j; int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0), j; for(i=0; in-1 j+) fun(c+4, 6); for(j=i+1; jn; j+) for(i=0; i10; i+)printf(“ d, “, ci); if(ailaj)t=ai; ai=aj; aj=t; printf(“ n“); 程序的运行结果是 ( A) 1, 2, 3, 4
7、, 9, 8, 7, 6, 5, 0, ( B) 0, 9, 8, 7, 6, 5, 1, 2, 3, 4, ( C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( D) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 国家二级 C语言机试(函数和数组)模拟试卷 21答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 在 fun1()函数之前定义了全局字符变量 a和 b。这两个变量的作用域是从其定义处到整个程序结束。在 fun1()函数之内定义了两个变 量 a和 b,并且分别初始化为字符 C和 D。在 C语言中,若全局变量和某个函数中的局部变量同名,则在该
8、函数中此全局变量被屏蔽,在该函数内访问的是局部变量,与同名的全局变量不发生任何关系。所以在主函数中,执行 fun1()后,变量 a、 b的值分别等于 C、 D,打印输出 CD,接着执行 fun2(E, F)语句,变量 a、 b的值变为E、 F并输出。 【知识模块】 函数和数组 2 【正确答案】 A 【试题解析】 本题考查了静态变量以及局部变量的同名问题。主函数中调用 fun函数两次,第一次调 用 fun(4, 1),形参 a和 b接收以后, i值为 3, m的值为 8,调用结束返回 8存放到 p中并且输出 p的值为 8,除了静态变量 m和 i,变量 a,b撤销。第二次调用 fun(4, 1),
9、接收实参值以后, i为 3+8+1,而 m为 12+4+1,即输出函数值 17。 【知识模块】 函数和数组 3 【正确答案】 C 【试题解析】 在函数 func(int n)中定义了局部静态变量 num,其初始值等于 l,所以在主函数中执行 func(3),输出 4,此时静态变量 num的值等于 4,当退出函数 func(3)时,其值不会丢失,所以当 在执行 func(4)时,输出 8。 【知识模块】 函数和数组 4 【正确答案】 B 【试题解析】 子函数 fun(int x, int y),将变量 m和 i声明为局部静态变量,因此第 1次调用主函数后,局部静态变量 m和 i的值为 5和 3,
10、第 1次函数调用结束时,它们的值不释放保持不变,所以第 2次调用时,局部静态变量 m和 i的初始值分别为 5和 3,即在执行 “i+=m+1”时, i的值为 9,因此最终 m的值为 11。 【知识模块】 函数和数组 5 【正确答案】 D 【试题解析】 在 C语言中,动态变量 (auto)存储在内存中的动态存储区,在程序运行中,只有当调用变量所在的函数时,系统才临时给变量分配内存单元;全局变量 (extern)一经定义,系统为其分配固定的内存单元;静态变量 (static),编译系统为其分配固定的存储空间;寄存器变量 (register)不保存在内存上,而是直接存储在 CPU的寄存器中。 【知识
11、模块】 函数和数组 6 【正确答案】 D 【试题解析】 本题考查了静态局部变量,该局部变量的值在函数调用结束后如果不消失而保留原值。函数 fun的功能返回 2的乘方,主函数 fun函数调用 3次 ,因此第一次 s累乘 2,第二次累乘 4,第三次累乘 8,即为 2*4*8,值为 64。 【知识模块】 函数和数组 7 【正确答案】 A 【试题解析】 在主函数中第一次调用 f(a)时,得到变量 s的值等于 4,在第二次调用 f(a)时,在子函数 f中由于变量 a是一个局部静态变量,所以这次其值等于2,因而在主函数中第二次调用 f(a)后,其返回值等于 5,最后变量 s的值等于 9。 【知识模块】 函
12、数和数组 8 【正确答案】 B 【试题解析】 这道试题主要考查了局部静态变量的应用。在函数 fun()中定义了局部静态变量整型 x,其初值等于 1,在主函数中循环执行 5次,第一次变量 s的值等于 3,变量 x的值等于 2,第二次变量 s的值等于 6,变量 x的值等于 3,第三次变量 s的值等于 10,变量 x的值等于 4,第四次变量 s的值等于 15,变量 x的值等于 5,第五次变量 s的值等于 21,变量 x的值等于 6。 【知识模块】 函数和数组 9 【正确答案】 C 【试题解析】 在函数 int fun(int x, int n)的定义中,变量 sum使用了 static修饰符,这说明
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 21 答案 解析 DOC
