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